This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[RFA]: Mark several gcc.c-torture tests as xfail for HC11/HC12
- To: gcc-patches at gcc dot gnu dot org
- Subject: [RFA]: Mark several gcc.c-torture tests as xfail for HC11/HC12
- From: Stephane Carrez <Stephane dot Carrez at worldnet dot fr>
- Date: Sun, 20 May 2001 13:32:44 +0200
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