Currently we have DivU64x32 on ia32, but it tries to call

__umoddi3 and __udivdi3 from libgcc, which we don't have.
This fixes it to use our implementation in that case.

Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
This commit is contained in:
Nigel Croxon 2018-01-10 10:28:36 -05:00
parent f99001cd7d
commit d039cd620b
1 changed files with 2 additions and 2 deletions

View File

@ -140,7 +140,7 @@ DivU64x32 (
// divide 64bit by 32bit and get a 64bit result
// N.B. only works for 31bit divisors!!
{
#if defined(__GNUC__) && !defined(__MINGW32__)
#if 0 && defined(__GNUC__) && !defined(__MINGW32__)
if (Remainder)
*Remainder = Dividend % Divisor;
return Dividend / Divisor;
@ -157,7 +157,7 @@ DivU64x32 (
Rem = 0;
for (bit=0; bit < 64; bit++) {
#ifdef __MINGW32__
#if defined(__GNUC__) || defined(__MINGW32__)
asm (
"shll $1, %0\n\t"
"rcll $1, 4%0\n\t"