2 * linux/arch/m32r/lib/ashxdi3.S
4 * Copyright (C) 2001,2002 Hiroyuki Kondo, and Hirokazu Takata
17 #ifdef CONFIG_ISA_DUAL_ISSUE
19 #ifndef __LITTLE_ENDIAN__
25 cmpz r2 || ldi r3, #32
29 mv r1, r0 || srai r0, #31
35 mv r3, r0 || srl r1, r2
36 sra r0, r2 || neg r2, r2
45 cmpz r2 || ldi r3, #32
49 mv r0, r1 || addi r2, #-32
50 sll r0, r2 || ldi r1, #0
54 mv r3, r1 || sll r0, r2
55 sll r1, r2 || neg r2, r2
62 cmpz r2 || ldi r3, #32
66 mv r1, r0 || addi r2, #-32
67 ldi r0, #0 || srl r1, r2
71 mv r3, r0 || srl r1, r2
72 srl r0, r2 || neg r2, r2
76 #else /* LITTLE_ENDIAN */
82 cmpz r2 || ldi r3, #32
86 mv r0, r1 || srai r1, #31
92 mv r3, r1 || srl r0, r2
93 sra r1, r2 || neg r2, r2
102 cmpz r2 || ldi r3, #32
103 jc r14 || cmpu r2, r3
106 mv r1, r0 || addi r2, #-32
107 sll r1, r2 || ldi r0, #0
111 mv r3, r0 || sll r1, r2
112 sll r0, r2 || neg r2, r2
119 cmpz r2 || ldi r3, #32
120 jc r14 || cmpu r2, r3
123 mv r0, r1 || addi r2, #-32
124 ldi r1, #0 || srl r0, r2
128 mv r3, r1 || srl r0, r2
129 srl r1, r2 || neg r2, r2
135 #else /* not CONFIG_ISA_DUAL_ISSUE */
137 #ifndef __LITTLE_ENDIAN__
293 #endif /* not CONFIG_ISA_DUAL_ISSUE */