diff options
author | Tom de Vries <tom@codesourcery.com> | 2015-03-16 10:11:11 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2015-03-16 10:11:11 +0000 |
commit | 2aab918dacb5a7dc51a4a33db785f2840a093d9d (patch) | |
tree | c660bf8ba93ece6f1669ea686ed3e5896ac00858 | |
parent | 61e0b23353f25d12fd1925ccd2aaaf19f56ddbcb (diff) | |
download | gcc-2aab918dacb5a7dc51a4a33db785f2840a093d9d.zip gcc-2aab918dacb5a7dc51a4a33db785f2840a093d9d.tar.gz gcc-2aab918dacb5a7dc51a4a33db785f2840a093d9d.tar.bz2 |
Add PR64895 xfails in i386/fuse-caller-save*.c
2015-03-16 Tom de Vries <tom@codesourcery.com>
* 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
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/fuse-caller-save-rec.c | 8 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/fuse-caller-save-xmm.c | 6 | ||||
-rw-r--r-- | 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 d68e7a0..96f81d1 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2015-03-16 Tom de Vries <tom@codesourcery.com> + + * 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 <ebotcazou@adacore.com> * 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 c660e01..7abcf91 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 1d02844..c2d0544 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 7cfd22a..4b8e68d 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 } } } } */ |