[PATCH] fix improper destination register in mpn/arm/invert_limb.asm

Kelly Anderson kelly at silka.with-linux.com
Wed Jul 6 03:52:17 CEST 2011


A minor patch to fix a warning (gcc 4.6.1) about using r3 destination 
register when r3 is a source register.  Not sure how gcc handles it, but 
the arm spec states that it is not allowed.  This applies to libgmp 
5.0.2.  It passes all tests after patch is applied.

--- ./mpn/arm/invert_limb.asm.orig    2011-05-08 03:49:29.000000000 -0600
+++ ./mpn/arm/invert_limb.asm    2011-07-04 23:57:22.000000000 -0600
@@ -27,7 +27,8 @@ L(2):    add    r2, pc, r2
      mov    r3, r3, asl #1
      ldrh    r3, [r3, r2]
      mov    r1, r3, asl #17
-    mul    r3, r3, r3
+    mul    r12, r3, r3
+    mov r3, r12
      umull    r12, r2, r3, r0
      sub    r1, r1, r2, asl #1
      umull    r12, r2, r1, r1


Kelly Anderson

More information about the gmp-bugs mailing list