diff options
Diffstat (limited to 'arch/arm/lib')
-rw-r--r-- | arch/arm/lib/ashldi3.c | 16 | ||||
-rw-r--r-- | arch/arm/lib/ashrdi3.c | 14 | ||||
-rw-r--r-- | arch/arm/lib/gcclib.h | 17 | ||||
-rw-r--r-- | arch/arm/lib/longlong.h | 66 | ||||
-rw-r--r-- | arch/arm/lib/lshrdi3.c | 16 | ||||
-rw-r--r-- | arch/arm/lib/muldi3.c | 18 | ||||
-rw-r--r-- | arch/arm/lib/ucmpdi2.c | 12 | ||||
-rw-r--r-- | arch/arm/lib/udivdi3.c | 26 |
8 files changed, 90 insertions, 95 deletions
diff --git a/arch/arm/lib/ashldi3.c b/arch/arm/lib/ashldi3.c index 130f5a839669..02d2b628ebc1 100644 --- a/arch/arm/lib/ashldi3.c +++ b/arch/arm/lib/ashldi3.c | |||
@@ -31,11 +31,11 @@ Boston, MA 02111-1307, USA. */ | |||
31 | 31 | ||
32 | #include "gcclib.h" | 32 | #include "gcclib.h" |
33 | 33 | ||
34 | DItype | 34 | s64 |
35 | __ashldi3 (DItype u, word_type b) | 35 | __ashldi3 (s64 u, int b) |
36 | { | 36 | { |
37 | DIunion w; | 37 | DIunion w; |
38 | word_type bm; | 38 | int bm; |
39 | DIunion uu; | 39 | DIunion uu; |
40 | 40 | ||
41 | if (b == 0) | 41 | if (b == 0) |
@@ -43,17 +43,17 @@ __ashldi3 (DItype u, word_type b) | |||
43 | 43 | ||
44 | uu.ll = u; | 44 | uu.ll = u; |
45 | 45 | ||
46 | bm = (sizeof (SItype) * BITS_PER_UNIT) - b; | 46 | bm = (sizeof (s32) * BITS_PER_UNIT) - b; |
47 | if (bm <= 0) | 47 | if (bm <= 0) |
48 | { | 48 | { |
49 | w.s.low = 0; | 49 | w.s.low = 0; |
50 | w.s.high = (USItype)uu.s.low << -bm; | 50 | w.s.high = (u32)uu.s.low << -bm; |
51 | } | 51 | } |
52 | else | 52 | else |
53 | { | 53 | { |
54 | USItype carries = (USItype)uu.s.low >> bm; | 54 | u32 carries = (u32)uu.s.low >> bm; |
55 | w.s.low = (USItype)uu.s.low << b; | 55 | w.s.low = (u32)uu.s.low << b; |
56 | w.s.high = ((USItype)uu.s.high << b) | carries; | 56 | w.s.high = ((u32)uu.s.high << b) | carries; |
57 | } | 57 | } |
58 | 58 | ||
59 | return w.ll; | 59 | return w.ll; |
diff --git a/arch/arm/lib/ashrdi3.c b/arch/arm/lib/ashrdi3.c index 71625d218f8d..89f6fb7ed8fb 100644 --- a/arch/arm/lib/ashrdi3.c +++ b/arch/arm/lib/ashrdi3.c | |||
@@ -31,11 +31,11 @@ Boston, MA 02111-1307, USA. */ | |||
31 | 31 | ||
32 | #include "gcclib.h" | 32 | #include "gcclib.h" |
33 | 33 | ||
34 | DItype | 34 | s64 |
35 | __ashrdi3 (DItype u, word_type b) | 35 | __ashrdi3 (s64 u, int b) |
36 | { | 36 | { |
37 | DIunion w; | 37 | DIunion w; |
38 | word_type bm; | 38 | int bm; |
39 | DIunion uu; | 39 | DIunion uu; |
40 | 40 | ||
41 | if (b == 0) | 41 | if (b == 0) |
@@ -43,18 +43,18 @@ __ashrdi3 (DItype u, word_type b) | |||
43 | 43 | ||
44 | uu.ll = u; | 44 | uu.ll = u; |
45 | 45 | ||
46 | bm = (sizeof (SItype) * BITS_PER_UNIT) - b; | 46 | bm = (sizeof (s32) * BITS_PER_UNIT) - b; |
47 | if (bm <= 0) | 47 | if (bm <= 0) |
48 | { | 48 | { |
49 | /* w.s.high = 1..1 or 0..0 */ | 49 | /* w.s.high = 1..1 or 0..0 */ |
50 | w.s.high = uu.s.high >> (sizeof (SItype) * BITS_PER_UNIT - 1); | 50 | w.s.high = uu.s.high >> (sizeof (s32) * BITS_PER_UNIT - 1); |
51 | w.s.low = uu.s.high >> -bm; | 51 | w.s.low = uu.s.high >> -bm; |
52 | } | 52 | } |
53 | else | 53 | else |
54 | { | 54 | { |
55 | USItype carries = (USItype)uu.s.high << bm; | 55 | u32 carries = (u32)uu.s.high << bm; |
56 | w.s.high = uu.s.high >> b; | 56 | w.s.high = uu.s.high >> b; |
57 | w.s.low = ((USItype)uu.s.low >> b) | carries; | 57 | w.s.low = ((u32)uu.s.low >> b) | carries; |
58 | } | 58 | } |
59 | 59 | ||
60 | return w.ll; | 60 | return w.ll; |
diff --git a/arch/arm/lib/gcclib.h b/arch/arm/lib/gcclib.h index 65314a3d9e27..283f5294cc3e 100644 --- a/arch/arm/lib/gcclib.h +++ b/arch/arm/lib/gcclib.h | |||
@@ -1,25 +1,20 @@ | |||
1 | /* gcclib.h -- definitions for various functions 'borrowed' from gcc-2.95.3 */ | 1 | /* gcclib.h -- definitions for various functions 'borrowed' from gcc-2.95.3 */ |
2 | /* I Molton 29/07/01 */ | 2 | /* I Molton 29/07/01 */ |
3 | 3 | ||
4 | #define BITS_PER_UNIT 8 | 4 | #include <linux/types.h> |
5 | #define SI_TYPE_SIZE (sizeof (SItype) * BITS_PER_UNIT) | ||
6 | 5 | ||
7 | typedef unsigned int UQItype __attribute__ ((mode (QI))); | 6 | #define BITS_PER_UNIT 8 |
8 | typedef int SItype __attribute__ ((mode (SI))); | 7 | #define SI_TYPE_SIZE (sizeof(s32) * BITS_PER_UNIT) |
9 | typedef unsigned int USItype __attribute__ ((mode (SI))); | ||
10 | typedef int DItype __attribute__ ((mode (DI))); | ||
11 | typedef int word_type __attribute__ ((mode (__word__))); | ||
12 | typedef unsigned int UDItype __attribute__ ((mode (DI))); | ||
13 | 8 | ||
14 | #ifdef __ARMEB__ | 9 | #ifdef __ARMEB__ |
15 | struct DIstruct {SItype high, low;}; | 10 | struct DIstruct {s32 high, low;}; |
16 | #else | 11 | #else |
17 | struct DIstruct {SItype low, high;}; | 12 | struct DIstruct {s32 low, high;}; |
18 | #endif | 13 | #endif |
19 | 14 | ||
20 | typedef union | 15 | typedef union |
21 | { | 16 | { |
22 | struct DIstruct s; | 17 | struct DIstruct s; |
23 | DItype ll; | 18 | s64 ll; |
24 | } DIunion; | 19 | } DIunion; |
25 | 20 | ||
diff --git a/arch/arm/lib/longlong.h b/arch/arm/lib/longlong.h index 179eea4edc35..3ef76957481e 100644 --- a/arch/arm/lib/longlong.h +++ b/arch/arm/lib/longlong.h | |||
@@ -26,18 +26,18 @@ | |||
26 | 26 | ||
27 | #define __BITS4 (SI_TYPE_SIZE / 4) | 27 | #define __BITS4 (SI_TYPE_SIZE / 4) |
28 | #define __ll_B (1L << (SI_TYPE_SIZE / 2)) | 28 | #define __ll_B (1L << (SI_TYPE_SIZE / 2)) |
29 | #define __ll_lowpart(t) ((USItype) (t) % __ll_B) | 29 | #define __ll_lowpart(t) ((u32) (t) % __ll_B) |
30 | #define __ll_highpart(t) ((USItype) (t) / __ll_B) | 30 | #define __ll_highpart(t) ((u32) (t) / __ll_B) |
31 | 31 | ||
32 | /* Define auxiliary asm macros. | 32 | /* Define auxiliary asm macros. |
33 | 33 | ||
34 | 1) umul_ppmm(high_prod, low_prod, multipler, multiplicand) | 34 | 1) umul_ppmm(high_prod, low_prod, multipler, multiplicand) |
35 | multiplies two USItype integers MULTIPLER and MULTIPLICAND, | 35 | multiplies two u32 integers MULTIPLER and MULTIPLICAND, |
36 | and generates a two-part USItype product in HIGH_PROD and | 36 | and generates a two-part u32 product in HIGH_PROD and |
37 | LOW_PROD. | 37 | LOW_PROD. |
38 | 38 | ||
39 | 2) __umulsidi3(a,b) multiplies two USItype integers A and B, | 39 | 2) __umulsidi3(a,b) multiplies two u32 integers A and B, |
40 | and returns a UDItype product. This is just a variant of umul_ppmm. | 40 | and returns a u64 product. This is just a variant of umul_ppmm. |
41 | 41 | ||
42 | 3) udiv_qrnnd(quotient, remainder, high_numerator, low_numerator, | 42 | 3) udiv_qrnnd(quotient, remainder, high_numerator, low_numerator, |
43 | denominator) divides a two-word unsigned integer, composed by the | 43 | denominator) divides a two-word unsigned integer, composed by the |
@@ -77,23 +77,23 @@ | |||
77 | #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ | 77 | #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ |
78 | __asm__ ("adds %1, %4, %5 \n\ | 78 | __asm__ ("adds %1, %4, %5 \n\ |
79 | adc %0, %2, %3" \ | 79 | adc %0, %2, %3" \ |
80 | : "=r" ((USItype) (sh)), \ | 80 | : "=r" ((u32) (sh)), \ |
81 | "=&r" ((USItype) (sl)) \ | 81 | "=&r" ((u32) (sl)) \ |
82 | : "%r" ((USItype) (ah)), \ | 82 | : "%r" ((u32) (ah)), \ |
83 | "rI" ((USItype) (bh)), \ | 83 | "rI" ((u32) (bh)), \ |
84 | "%r" ((USItype) (al)), \ | 84 | "%r" ((u32) (al)), \ |
85 | "rI" ((USItype) (bl))) | 85 | "rI" ((u32) (bl))) |
86 | #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ | 86 | #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ |
87 | __asm__ ("subs %1, %4, %5 \n\ | 87 | __asm__ ("subs %1, %4, %5 \n\ |
88 | sbc %0, %2, %3" \ | 88 | sbc %0, %2, %3" \ |
89 | : "=r" ((USItype) (sh)), \ | 89 | : "=r" ((u32) (sh)), \ |
90 | "=&r" ((USItype) (sl)) \ | 90 | "=&r" ((u32) (sl)) \ |
91 | : "r" ((USItype) (ah)), \ | 91 | : "r" ((u32) (ah)), \ |
92 | "rI" ((USItype) (bh)), \ | 92 | "rI" ((u32) (bh)), \ |
93 | "r" ((USItype) (al)), \ | 93 | "r" ((u32) (al)), \ |
94 | "rI" ((USItype) (bl))) | 94 | "rI" ((u32) (bl))) |
95 | #define umul_ppmm(xh, xl, a, b) \ | 95 | #define umul_ppmm(xh, xl, a, b) \ |
96 | {register USItype __t0, __t1, __t2; \ | 96 | {register u32 __t0, __t1, __t2; \ |
97 | __asm__ ("%@ Inlined umul_ppmm \n\ | 97 | __asm__ ("%@ Inlined umul_ppmm \n\ |
98 | mov %2, %5, lsr #16 \n\ | 98 | mov %2, %5, lsr #16 \n\ |
99 | mov %0, %6, lsr #16 \n\ | 99 | mov %0, %6, lsr #16 \n\ |
@@ -107,11 +107,11 @@ | |||
107 | addcs %0, %0, #65536 \n\ | 107 | addcs %0, %0, #65536 \n\ |
108 | adds %1, %1, %3, lsl #16 \n\ | 108 | adds %1, %1, %3, lsl #16 \n\ |
109 | adc %0, %0, %3, lsr #16" \ | 109 | adc %0, %0, %3, lsr #16" \ |
110 | : "=&r" ((USItype) (xh)), \ | 110 | : "=&r" ((u32) (xh)), \ |
111 | "=r" ((USItype) (xl)), \ | 111 | "=r" ((u32) (xl)), \ |
112 | "=&r" (__t0), "=&r" (__t1), "=r" (__t2) \ | 112 | "=&r" (__t0), "=&r" (__t1), "=r" (__t2) \ |
113 | : "r" ((USItype) (a)), \ | 113 | : "r" ((u32) (a)), \ |
114 | "r" ((USItype) (b)));} | 114 | "r" ((u32) (b)));} |
115 | #define UMUL_TIME 20 | 115 | #define UMUL_TIME 20 |
116 | #define UDIV_TIME 100 | 116 | #define UDIV_TIME 100 |
117 | #endif /* __arm__ */ | 117 | #endif /* __arm__ */ |
@@ -123,14 +123,14 @@ | |||
123 | 123 | ||
124 | #define __udiv_qrnnd_c(q, r, n1, n0, d) \ | 124 | #define __udiv_qrnnd_c(q, r, n1, n0, d) \ |
125 | do { \ | 125 | do { \ |
126 | USItype __d1, __d0, __q1, __q0; \ | 126 | u32 __d1, __d0, __q1, __q0; \ |
127 | USItype __r1, __r0, __m; \ | 127 | u32 __r1, __r0, __m; \ |
128 | __d1 = __ll_highpart (d); \ | 128 | __d1 = __ll_highpart (d); \ |
129 | __d0 = __ll_lowpart (d); \ | 129 | __d0 = __ll_lowpart (d); \ |
130 | \ | 130 | \ |
131 | __r1 = (n1) % __d1; \ | 131 | __r1 = (n1) % __d1; \ |
132 | __q1 = (n1) / __d1; \ | 132 | __q1 = (n1) / __d1; \ |
133 | __m = (USItype) __q1 * __d0; \ | 133 | __m = (u32) __q1 * __d0; \ |
134 | __r1 = __r1 * __ll_B | __ll_highpart (n0); \ | 134 | __r1 = __r1 * __ll_B | __ll_highpart (n0); \ |
135 | if (__r1 < __m) \ | 135 | if (__r1 < __m) \ |
136 | { \ | 136 | { \ |
@@ -143,7 +143,7 @@ | |||
143 | \ | 143 | \ |
144 | __r0 = __r1 % __d1; \ | 144 | __r0 = __r1 % __d1; \ |
145 | __q0 = __r1 / __d1; \ | 145 | __q0 = __r1 / __d1; \ |
146 | __m = (USItype) __q0 * __d0; \ | 146 | __m = (u32) __q0 * __d0; \ |
147 | __r0 = __r0 * __ll_B | __ll_lowpart (n0); \ | 147 | __r0 = __r0 * __ll_B | __ll_lowpart (n0); \ |
148 | if (__r0 < __m) \ | 148 | if (__r0 < __m) \ |
149 | { \ | 149 | { \ |
@@ -154,7 +154,7 @@ | |||
154 | } \ | 154 | } \ |
155 | __r0 -= __m; \ | 155 | __r0 -= __m; \ |
156 | \ | 156 | \ |
157 | (q) = (USItype) __q1 * __ll_B | __q0; \ | 157 | (q) = (u32) __q1 * __ll_B | __q0; \ |
158 | (r) = __r0; \ | 158 | (r) = __r0; \ |
159 | } while (0) | 159 | } while (0) |
160 | 160 | ||
@@ -163,14 +163,14 @@ | |||
163 | 163 | ||
164 | #define count_leading_zeros(count, x) \ | 164 | #define count_leading_zeros(count, x) \ |
165 | do { \ | 165 | do { \ |
166 | USItype __xr = (x); \ | 166 | u32 __xr = (x); \ |
167 | USItype __a; \ | 167 | u32 __a; \ |
168 | \ | 168 | \ |
169 | if (SI_TYPE_SIZE <= 32) \ | 169 | if (SI_TYPE_SIZE <= 32) \ |
170 | { \ | 170 | { \ |
171 | __a = __xr < ((USItype)1<<2*__BITS4) \ | 171 | __a = __xr < ((u32)1<<2*__BITS4) \ |
172 | ? (__xr < ((USItype)1<<__BITS4) ? 0 : __BITS4) \ | 172 | ? (__xr < ((u32)1<<__BITS4) ? 0 : __BITS4) \ |
173 | : (__xr < ((USItype)1<<3*__BITS4) ? 2*__BITS4 : 3*__BITS4); \ | 173 | : (__xr < ((u32)1<<3*__BITS4) ? 2*__BITS4 : 3*__BITS4); \ |
174 | } \ | 174 | } \ |
175 | else \ | 175 | else \ |
176 | { \ | 176 | { \ |
diff --git a/arch/arm/lib/lshrdi3.c b/arch/arm/lib/lshrdi3.c index b666f1bad451..5c2385acdecc 100644 --- a/arch/arm/lib/lshrdi3.c +++ b/arch/arm/lib/lshrdi3.c | |||
@@ -31,11 +31,11 @@ Boston, MA 02111-1307, USA. */ | |||
31 | 31 | ||
32 | #include "gcclib.h" | 32 | #include "gcclib.h" |
33 | 33 | ||
34 | DItype | 34 | s64 |
35 | __lshrdi3 (DItype u, word_type b) | 35 | __lshrdi3 (s64 u, int b) |
36 | { | 36 | { |
37 | DIunion w; | 37 | DIunion w; |
38 | word_type bm; | 38 | int bm; |
39 | DIunion uu; | 39 | DIunion uu; |
40 | 40 | ||
41 | if (b == 0) | 41 | if (b == 0) |
@@ -43,17 +43,17 @@ __lshrdi3 (DItype u, word_type b) | |||
43 | 43 | ||
44 | uu.ll = u; | 44 | uu.ll = u; |
45 | 45 | ||
46 | bm = (sizeof (SItype) * BITS_PER_UNIT) - b; | 46 | bm = (sizeof (s32) * BITS_PER_UNIT) - b; |
47 | if (bm <= 0) | 47 | if (bm <= 0) |
48 | { | 48 | { |
49 | w.s.high = 0; | 49 | w.s.high = 0; |
50 | w.s.low = (USItype)uu.s.high >> -bm; | 50 | w.s.low = (u32)uu.s.high >> -bm; |
51 | } | 51 | } |
52 | else | 52 | else |
53 | { | 53 | { |
54 | USItype carries = (USItype)uu.s.high << bm; | 54 | u32 carries = (u32)uu.s.high << bm; |
55 | w.s.high = (USItype)uu.s.high >> b; | 55 | w.s.high = (u32)uu.s.high >> b; |
56 | w.s.low = ((USItype)uu.s.low >> b) | carries; | 56 | w.s.low = ((u32)uu.s.low >> b) | carries; |
57 | } | 57 | } |
58 | 58 | ||
59 | return w.ll; | 59 | return w.ll; |
diff --git a/arch/arm/lib/muldi3.c b/arch/arm/lib/muldi3.c index 44d611b1cfdb..5b649fa9e2f7 100644 --- a/arch/arm/lib/muldi3.c +++ b/arch/arm/lib/muldi3.c | |||
@@ -32,7 +32,7 @@ Boston, MA 02111-1307, USA. */ | |||
32 | #include "gcclib.h" | 32 | #include "gcclib.h" |
33 | 33 | ||
34 | #define umul_ppmm(xh, xl, a, b) \ | 34 | #define umul_ppmm(xh, xl, a, b) \ |
35 | {register USItype __t0, __t1, __t2; \ | 35 | {register u32 __t0, __t1, __t2; \ |
36 | __asm__ ("%@ Inlined umul_ppmm \n\ | 36 | __asm__ ("%@ Inlined umul_ppmm \n\ |
37 | mov %2, %5, lsr #16 \n\ | 37 | mov %2, %5, lsr #16 \n\ |
38 | mov %0, %6, lsr #16 \n\ | 38 | mov %0, %6, lsr #16 \n\ |
@@ -46,11 +46,11 @@ Boston, MA 02111-1307, USA. */ | |||
46 | addcs %0, %0, #65536 \n\ | 46 | addcs %0, %0, #65536 \n\ |
47 | adds %1, %1, %3, lsl #16 \n\ | 47 | adds %1, %1, %3, lsl #16 \n\ |
48 | adc %0, %0, %3, lsr #16" \ | 48 | adc %0, %0, %3, lsr #16" \ |
49 | : "=&r" ((USItype) (xh)), \ | 49 | : "=&r" ((u32) (xh)), \ |
50 | "=r" ((USItype) (xl)), \ | 50 | "=r" ((u32) (xl)), \ |
51 | "=&r" (__t0), "=&r" (__t1), "=r" (__t2) \ | 51 | "=&r" (__t0), "=&r" (__t1), "=r" (__t2) \ |
52 | : "r" ((USItype) (a)), \ | 52 | : "r" ((u32) (a)), \ |
53 | "r" ((USItype) (b)));} | 53 | "r" ((u32) (b)));} |
54 | 54 | ||
55 | 55 | ||
56 | #define __umulsidi3(u, v) \ | 56 | #define __umulsidi3(u, v) \ |
@@ -59,8 +59,8 @@ Boston, MA 02111-1307, USA. */ | |||
59 | __w.ll; }) | 59 | __w.ll; }) |
60 | 60 | ||
61 | 61 | ||
62 | DItype | 62 | s64 |
63 | __muldi3 (DItype u, DItype v) | 63 | __muldi3 (s64 u, s64 v) |
64 | { | 64 | { |
65 | DIunion w; | 65 | DIunion w; |
66 | DIunion uu, vv; | 66 | DIunion uu, vv; |
@@ -69,8 +69,8 @@ __muldi3 (DItype u, DItype v) | |||
69 | vv.ll = v; | 69 | vv.ll = v; |
70 | 70 | ||
71 | w.ll = __umulsidi3 (uu.s.low, vv.s.low); | 71 | w.ll = __umulsidi3 (uu.s.low, vv.s.low); |
72 | w.s.high += ((USItype) uu.s.low * (USItype) vv.s.high | 72 | w.s.high += ((u32) uu.s.low * (u32) vv.s.high |
73 | + (USItype) uu.s.high * (USItype) vv.s.low); | 73 | + (u32) uu.s.high * (u32) vv.s.low); |
74 | 74 | ||
75 | return w.ll; | 75 | return w.ll; |
76 | } | 76 | } |
diff --git a/arch/arm/lib/ucmpdi2.c b/arch/arm/lib/ucmpdi2.c index 6c6ae63efa02..3eb438c065b3 100644 --- a/arch/arm/lib/ucmpdi2.c +++ b/arch/arm/lib/ucmpdi2.c | |||
@@ -31,20 +31,20 @@ Boston, MA 02111-1307, USA. */ | |||
31 | 31 | ||
32 | #include "gcclib.h" | 32 | #include "gcclib.h" |
33 | 33 | ||
34 | word_type | 34 | int |
35 | __ucmpdi2 (DItype a, DItype b) | 35 | __ucmpdi2 (s64 a, s64 b) |
36 | { | 36 | { |
37 | DIunion au, bu; | 37 | DIunion au, bu; |
38 | 38 | ||
39 | au.ll = a, bu.ll = b; | 39 | au.ll = a, bu.ll = b; |
40 | 40 | ||
41 | if ((USItype) au.s.high < (USItype) bu.s.high) | 41 | if ((u32) au.s.high < (u32) bu.s.high) |
42 | return 0; | 42 | return 0; |
43 | else if ((USItype) au.s.high > (USItype) bu.s.high) | 43 | else if ((u32) au.s.high > (u32) bu.s.high) |
44 | return 2; | 44 | return 2; |
45 | if ((USItype) au.s.low < (USItype) bu.s.low) | 45 | if ((u32) au.s.low < (u32) bu.s.low) |
46 | return 0; | 46 | return 0; |
47 | else if ((USItype) au.s.low > (USItype) bu.s.low) | 47 | else if ((u32) au.s.low > (u32) bu.s.low) |
48 | return 2; | 48 | return 2; |
49 | return 1; | 49 | return 1; |
50 | } | 50 | } |
diff --git a/arch/arm/lib/udivdi3.c b/arch/arm/lib/udivdi3.c index d25195f673f4..df1d5ef62bc7 100644 --- a/arch/arm/lib/udivdi3.c +++ b/arch/arm/lib/udivdi3.c | |||
@@ -32,7 +32,7 @@ Boston, MA 02111-1307, USA. */ | |||
32 | #include "gcclib.h" | 32 | #include "gcclib.h" |
33 | #include "longlong.h" | 33 | #include "longlong.h" |
34 | 34 | ||
35 | static const UQItype __clz_tab[] = | 35 | static const u8 __clz_tab[] = |
36 | { | 36 | { |
37 | 0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, | 37 | 0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, |
38 | 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, | 38 | 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, |
@@ -44,15 +44,15 @@ static const UQItype __clz_tab[] = | |||
44 | 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, | 44 | 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, |
45 | }; | 45 | }; |
46 | 46 | ||
47 | UDItype | 47 | u64 |
48 | __udivmoddi4 (UDItype n, UDItype d, UDItype *rp) | 48 | __udivmoddi4 (u64 n, u64 d, u64 *rp) |
49 | { | 49 | { |
50 | DIunion ww; | 50 | DIunion ww; |
51 | DIunion nn, dd; | 51 | DIunion nn, dd; |
52 | DIunion rr; | 52 | DIunion rr; |
53 | USItype d0, d1, n0, n1, n2; | 53 | u32 d0, d1, n0, n1, n2; |
54 | USItype q0, q1; | 54 | u32 q0, q1; |
55 | USItype b, bm; | 55 | u32 b, bm; |
56 | 56 | ||
57 | nn.ll = n; | 57 | nn.ll = n; |
58 | dd.ll = d; | 58 | dd.ll = d; |
@@ -185,7 +185,7 @@ __udivmoddi4 (UDItype n, UDItype d, UDItype *rp) | |||
185 | } | 185 | } |
186 | else | 186 | else |
187 | { | 187 | { |
188 | USItype m1, m0; | 188 | u32 m1, m0; |
189 | /* Normalize. */ | 189 | /* Normalize. */ |
190 | 190 | ||
191 | b = SI_TYPE_SIZE - bm; | 191 | b = SI_TYPE_SIZE - bm; |
@@ -224,16 +224,16 @@ __udivmoddi4 (UDItype n, UDItype d, UDItype *rp) | |||
224 | return ww.ll; | 224 | return ww.ll; |
225 | } | 225 | } |
226 | 226 | ||
227 | UDItype | 227 | u64 |
228 | __udivdi3 (UDItype n, UDItype d) | 228 | __udivdi3 (u64 n, u64 d) |
229 | { | 229 | { |
230 | return __udivmoddi4 (n, d, (UDItype *) 0); | 230 | return __udivmoddi4 (n, d, (u64 *) 0); |
231 | } | 231 | } |
232 | 232 | ||
233 | UDItype | 233 | u64 |
234 | __umoddi3 (UDItype u, UDItype v) | 234 | __umoddi3 (u64 u, u64 v) |
235 | { | 235 | { |
236 | UDItype w; | 236 | u64 w; |
237 | 237 | ||
238 | (void) __udivmoddi4 (u ,v, &w); | 238 | (void) __udivmoddi4 (u ,v, &w); |
239 | 239 | ||