2 * linux/arch/m32r/lib/ashxdi3.S
4 * Copyright (C) 2001,2002 Hiroyuki Kondo, and Hirokazu Takata
15 #ifdef CONFIG_ISA_DUAL_ISSUE
17 #ifndef __LITTLE_ENDIAN__
23 cmpz r2 || ldi r3, #32
27 mv r1, r0 || srai r0, #31
33 mv r3, r0 || srl r1, r2
34 sra r0, r2 || neg r2, r2
43 cmpz r2 || ldi r3, #32
47 mv r0, r1 || addi r2, #-32
48 sll r0, r2 || ldi r1, #0
52 mv r3, r1 || sll r0, r2
53 sll r1, r2 || neg r2, r2
60 cmpz r2 || ldi r3, #32
64 mv r1, r0 || addi r2, #-32
65 ldi r0, #0 || srl r1, r2
69 mv r3, r0 || srl r1, r2
70 srl r0, r2 || neg r2, r2
74 #else /* LITTLE_ENDIAN */
80 cmpz r2 || ldi r3, #32
84 mv r0, r1 || srai r1, #31
90 mv r3, r1 || srl r0, r2
91 sra r1, r2 || neg r2, r2
100 cmpz r2 || ldi r3, #32
101 jc r14 || cmpu r2, r3
104 mv r1, r0 || addi r2, #-32
105 sll r1, r2 || ldi r0, #0
109 mv r3, r0 || sll r1, r2
110 sll r0, r2 || neg r2, r2
117 cmpz r2 || ldi r3, #32
118 jc r14 || cmpu r2, r3
121 mv r0, r1 || addi r2, #-32
122 ldi r1, #0 || srl r0, r2
126 mv r3, r1 || srl r0, r2
127 srl r1, r2 || neg r2, r2
133 #else /* not CONFIG_ISA_DUAL_ISSUE */
135 #ifndef __LITTLE_ENDIAN__
291 #endif /* not CONFIG_ISA_DUAL_ISSUE */