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]
Other format: [Raw text]

[tree-ssa] xfail i386-ssetypes-[13].c


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.  */


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