[4.2/4.1 PATCH]: testsuite gcc.target/i386/pr21291.c backport target selector

Kaveh R. GHAZI ghazi@caip.rutgers.edu
Sat Jan 19 14:14:00 GMT 2008


As per:
http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00467.html

I'm backporting the target selector that elides this test for ilp32 when
using -fpic/-fPIC.

Tested on i686-unknown-linux-gnu on 4.2 & 4.1 branches via "make check".

Okay for 4.2/4.1?

		Thanks,
		--Kaveh


2008-01-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	Backport:
	2007-03-21  Richard Sandiford  <richard@codesourcery.com>

	* gcc.target/i386/pr21291.c: Require nonpic or ! ilp32.

diff -rup orig/egcc-4.2-SVN20080119/gcc/testsuite/gcc.target/i386/pr21291.c egcc-4.2-SVN20080119/gcc/testsuite/gcc.target/i386/pr21291.c
--- orig/egcc-4.2-SVN20080119/gcc/testsuite/gcc.target/i386/pr21291.c	2008-01-03 23:34:50.000000000 +0100
+++ egcc-4.2-SVN20080119/gcc/testsuite/gcc.target/i386/pr21291.c	2008-01-19 07:05:04.000000000 +0100
@@ -1,4 +1,9 @@
-/* { dg-do compile } */
+/* The asm has 2 "r" in/out operands, 1 earlyclobber "r" output, 1 "r"
+   input and 2 fixed "r" clobbers (eax and edx), so there are a total of
+   6 registers that must not conflict.  Add to that the PIC register,
+   the frame pointer, and the stack pointer, and we've run out of
+   registers on 32-bit targets.  */
+/* { dg-do compile { target { { ! ilp32 } || nonpic } } } */
 /* { dg-options "-O" } */

 typedef unsigned long bngdigit;



More information about the Gcc-patches mailing list