[PATCH, i386]: Fix PR testsuite/51524

Uros Bizjak ubizjak@gmail.com
Tue Dec 13 15:37:00 GMT 2011


Hello!

Recent RA change disturbs delicate balance of register allocation, so
a couple of scan tests begins to fail.

Attached patch fixes these scan failures by forcing arguments of test
function in registers.

2011-12-13  Uros Bizjak  <ubizjak@gmail.com>

	PR testsuite/51524
	* gcc.target/i386/bmi2-mulx32-1.c (gen_mulx): Add attribute regparm(2).
	* gcc.target/i386/bmi2-mulx32-2.c (calc_mulx_u32): Ditto.

Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline SVN.

Uros.

Index: gcc.target/i386/bmi2-mulx32-1.c
===================================================================
--- gcc.target/i386/bmi2-mulx32-1.c     (revision 182192)
+++ 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 182192)
+++ 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);



More information about the Gcc-patches mailing list