@@ -0,0 +1,56 @@
+--- otherlibs/num/bng_ia32.c
++++ otherlibs/num/bng_ia32.c
+@@ -121,7 +121,7 @@
+ "leal 4(%1), %1 \n\t"
+ "decl %2 \n\t"
+ "jnz 1b"
+- : "+&r" (a), "+&r" (b), "+&r" (blen), "=m" (out)
++ : "+r" (a), "+r" (b), "+m" (blen), "+r" (out)
+ : "m" (d)
+ : "eax", "edx");
+ }
+@@ -164,7 +164,7 @@
+ "leal 4(%1), %1 \n\t"
+ "decl %2 \n\t"
+ "jnz 1b"
+- : "+&r" (a), "+&r" (b), "=m" (blen), "=m" (out), "=&r" (tmp)
++ : "+r" (a), "+r" (b), "+m" (blen), "+m" (out), "=&r" (tmp)
+ : "m" (d)
+ : "eax", "edx");
+ }
+@@ -210,7 +210,7 @@
+ "jne 1b \n\t"
+ "movd %%mm0, %3 \n\t"
+ "emms"
+- : "+&r" (a), "+&r" (b), "+&r" (blen), "+&rm" (carry));
++ : "+r" (a), "+r" (b), "+r" (blen), "+rm" (carry));
+ }
+ if (carry == 0 || alen == 0) return carry;
+ do {
+@@ -242,7 +242,7 @@
+ "jne 1b \n\t"
+ "movd %%mm0, %3 \n\t"
+ "emms"
+- : "+&r" (a), "+&r" (b), "+&r" (blen), "+&rm" (carry));
++ : "+r" (a), "+r" (b), "+r" (blen), "+rm" (carry));
+ }
+ if (carry == 0 || alen == 0) return carry;
+ do {
+@@ -279,7 +279,7 @@
+ "jne 1b \n\t"
+ "movd %%mm0, %3 \n\t"
+ "emms"
+- : "+&r" (a), "+&r" (b), "+&r" (blen), "=&rm" (out)
++ : "+r" (a), "+r" (b), "+r" (blen), "=&rm" (out)
+ : "m" (d));
+ }
+ if (alen == 0) return out;
+@@ -332,7 +332,7 @@
+ "jne 1b \n\t"
+ "movd %%mm0, %3 \n\t"
+ "emms"
+- : "+&r" (a), "+&r" (b), "+&r" (blen), "=&rm" (out)
++ : "+r" (a), "+r" (b), "+r" (blen), "=&rm" (out)
+ : "m" (d), "m" (bias1), "m" (bias2));
+ out = ~out; /* Undo encoding on out digit */
+ }
|