Fix compilation of this macro under gcc-4.9 for MIPS32.

Some point after gcc-4.2 the MIPS inline assembly restrictions changed -
=h (hi register) disappeared from the list of restrictions and can no
longer be used.

So, until someone requires an assembly version of this function,
just use a non-assembly version and let the compiler sort it out.

Suggested by:	kan
This commit is contained in:
Adrian Chadd 2015-06-18 13:40:08 +00:00
parent eb4948aa4c
commit 872b4ed5ea

View File

@ -584,11 +584,11 @@ UDItype __umulsidi3 (USItype, USItype);
#if defined (__mips__) && W_TYPE_SIZE == 32
#define umul_ppmm(w1, w0, u, v) \
__asm__ ("multu %2,%3" \
: "=l" ((USItype) (w0)), \
"=h" ((USItype) (w1)) \
: "d" ((USItype) (u)), \
"d" ((USItype) (v)))
do { \
UDItype __x = (UDItype) (USItype) (u) * (USItype) (v); \
w1 = __x >> 32; \
w0 = __x; \
} while (0)
#define UMUL_TIME 10
#define UDIV_TIME 100
#endif /* __mips__ */