This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[RFA]: Mark several gcc.c-torture tests as xfail for HC11/HC12


Hi!

In gcc.c-torture, there are several tests that fail for HC11/HC12:

  - Several tests try to force a 64-bit or several 32-bit variables to go in a
    register with something like asm("" : "=r"(val), "=r"(tmp)).  This will never
    work for HC11 because there are only three 16-bit registers.

  - The gcc.c-torture/compile/961203-1.c test fails for HC11/HC12 because it
    defines a structure with an array of size 0x32100000.

  - The gcc.c-torture/compile/20001226-1.c test (whose compilation is incredibly
    slow!!!) produces a function larger tha 64K.  It compiles but does not
    assemble.

The following patch adds the necessary <test>.x files to tell that these
tests will fail for HC11/HC12.

Can you approve this patch for 3_0-branch and mainline?

Thanks,
	Stephane

2001-05-19  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* gcc.c-torture/compile/20000804-1.x: New file, this test fails
	on 68HC11/HC12 due to the asm instruction.
	* gcc.c-torture/compile/20001205-1.x: New file, ditto.
	* gcc.c-torture/compile/920520-1.x: Likewise.
	* gcc.c-torture/compile/20001226-1.x: New file, this test fails
	on 68HC11/HC12 because the function is larger than 64K.
	* gcc.c-torture/compile/961203-1.x: New file, this test fails
	on 68HC11/HC12 because the structure is too large.
Index: gcc.c-torture/compile/20000804-1.x
===================================================================
RCS file: 20000804-1.x
diff -N 20000804-1.x
--- /dev/null	Tue May  5 13:32:27 1998
+++ 20000804-1.x	Sun May 20 01:59:05 2001
@@ -0,0 +1,10 @@
+# This does not work on m68hc11 due to the use of an asm statement
+# to force a 'long long' (64-bits) to go in a register.
+
+global target_triplet
+if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } {
+      set torture_compile_xfail "$target_triplet"
+      return 1
+}
+
+return 0
Index: gcc.c-torture/compile/20001205-1.x
===================================================================
RCS file: 20001205-1.x
diff -N 20001205-1.x
--- /dev/null	Tue May  5 13:32:27 1998
+++ 20001205-1.x	Sun May 20 01:59:05 2001
@@ -0,0 +1,8 @@
+# This does not work on m68hc11 due to the asm statement which
+# forces two 'long' (32-bits) variables to go in registers.
+
+global target_triplet
+if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } {
+      set torture_compile_xfail "$target_triplet"
+}
+return 0
Index: gcc.c-torture/compile/20001226-1.x
===================================================================
RCS file: 20001226-1.x
diff -N 20001226-1.x
--- /dev/null	Tue May  5 13:32:27 1998
+++ 20001226-1.x	Sun May 20 01:59:05 2001
@@ -0,0 +1,9 @@
+# This does not assemble on m68hc11 because the function is larger
+# than 64K.
+
+global target_triplet
+if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } {
+      set torture_compile_xfail "$target_triplet"
+      return 1
+}
+return 0
Index: gcc.c-torture/compile/920520-1.x
===================================================================
RCS file: /cvs/gcc/egcs/gcc/testsuite/gcc.c-torture/compile/920520-1.x,v
retrieving revision 1.1
diff -u -p -r1.1 920520-1.x
--- 920520-1.x	2000/06/29 03:10:00	1.1
+++ 920520-1.x	2001/05/20 08:59:05
@@ -1,2 +1,11 @@
+# This does not work on m68hc11 due to the asm which forces a
+# float or a double to go in a register.
+
+global target_triplet
+if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"] } {
+      set torture_compile_xfail "$target_triplet"
+      return 1
+}
+
 set options "-S"
 return 0
Index: gcc.c-torture/compile/961203-1.x
===================================================================
RCS file: 961203-1.x
diff -N 961203-1.x
--- /dev/null	Tue May  5 13:32:27 1998
+++ 961203-1.x	Sun May 20 01:59:07 2001
@@ -0,0 +1,7 @@
+# Array 'a' in this test is too large to fit in 64K.
+
+global target_triplet
+if { [istarget "m6811-*-*"] || [istarget "m6812-*-*"]} {
+	set torture_compile_xfail "$target_triplet"
+}
+return 0

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]