diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 2000-02-06 04:48:20 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 2000-02-06 04:48:20 +0000 |
commit | 75874af96ca806332efbb658d150b4d4050c98f7 (patch) | |
tree | ea733eab595b05259abdeb131bb0c67730254d4e /gcc | |
parent | 5ca1627b6d3e939fafa64ffacb78db70a2a9e82f (diff) | |
download | gcc-75874af96ca806332efbb658d150b4d4050c98f7.zip gcc-75874af96ca806332efbb658d150b4d4050c98f7.tar.gz gcc-75874af96ca806332efbb658d150b4d4050c98f7.tar.bz2 |
* longlong.h [sparc] (udiv_qrnnd): Avoid stringifying macro arg.
From-SVN: r31814
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/longlong.h | 24 |
2 files changed, 16 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3996009..cd8d98a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2000-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + * longlong.h [sparc] (udiv_qrnnd): Avoid stringifying macro arg. + +2000-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + * Makefile.in (c-common.o): Depend on $(EXPR_H). * c-common.c: Include expr.h. diff --git a/gcc/longlong.h b/gcc/longlong.h index f561046..4671750 100644 --- a/gcc/longlong.h +++ b/gcc/longlong.h @@ -1024,13 +1024,13 @@ UDItype __umulsidi3 (USItype, USItype); "=r" ((USItype) (w0)) \ : "r" ((USItype) (u)), \ "r" ((USItype) (v))) -#define udiv_qrnnd(q, r, n1, n0, d) \ +#define udiv_qrnnd(__q, __r, __n1, __n0, __d) \ __asm__ ("mov %2,%%y;nop;nop;nop;udiv %3,%4,%0;umul %0,%4,%1;sub %3,%1,%1"\ - : "=&r" ((USItype) (q)), \ - "=&r" ((USItype) (r)) \ - : "r" ((USItype) (n1)), \ - "r" ((USItype) (n0)), \ - "r" ((USItype) (d))) + : "=&r" ((USItype) (__q)), \ + "=&r" ((USItype) (__r)) \ + : "r" ((USItype) (__n1)), \ + "r" ((USItype) (__n0)), \ + "r" ((USItype) (__d))) #else #if defined (__sparclite__) /* This has hardware multiply but not divide. It also has two additional @@ -1149,7 +1149,7 @@ UDItype __umulsidi3 (USItype, USItype); #define UMUL_TIME 39 /* 39 instructions */ /* It's quite necessary to add this much assembler for the sparc. The default udiv_qrnnd (in C) is more than 10 times slower! */ -#define udiv_qrnnd(q, r, n1, n0, d) \ +#define udiv_qrnnd(__q, __r, __n1, __n0, __d) \ __asm__ ("! Inlined udiv_qrnnd mov 32,%%g1 subcc %1,%2,%%g0 @@ -1174,11 +1174,11 @@ UDItype __umulsidi3 (USItype, USItype); sub %1,%2,%1 3: xnor %0,0,%0 ! End of inline udiv_qrnnd" \ - : "=&r" ((USItype) (q)), \ - "=&r" ((USItype) (r)) \ - : "r" ((USItype) (d)), \ - "1" ((USItype) (n1)), \ - "0" ((USItype) (n0)) : "g1" __AND_CLOBBER_CC) + : "=&r" ((USItype) (__q)), \ + "=&r" ((USItype) (__r)) \ + : "r" ((USItype) (__d)), \ + "1" ((USItype) (__n1)), \ + "0" ((USItype) (__n0)) : "g1" __AND_CLOBBER_CC) #define UDIV_TIME (3+7*32) /* 7 instructions/iteration. 32 iterations. */ #endif /* __sparclite__ */ #endif /* __sparc_v8__ */ |