Commit 2aab918d by Tom de Vries Committed by Tom de Vries

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
parent 61e0b233
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.
......
...@@ -18,12 +18,14 @@ foo (int y) ...@@ -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 } } */
...@@ -15,11 +15,13 @@ foo (v2df y) ...@@ -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\\)" } } */
......
...@@ -16,9 +16,11 @@ foo (int y) ...@@ -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) ...@@ -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 } } } } */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment