diff options
author | Iain Sandoe <iain@sandoe.co.uk> | 2019-05-23 09:23:47 +0000 |
---|---|---|
committer | Iain Sandoe <iains@gcc.gnu.org> | 2019-05-23 09:23:47 +0000 |
commit | 8f5b46e99c55c84d4a8dbec55d8aeb2076990d7f (patch) | |
tree | 72da2e5abb22e08b4bd01ba1cad20bc0be8f95d6 /gcc | |
parent | 1a9c52d28465513d107c77145fffed7fdc798d09 (diff) | |
download | gcc-8f5b46e99c55c84d4a8dbec55d8aeb2076990d7f.zip gcc-8f5b46e99c55c84d4a8dbec55d8aeb2076990d7f.tar.gz gcc-8f5b46e99c55c84d4a8dbec55d8aeb2076990d7f.tar.bz2 |
x86, testsuite - update fuse-caller-save tests.
These tests had started to XPASS on pic targets where
the codegen is now as expected.
gcc/testsuite/
2019-05-23 Iain Sandoe <iain@sandoe.co.uk>
PR rtl-optimisation/64895
* gcc.target/i386/fuse-caller-save-rec.c: Remove XFAILs.
* gcc.target/i386/fuse-caller-save.c: Likewise.
* gcc.target/i386/fuse-caller-save-xmm.c: Adjust tests for
PIC cases, remove XFAILs.
From-SVN: r271544
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 8 | ||||
-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 | 16 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/fuse-caller-save.c | 8 |
4 files changed, 25 insertions, 15 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f3a401f..6f8567c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2019-05-23 Iain Sandoe <iain@sandoe.co.uk> + + PR rtl-optimisation/64895 + * gcc.target/i386/fuse-caller-save-rec.c: Remove XFAILs. + * gcc.target/i386/fuse-caller-save.c: Likewise. + * gcc.target/i386/fuse-caller-save-xmm.c: Adjust tests for + PIC cases, remove XFAILs. + 2019-05-23 Thomas Schwinge <thomas@codesourcery.com> PR middle-end/90510 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 7abcf91..e8d4efb 100644 --- a/gcc/testsuite/gcc.target/i386/fuse-caller-save-rec.c +++ b/gcc/testsuite/gcc.target/i386/fuse-caller-save-rec.c @@ -18,14 +18,12 @@ 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" { xfail { { ! nonpic } && ia32 } } } } */ -/* { dg-final { scan-assembler-not "pop" { xfail { { ! nonpic } && ia32 } } } } */ +/* { dg-final { scan-assembler-not "push" } } */ +/* { dg-final { scan-assembler-not "pop" } } */ /* Check that addition uses dx. */ -/* { dg-final { scan-assembler-times "addl\t%\[re\]?dx, %\[re\]?ax" 1 { xfail { { ! nonpic } && ia32 } } } } */ +/* { dg-final { scan-assembler-times "addl\t%\[re\]?dx, %\[re\]?ax" 1 } } */ /* 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 c2d0544..4deff93 100644 --- a/gcc/testsuite/gcc.target/i386/fuse-caller-save-xmm.c +++ b/gcc/testsuite/gcc.target/i386/fuse-caller-save-xmm.c @@ -15,13 +15,19 @@ 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 { xfail { { ! nonpic } && ia32 } } } } */ -/* { dg-final { scan-assembler-times "movapd\t%xmm0, %xmm1" 1 { xfail { { ! nonpic } && ia32 } } } } */ + +/* Darwin local constant symbol is "lC0", ELF targets ".LC0" */ +/* { dg-final { scan-assembler-times {addpd\t\.?[Ll]C0.*, %xmm0} 1 { target { { ! ia32 } || nonpic } } } } */ +/* { dg-final { scan-assembler-times {movapd\t\.?[Ll]C0.*, %xmm1} 1 { target { ia32 && { ! nonpic } } } } } */ + +/* We happen to get this for both cases, but in different positions. */ +/* { dg-final { scan-assembler-times "addpd\t%xmm1, %xmm0" 1 } } */ + +/* { dg-final { scan-assembler-times "movapd\t%xmm0, %xmm1" 1 { target { { ! ia32 } || nonpic } } } } */ +/* { dg-final { scan-assembler-times "movapd\t%xmm0, %xmm2" 1 { target { ia32 && { ! nonpic } } } } } */ +/* { dg-final { scan-assembler-times "addpd\t%xmm2, %xmm0" 1 { target { ia32 && { ! nonpic } } } } } */ /* 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 4b8e68d..c0e8bf4 100644 --- a/gcc/testsuite/gcc.target/i386/fuse-caller-save.c +++ b/gcc/testsuite/gcc.target/i386/fuse-caller-save.c @@ -16,11 +16,9 @@ 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" { xfail { { ! nonpic } && ia32 } } } } */ -/* { dg-final { scan-assembler-not "pop" { xfail { { ! nonpic } && ia32 } } } } */ +/* { dg-final { scan-assembler-not "push" } } */ +/* { dg-final { scan-assembler-not "pop" } } */ /* 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 @@ -31,4 +29,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 { xfail { { ! nonpic } && ia32 } } } } */ +/* { dg-final { scan-assembler-times "addl\t%\[re\]?d\[ix\], %\[re\]?ax" 1 } } */ |