From 2aab918dacb5a7dc51a4a33db785f2840a093d9d Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Mon, 16 Mar 2015 10:11:11 +0000 Subject: [PATCH] Add PR64895 xfails in i386/fuse-caller-save*.c 2015-03-16 Tom de Vries * gcc.target/i386/fuse-caller-save-rec.c: Add PR64895 xfail on scans. * gcc.target/i386/fuse-caller-save-xmm.c: Same. * gcc.target/i386/fuse-caller-save.c: Same. From-SVN: r221452 --- gcc/testsuite/ChangeLog | 6 ++++++ gcc/testsuite/gcc.target/i386/fuse-caller-save-rec.c | 8 +++++--- gcc/testsuite/gcc.target/i386/fuse-caller-save-xmm.c | 6 ++++-- gcc/testsuite/gcc.target/i386/fuse-caller-save.c | 8 +++++--- 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d68e7a02f97..96f81d107ca 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2015-03-16 Tom de Vries + + * gcc.target/i386/fuse-caller-save-rec.c: Add PR64895 xfail on scans. + * gcc.target/i386/fuse-caller-save-xmm.c: Same. + * gcc.target/i386/fuse-caller-save.c: Same. + 2015-03-16 Eric Botcazou * gnat.dg/loop_optimization18.ad[sb]: New test. diff --git a/gcc/testsuite/gcc.target/i386/fuse-caller-save-rec.c b/gcc/testsuite/gcc.target/i386/fuse-caller-save-rec.c index c660e014386..7abcf91e26d 100644 --- a/gcc/testsuite/gcc.target/i386/fuse-caller-save-rec.c +++ b/gcc/testsuite/gcc.target/i386/fuse-caller-save-rec.c @@ -18,12 +18,14 @@ foo (int y) return y + bar (y); } +/* For !nonpic && ia32 xfails, see PR64895. */ + /* Check that no registers are saved/restored. */ -/* { dg-final { scan-assembler-not "push" } } */ -/* { dg-final { scan-assembler-not "pop" } } */ +/* { dg-final { scan-assembler-not "push" { xfail { { ! nonpic } && ia32 } } } } */ +/* { dg-final { scan-assembler-not "pop" { xfail { { ! nonpic } && ia32 } } } } */ /* Check that addition uses dx. */ -/* { dg-final { scan-assembler-times "addl\t%\[re\]?dx, %\[re\]?ax" 1 } } */ +/* { dg-final { scan-assembler-times "addl\t%\[re\]?dx, %\[re\]?ax" 1 { xfail { { ! nonpic } && ia32 } } } } */ /* Verify that bar is self-recursive. */ /* { dg-final { scan-assembler-times "call\t_?bar" 2 } } */ diff --git a/gcc/testsuite/gcc.target/i386/fuse-caller-save-xmm.c b/gcc/testsuite/gcc.target/i386/fuse-caller-save-xmm.c index 1d02844a9cb..c2d0544d665 100644 --- a/gcc/testsuite/gcc.target/i386/fuse-caller-save-xmm.c +++ b/gcc/testsuite/gcc.target/i386/fuse-caller-save-xmm.c @@ -15,11 +15,13 @@ foo (v2df y) return y + bar (y); } +/* For !nonpic && ia32 xfails, see PR64895. */ + /* Check presence of all insns on xmm registers. These checks are expected to pass with both -fipa-ra and -fno-ipa-ra. */ /* { dg-final { scan-assembler-times "addpd\t\\.?LC0.*, %xmm0" 1 } } */ -/* { dg-final { scan-assembler-times "addpd\t%xmm1, %xmm0" 1 } } */ -/* { dg-final { scan-assembler-times "movapd\t%xmm0, %xmm1" 1 } } */ +/* { dg-final { scan-assembler-times "addpd\t%xmm1, %xmm0" 1 { xfail { { ! nonpic } && ia32 } } } } */ +/* { dg-final { scan-assembler-times "movapd\t%xmm0, %xmm1" 1 { xfail { { ! nonpic } && ia32 } } } } */ /* Check absence of save/restore of xmm1 register. */ /* { dg-final { scan-assembler-not "movaps\t%xmm1, \\(%\[re\]?sp\\)" } } */ diff --git a/gcc/testsuite/gcc.target/i386/fuse-caller-save.c b/gcc/testsuite/gcc.target/i386/fuse-caller-save.c index 7cfd22afeb2..4b8e68d90f5 100644 --- a/gcc/testsuite/gcc.target/i386/fuse-caller-save.c +++ b/gcc/testsuite/gcc.target/i386/fuse-caller-save.c @@ -16,9 +16,11 @@ foo (int y) return y + bar (y); } +/* For !nonpic && ia32 xfails, see PR64895. */ + /* Check that no registers are saved/restored. */ -/* { dg-final { scan-assembler-not "push" } } */ -/* { dg-final { scan-assembler-not "pop" } } */ +/* { dg-final { scan-assembler-not "push" { xfail { { ! nonpic } && ia32 } } } } */ +/* { dg-final { scan-assembler-not "pop" { xfail { { ! nonpic } && ia32 } } } } */ /* PR61605. If the first argument register and the return register differ, then bar leaves the first argument register intact. That means in foo that the @@ -29,4 +31,4 @@ foo (int y) /* { dg-final { scan-assembler-not "movl" { target { ! ia32 } } } } */ /* Check that addition uses di (in case of no copy) or dx (in case of copy). */ -/* { dg-final { scan-assembler-times "addl\t%\[re\]?d\[ix\], %\[re\]?ax" 1 } } */ +/* { dg-final { scan-assembler-times "addl\t%\[re\]?d\[ix\], %\[re\]?ax" 1 { xfail { { ! nonpic } && ia32 } } } } */ -- 2.30.2