lkml.org 
[lkml]   [2013]   [Jul]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 3/7] alpha: Modernize lib/mpi/longlong.h
From
Date
On Tue, 2013-07-16 at 10:04 -0700, Richard Henderson wrote:
> Remove the compile warning for __udiv_qrnnd not having a prototype.
> Use the __builtin_alpha_umulh introduced in gcc 4.0.

Isn't gcc 3.x still a supported compiler?

> diff --git 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 */





\
 
 \ /
  Last update: 2013-07-16 21:01    [W:0.099 / U:0.344 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site