diff --git a/compiler-rt/lib/builtins/ucmpdi2.c b/compiler-rt/lib/builtins/ucmpdi2.c --- a/compiler-rt/lib/builtins/ucmpdi2.c +++ b/compiler-rt/lib/builtins/ucmpdi2.c @@ -17,23 +17,11 @@ // if (a > b) returns 2 COMPILER_RT_ABI si_int __ucmpdi2(du_int a, du_int b) { - udwords x; - x.all = a; - udwords y; - y.all = b; - if (x.s.high < y.s.high) - return 0; - if (x.s.high > y.s.high) - return 2; - if (x.s.low < y.s.low) - return 0; - if (x.s.low > y.s.low) - return 2; - return 1; + return (a > b) - (a < b) + 1; } #ifdef __ARM_EABI__ -// Returns: if (a < b) returns -1 +// Returns: if (a < b) returns -1 // if (a == b) returns 0 // if (a > b) returns 1 COMPILER_RT_ABI si_int __aeabi_ulcmp(di_int a, di_int b) {