diff options
author | tege <tege@gmplib.org> | 2000-12-03 03:40:47 +0100 |
---|---|---|
committer | tege <tege@gmplib.org> | 2000-12-03 03:40:47 +0100 |
commit | 2f4b06db7762c0845988bf7228096eacc48cb68c (patch) | |
tree | 852ffbcbeae1c503052b6bdceac412d07ad8166f /longlong.h | |
parent | 7e04a307875fae7b0450768763421cb44ac8eb74 (diff) | |
download | gmp-2f4b06db7762c0845988bf7228096eacc48cb68c.tar.gz |
(CRAYIEEE umul_ppmm): New.
Diffstat (limited to 'longlong.h')
-rw-r--r-- | longlong.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/longlong.h b/longlong.h index 2b1fb7a3e..f088740a3 100644 --- a/longlong.h +++ b/longlong.h @@ -137,6 +137,16 @@ long __MPN(count_leading_zeros) (); #endif /* LONGLONG_STANDALONE */ #endif /* __alpha */ +#if defined (_CRAYIEEE) && W_TYPE_SIZE == 64 +#include <intrinsics.h> +#define umul_ppmm(ph, pl, m0, m1) \ + do { \ + UDItype __m0 = (m0), __m1 = (m1); \ + (ph) = _int_mult_upper (m0, m1); \ + (pl) = __m0 * __m1; \ + } while (0) +#endif + #if defined (__hppa) && W_TYPE_SIZE == 64 /* We put the result pointer parameter last here, since it makes passing of the other parameters more efficient. */ |