Fix for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43999 http://patchwork.ozlabs.org/patch/72260/ is the patch that made into upstream gcc diff --git a/gcc/config/arm/lib1funcs.asm b/gcc/config/arm/lib1funcs.asm index 085e690..2e76c01 100644 --- a/gcc/config/arm/lib1funcs.asm +++ b/gcc/config/arm/lib1funcs.asm @@ -641,7 +641,7 @@ pc .req r15 subhs \dividend, \dividend, \divisor, lsr #3 orrhs \result, \result, \curbit, lsr #3 cmp \dividend, #0 @ Early termination? - do_it hs, t + do_it ne, t movnes \curbit, \curbit, lsr #4 @ No, any more bits to do? movne \divisor, \divisor, lsr #4 bne 1b