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:
Rui Paulo 2010-08-19 12:59:57 +00:00
parent 88e08e7ce6
commit aeba5ab26b
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=211505

View File

@ -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) \