alpha: Modernize lib/mpi/longlong.h
Remove the compile warning for __udiv_qrnnd not having a prototype. Use the __builtin_alpha_umulh introduced in gcc 4.0. Reviewed-and-Tested-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Matt Turner <mattst88@gmail.com> Signed-off-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
parent
01350eb6c0
commit
a5c6eae4d6
1 changed files with 7 additions and 10 deletions
|
@ -151,15 +151,12 @@ do { \
|
||||||
#endif /* __a29k__ */
|
#endif /* __a29k__ */
|
||||||
|
|
||||||
#if defined(__alpha) && W_TYPE_SIZE == 64
|
#if defined(__alpha) && W_TYPE_SIZE == 64
|
||||||
#define umul_ppmm(ph, pl, m0, m1) \
|
#define umul_ppmm(ph, pl, m0, m1) \
|
||||||
do { \
|
do { \
|
||||||
UDItype __m0 = (m0), __m1 = (m1); \
|
UDItype __m0 = (m0), __m1 = (m1); \
|
||||||
__asm__ ("umulh %r1,%2,%0" \
|
(ph) = __builtin_alpha_umulh(__m0, __m1); \
|
||||||
: "=r" ((UDItype) ph) \
|
(pl) = __m0 * __m1; \
|
||||||
: "%rJ" (__m0), \
|
} while (0)
|
||||||
"rI" (__m1)); \
|
|
||||||
(pl) = __m0 * __m1; \
|
|
||||||
} while (0)
|
|
||||||
#define UMUL_TIME 46
|
#define UMUL_TIME 46
|
||||||
#ifndef LONGLONG_STANDALONE
|
#ifndef LONGLONG_STANDALONE
|
||||||
#define udiv_qrnnd(q, r, n1, n0, d) \
|
#define udiv_qrnnd(q, r, n1, n0, d) \
|
||||||
|
@ -167,7 +164,7 @@ do { UDItype __r; \
|
||||||
(q) = __udiv_qrnnd(&__r, (n1), (n0), (d)); \
|
(q) = __udiv_qrnnd(&__r, (n1), (n0), (d)); \
|
||||||
(r) = __r; \
|
(r) = __r; \
|
||||||
} while (0)
|
} while (0)
|
||||||
extern UDItype __udiv_qrnnd();
|
extern UDItype __udiv_qrnnd(UDItype *, UDItype, UDItype, UDItype);
|
||||||
#define UDIV_TIME 220
|
#define UDIV_TIME 220
|
||||||
#endif /* LONGLONG_STANDALONE */
|
#endif /* LONGLONG_STANDALONE */
|
||||||
#endif /* __alpha */
|
#endif /* __alpha */
|
||||||
|
|
Loading…
Reference in a new issue