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 */