This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[tree-ssa] xfail i386-ssetypes-[13].c
- From: Richard Henderson <rth at twiddle dot net>
- To: gcc-patches at gcc dot gnu dot org
- Cc: jh at suse dot cz
- Date: Tue, 3 Feb 2004 23:04:19 -0800
- Subject: [tree-ssa] xfail i386-ssetypes-[13].c
- Reply-to: rth at redhat dot com
The i386 patterns that are supposed to avoid the movdqa are extraordinarily
fragile. The only difference between tree-ssa and mainline is the exact
initial state of the operands. Technically, I'd consider tree-ssa superior,
as it begins with one fewer rtl insn.
I have no idea how to fix this except to avoid using logical:TI here at all.
Alternatives are unspec:V2DF or (possibly) logical:V2DF.
r~
* gcc.dg/i386-ssetype-1.c: XFAIL.
* gcc.dg/i386-ssetype-3.c: XFAIL.
Index: gcc.dg/i386-ssetype-1.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/i386-ssetype-1.c,v
retrieving revision 1.2.4.3
diff -u -p -u -r1.2.4.3 i386-ssetype-1.c
--- gcc.dg/i386-ssetype-1.c 21 Jul 2003 13:52:28 -0000 1.2.4.3
+++ gcc.dg/i386-ssetype-1.c 4 Feb 2004 06:57:30 -0000
@@ -4,7 +4,8 @@
/* { dg-final { scan-assembler "andnpd\[^\\n\]*magic" } } */
/* { dg-final { scan-assembler "xorpd\[^\\n\]*magic" } } */
/* { dg-final { scan-assembler "orpd\[^\\n\]*magic" } } */
-/* { dg-final { scan-assembler-not "movdqa" } } */
+/* ??? All of the backend patters are WAY too fragile. */
+/* { dg-final { scan-assembler-not "movdqa" { xfail *-*-* } } } */
/* { dg-final { scan-assembler "movapd\[^\\n\]*magic" } } */
/* Verify that we generate proper instruction with memory operand. */
Index: gcc.dg/i386-ssetype-3.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.dg/i386-ssetype-3.c,v
retrieving revision 1.3.4.3
diff -u -p -u -r1.3.4.3 i386-ssetype-3.c
--- gcc.dg/i386-ssetype-3.c 21 Jul 2003 13:52:28 -0000 1.3.4.3
+++ gcc.dg/i386-ssetype-3.c 4 Feb 2004 06:57:30 -0000
@@ -4,7 +4,8 @@
/* { dg-final { scan-assembler "andnps\[^\\n\]*magic" } } */
/* { dg-final { scan-assembler "xorps\[^\\n\]*magic" } } */
/* { dg-final { scan-assembler "orps\[^\\n\]*magic" } } */
-/* { dg-final { scan-assembler-not "movdqa" } } */
+/* ??? All of the backend patters are WAY too fragile. */
+/* { dg-final { scan-assembler-not "movdqa" { xfail *-*-* } } } */
/* { dg-final { scan-assembler "movaps\[^\\n\]*magic" } } */
/* Verify that we generate proper instruction with memory operand. */