Remove unneeded casts in inline assembly in contrib/gcc/longlong.h,
which are apparently "heinous" GNU extensions, so clang can compile this without using the -fheinous-gnu-extensions option. Results in *no* binary change, neither with clang, nor with gcc. Submitted by: Dimitry Andric <dimitry at andric.com>
This commit is contained in:
parent
88e08e7ce6
commit
aeba5ab26b
@ -314,38 +314,38 @@ UDItype __umulsidi3 (USItype, USItype);
|
||||
#if (defined (__i386__) || defined (__i486__)) && W_TYPE_SIZE == 32
|
||||
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("addl %5,%1\n\tadcl %3,%0" \
|
||||
: "=r" ((USItype) (sh)), \
|
||||
"=&r" ((USItype) (sl)) \
|
||||
: "%0" ((USItype) (ah)), \
|
||||
"g" ((USItype) (bh)), \
|
||||
"%1" ((USItype) (al)), \
|
||||
"g" ((USItype) (bl)))
|
||||
: "=r" (sh), \
|
||||
"=&r" (sl) \
|
||||
: "%0" (ah), \
|
||||
"g" (bh), \
|
||||
"%1" (al), \
|
||||
"g" (bl))
|
||||
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ("subl %5,%1\n\tsbbl %3,%0" \
|
||||
: "=r" ((USItype) (sh)), \
|
||||
"=&r" ((USItype) (sl)) \
|
||||
: "0" ((USItype) (ah)), \
|
||||
"g" ((USItype) (bh)), \
|
||||
"1" ((USItype) (al)), \
|
||||
"g" ((USItype) (bl)))
|
||||
: "=r" (sh), \
|
||||
"=&r" (sl) \
|
||||
: "0" (ah), \
|
||||
"g" (bh), \
|
||||
"1" (al), \
|
||||
"g" (bl))
|
||||
#define umul_ppmm(w1, w0, u, v) \
|
||||
__asm__ ("mull %3" \
|
||||
: "=a" ((USItype) (w0)), \
|
||||
"=d" ((USItype) (w1)) \
|
||||
: "%0" ((USItype) (u)), \
|
||||
"rm" ((USItype) (v)))
|
||||
: "=a" (w0), \
|
||||
"=d" (w1) \
|
||||
: "%0" (u), \
|
||||
"rm" (v))
|
||||
#define udiv_qrnnd(q, r, n1, n0, dv) \
|
||||
__asm__ ("divl %4" \
|
||||
: "=a" ((USItype) (q)), \
|
||||
"=d" ((USItype) (r)) \
|
||||
: "0" ((USItype) (n0)), \
|
||||
"1" ((USItype) (n1)), \
|
||||
"rm" ((USItype) (dv)))
|
||||
: "=a" (q), \
|
||||
"=d" (r) \
|
||||
: "0" (n0), \
|
||||
"1" (n1), \
|
||||
"rm" (dv))
|
||||
#define count_leading_zeros(count, x) \
|
||||
do { \
|
||||
USItype __cbtmp; \
|
||||
__asm__ ("bsrl %1,%0" \
|
||||
: "=r" (__cbtmp) : "rm" ((USItype) (x))); \
|
||||
: "=r" (__cbtmp) : "rm" (x)); \
|
||||
(count) = __cbtmp ^ 31; \
|
||||
} while (0)
|
||||
#define count_trailing_zeros(count, x) \
|
||||
|
Loading…
Reference in New Issue
Block a user