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
This commit is contained in:
Tom de Vries 2015-03-16 10:11:11 +00:00 committed by Tom de Vries
parent 61e0b23353
commit 2aab918dac
4 changed files with 20 additions and 8 deletions

View File

@ -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> 2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/loop_optimization18.ad[sb]: New test. * gnat.dg/loop_optimization18.ad[sb]: New test.

View File

@ -18,12 +18,14 @@ foo (int y)
return y + bar (y); return y + bar (y);
} }
/* For !nonpic && ia32 xfails, see PR64895. */
/* Check that no registers are saved/restored. */ /* Check that no registers are saved/restored. */
/* { dg-final { scan-assembler-not "push" } } */ /* { dg-final { scan-assembler-not "push" { xfail { { ! nonpic } && ia32 } } } } */
/* { dg-final { scan-assembler-not "pop" } } */ /* { dg-final { scan-assembler-not "pop" { xfail { { ! nonpic } && ia32 } } } } */
/* Check that addition uses dx. */ /* 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. */ /* Verify that bar is self-recursive. */
/* { dg-final { scan-assembler-times "call\t_?bar" 2 } } */ /* { dg-final { scan-assembler-times "call\t_?bar" 2 } } */

View File

@ -15,11 +15,13 @@ foo (v2df y)
return y + bar (y); return y + bar (y);
} }
/* For !nonpic && ia32 xfails, see PR64895. */
/* Check presence of all insns on xmm registers. These checks are expected to /* Check presence of all insns on xmm registers. These checks are expected to
pass with both -fipa-ra and -fno-ipa-ra. */ 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\\.?LC0.*, %xmm0" 1 } } */
/* { dg-final { scan-assembler-times "addpd\t%xmm1, %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 } } */ /* { dg-final { scan-assembler-times "movapd\t%xmm0, %xmm1" 1 { xfail { { ! nonpic } && ia32 } } } } */
/* Check absence of save/restore of xmm1 register. */ /* Check absence of save/restore of xmm1 register. */
/* { dg-final { scan-assembler-not "movaps\t%xmm1, \\(%\[re\]?sp\\)" } } */ /* { dg-final { scan-assembler-not "movaps\t%xmm1, \\(%\[re\]?sp\\)" } } */

View File

@ -16,9 +16,11 @@ foo (int y)
return y + bar (y); return y + bar (y);
} }
/* For !nonpic && ia32 xfails, see PR64895. */
/* Check that no registers are saved/restored. */ /* Check that no registers are saved/restored. */
/* { dg-final { scan-assembler-not "push" } } */ /* { dg-final { scan-assembler-not "push" { xfail { { ! nonpic } && ia32 } } } } */
/* { dg-final { scan-assembler-not "pop" } } */ /* { dg-final { scan-assembler-not "pop" { xfail { { ! nonpic } && ia32 } } } } */
/* PR61605. If the first argument register and the return register differ, then /* 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 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 } } } } */ /* { dg-final { scan-assembler-not "movl" { target { ! ia32 } } } } */
/* Check that addition uses di (in case of no copy) or dx (in case of copy). */ /* 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 } } } } */