diff options
author | Michal Simek <michal.simek@xilinx.com> | 2012-12-13 16:46:31 (GMT) |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2012-12-13 17:15:36 (GMT) |
commit | a671de086874b9d8155369319b2bd989cf55d77c (patch) | |
tree | b75db9044e4037566e4f11aa9e7b781f3ffc4b67 /arch/microblaze/lib/muldi3.c | |
parent | c0d997fb4c4f202c55a4ed8ab9b714a81a16e5ac (diff) | |
download | linux-fsl-qoriq-a671de086874b9d8155369319b2bd989cf55d77c.tar.xz |
microblaze: lib: Remove helper macros
Remove these gcc types and use standard types.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Diffstat (limited to 'arch/microblaze/lib/muldi3.c')
-rw-r--r-- | arch/microblaze/lib/muldi3.c | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/arch/microblaze/lib/muldi3.c b/arch/microblaze/lib/muldi3.c index 0585bcc..d365924 100644 --- a/arch/microblaze/lib/muldi3.c +++ b/arch/microblaze/lib/muldi3.c @@ -2,32 +2,28 @@ #include "libgcc.h" -#define DWtype long long -#define UWtype unsigned long -#define UHWtype unsigned short - #define W_TYPE_SIZE 32 -#define __ll_B ((UWtype) 1 << (W_TYPE_SIZE / 2)) -#define __ll_lowpart(t) ((UWtype) (t) & (__ll_B - 1)) -#define __ll_highpart(t) ((UWtype) (t) >> (W_TYPE_SIZE / 2)) +#define __ll_B ((unsigned long) 1 << (W_TYPE_SIZE / 2)) +#define __ll_lowpart(t) ((unsigned long) (t) & (__ll_B - 1)) +#define __ll_highpart(t) ((unsigned long) (t) >> (W_TYPE_SIZE / 2)) /* If we still don't have umul_ppmm, define it using plain C. */ #if !defined(umul_ppmm) #define umul_ppmm(w1, w0, u, v) \ do { \ - UWtype __x0, __x1, __x2, __x3; \ - UHWtype __ul, __vl, __uh, __vh; \ + unsigned long __x0, __x1, __x2, __x3; \ + unsigned short __ul, __vl, __uh, __vh; \ \ __ul = __ll_lowpart(u); \ __uh = __ll_highpart(u); \ __vl = __ll_lowpart(v); \ __vh = __ll_highpart(v); \ \ - __x0 = (UWtype) __ul * __vl; \ - __x1 = (UWtype) __ul * __vh; \ - __x2 = (UWtype) __uh * __vl; \ - __x3 = (UWtype) __uh * __vh; \ + __x0 = (unsigned long) __ul * __vl; \ + __x1 = (unsigned long) __ul * __vh; \ + __x2 = (unsigned long) __uh * __vl; \ + __x3 = (unsigned long) __uh * __vh; \ \ __x1 += __ll_highpart(__x0); /* this can't give carry */\ __x1 += __x2; /* but this indeed can */ \ @@ -47,14 +43,14 @@ }) #endif -DWtype __muldi3(DWtype u, DWtype v) +long long __muldi3(long long u, long long v) { const DWunion uu = {.ll = u}; const DWunion vv = {.ll = v}; DWunion w = {.ll = __umulsidi3(uu.s.low, vv.s.low)}; - w.s.high += ((UWtype) uu.s.low * (UWtype) vv.s.high - + (UWtype) uu.s.high * (UWtype) vv.s.low); + w.s.high += ((unsigned long) uu.s.low * (unsigned long) vv.s.high + + (unsigned long) uu.s.high * (unsigned long) vv.s.low); return w.ll; } |