diff options
Diffstat (limited to 'lib/mpi/longlong.h')
| -rw-r--r-- | lib/mpi/longlong.h | 17 | 
1 files changed, 7 insertions, 10 deletions
diff --git a/lib/mpi/longlong.h b/lib/mpi/longlong.h index d411355f238e..aac511417ad1 100644 --- a/lib/mpi/longlong.h +++ b/lib/mpi/longlong.h @@ -151,15 +151,12 @@ do { \  #endif /* __a29k__ */  #if defined(__alpha) && W_TYPE_SIZE == 64 -#define umul_ppmm(ph, pl, m0, m1) \ -do { \ -		UDItype __m0 = (m0), __m1 = (m1); \ -		__asm__ ("umulh %r1,%2,%0" \ -		: "=r" ((UDItype) ph) \ -		: "%rJ" (__m0), \ -			"rI" (__m1)); \ -		(pl) = __m0 * __m1; \ -	} while (0) +#define umul_ppmm(ph, pl, m0, m1)			\ +do {							\ +	UDItype __m0 = (m0), __m1 = (m1);		\ +	(ph) = __builtin_alpha_umulh(__m0, __m1);	\ +	(pl) = __m0 * __m1;                             \ +} while (0)  #define UMUL_TIME 46  #ifndef LONGLONG_STANDALONE  #define udiv_qrnnd(q, r, n1, n0, d) \ @@ -167,7 +164,7 @@ do { UDItype __r; \  	(q) = __udiv_qrnnd(&__r, (n1), (n0), (d)); \  	(r) = __r; \  } while (0) -extern UDItype __udiv_qrnnd(); +extern UDItype __udiv_qrnnd(UDItype *, UDItype, UDItype, UDItype);  #define UDIV_TIME 220  #endif /* LONGLONG_STANDALONE */  #endif /* __alpha */  | 
