aboutsummaryrefslogtreecommitdiff
path: root/gcc/longlong.h
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@gnu.org>1999-12-21 06:10:20 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>1999-12-21 01:10:20 -0500
commitc6d69baca20b00af7a959cde1a3f793ef2edcb17 (patch)
treef2482af2cc46f9192580df4c20943ae585f8e5ab /gcc/longlong.h
parentf0bd6b8ed8bfbced9ad7720d34f0e5fe109cc565 (diff)
downloadgcc-c6d69baca20b00af7a959cde1a3f793ef2edcb17.zip
gcc-c6d69baca20b00af7a959cde1a3f793ef2edcb17.tar.gz
gcc-c6d69baca20b00af7a959cde1a3f793ef2edcb17.tar.bz2
longlong.h (_ARCH_PPC): Only protect add_ssaaaa and sub_ddmmss with W_TYPE_SIZE == 32.
* 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. From-SVN: r31044
Diffstat (limited to 'gcc/longlong.h')
-rw-r--r--gcc/longlong.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/longlong.h b/gcc/longlong.h
index 6c91d4d..2cea66d 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); \