This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: powerpc-ibm-aix43.2.0 2.96 19991213 longlong/reload problem
- To: gcc-bugs at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Subject: Re: powerpc-ibm-aix43.2.0 2.96 19991213 longlong/reload problem
- From: David Edelsohn <dje at watson dot ibm dot com>
- Date: Tue, 14 Dec 1999 17:56:34 -0500
- Cc: Jakub Jelinek <jakub at redhat dot com>
The following revised patch at least does no harm on 64-bit PowerPC:
* longlong.h (_ARCH_PPC): Only protect add_ssaaaa and sub_ddmmss
with W_TYPE_SIZE == 32. Do not fall through to POWER archiecture
for umul_ppmm and smul_ppmm if !_ARCH_PPC and !_ARCH_POWER.
Index: longlong.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/longlong.h,v
retrieving revision 1.12
diff -c -p -r1.12 longlong.h
*** longlong.h 1999/12/14 12:53:39 1.12
--- longlong.h 1999/12/14 22:47:31
*************** UDItype __umulsidi3 (USItype, USItype);
*** 758,764 ****
} while (0)
#endif /* __ns32000__ */
! #if (defined (_ARCH_PPC) || defined (_IBMR2)) && W_TYPE_SIZE == 32
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
do { \
if (__builtin_constant_p (bh) && (bh) == 0) \
--- 758,765 ----
} while (0)
#endif /* __ns32000__ */
! #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) \
*************** UDItype __umulsidi3 (USItype, USItype);
*** 823,828 ****
--- 824,830 ----
"rI" ((USItype) (al)), \
"r" ((USItype) (bl))); \
} while (0)
+ #endif
#define count_leading_zeros(count, x) \
__asm__ ("{cntlz|cntlzw} %0,%1" \
: "=r" ((USItype) (count)) \
*************** UDItype __umulsidi3 (USItype, USItype);
*** 850,856 ****
} while (0)
#define SMUL_TIME 14
#define UDIV_TIME 120
! #else
#define umul_ppmm(xh, xl, m0, m1) \
do { \
USItype __m0 = (m0), __m1 = (m1); \
--- 852,858 ----
} while (0)
#define SMUL_TIME 14
#define UDIV_TIME 120
! #elif defined (_ARCH_POWER)
#define umul_ppmm(xh, xl, m0, m1) \
do { \
USItype __m0 = (m0), __m1 = (m1); \
David
===============================================================================
David Edelsohn T.J. Watson Research Center
dje@watson.ibm.com P.O. Box 218
+1 914 945 4364 (TL 862) Yorktown Heights, NY 10598