http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51524
--- Comment #2 from Uros Bizjak <ubizjak at gmail dot com> 2011-12-13 14:21:37
UTC ---
Index: gcc.target/i386/bmi2-mulx32-1.c
===================================================================
--- gcc.target/i386/bmi2-mulx32-1.c (revision 182271)
+++ gcc.target/i386/bmi2-mulx32-1.c (working copy)
@@ -15,7 +15,7 @@
return res;
}
-__attribute__((noinline))
+__attribute__((noinline, regparm (2)))
unsigned long long
gen_mulx (unsigned a, unsigned b)
{
Index: gcc.target/i386/bmi2-mulx32-2.c
===================================================================
--- gcc.target/i386/bmi2-mulx32-2.c (revision 182271)
+++ gcc.target/i386/bmi2-mulx32-2.c (working copy)
@@ -17,7 +17,7 @@
return res;
}
-__attribute__((noinline))
+__attribute__((noinline, regparm (2)))
unsigned calc_mulx_u32 (unsigned x, unsigned y, unsigned *res_h)
{
return (unsigned) _mulx_u32 (x, y, res_h);