diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/longlong.h | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9e7e42d67da..c08ade98a06 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Mon Dec 20 23:06:47 1999 David Edelsohn <edelsohn@gnu.org> + + * longlong.h (_ARCH_PPC): Only protect add_ssaaaa and sub_ddmmss + with W_TYPE_SIZE == 32. Do not fall through to POWER architecture + for umul_ppmm and smul_ppmm if !_ARCH_PPC and !_ARCH_POWER. + Mon Dec 20 23:02:03 1999 Jeffrey A Law (law@cygnus.com) * fold-const.c (real_hex_to_f): Remove unused "isldouble" variable. diff --git a/gcc/longlong.h b/gcc/longlong.h index 6c91d4d4754..2cea66dd690 100644 --- a/gcc/longlong.h +++ b/gcc/longlong.h @@ -758,7 +758,8 @@ UDItype __umulsidi3 (USItype, USItype); } while (0) #endif /* __ns32000__ */ -#if (defined (_ARCH_PPC) || defined (_IBMR2)) && W_TYPE_SIZE == 32 +#if (defined (_ARCH_PPC) || defined (_IBMR2)) +#if W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ do { \ if (__builtin_constant_p (bh) && (bh) == 0) \ @@ -823,6 +824,7 @@ UDItype __umulsidi3 (USItype, USItype); "rI" ((USItype) (al)), \ "r" ((USItype) (bl))); \ } while (0) +#endif /* W_TYPE_SIZE */ #define count_leading_zeros(count, x) \ __asm__ ("{cntlz|cntlzw} %0,%1" \ : "=r" ((USItype) (count)) \ @@ -850,7 +852,7 @@ UDItype __umulsidi3 (USItype, USItype); } while (0) #define SMUL_TIME 14 #define UDIV_TIME 120 -#else +#elif defined (_ARCH_POWER) #define umul_ppmm(xh, xl, m0, m1) \ do { \ USItype __m0 = (m0), __m1 = (m1); \ |