Search
j0ke.net Open Build Service
>
Projects
>
devel
>
ocaml
> ocaml-3.08.3-gcc4.patch
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File ocaml-3.08.3-gcc4.patch of Package ocaml
+- reduce register pressure in bng_ia32.c (thanks to matz) --- 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 */ }