Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.1:Staging:C
ocaml
ocaml-3.08.3-gcc4.patch
Overview
Repositories
Revisions
Requests
Users
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 */ }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor