Commit 72c47e0d by Tom de Vries Committed by Tom de Vries

Fix fuse-caller-save-xmm.c test-case

2014-07-21  Tom de Vries  <tom@codesourcery.com>

	PR target/61827
	* gcc.target/i386/fuse-caller-save-xmm.c: Add -fomit-frame-pointer to
	dg-options.  Add checks for insns with xmm registers.  Remove
	cfi_def_cfa_offset checks.  Generalize checks containing %rsp.
	(main): Remove.

From-SVN: r212888
parent 87adf25a
2014-07-21 Tom de Vries <tom@codesourcery.com>
PR target/61827
* gcc.target/i386/fuse-caller-save-xmm.c: Add -fomit-frame-pointer to
dg-options. Add checks for insns with xmm registers. Remove
cfi_def_cfa_offset checks. Generalize checks containing %rsp.
(main): Remove.
2014-07-21 Uros Bizjak <ubizjak@gmail.com> 2014-07-21 Uros Bizjak <ubizjak@gmail.com>
PR target/61855 PR target/61855
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O2 -msse -fuse-caller-save" } */ /* { dg-options "-O2 -msse -fuse-caller-save -fomit-frame-pointer" } */
typedef double v2df __attribute__((vector_size (16))); typedef double v2df __attribute__((vector_size (16)));
...@@ -15,23 +15,12 @@ foo (v2df y) ...@@ -15,23 +15,12 @@ foo (v2df y)
return y + bar (y); return y + bar (y);
} }
int /* Check presence of all insns on xmm registers. These checks are expected to
main (void) pass with both -fuse-caller-save and -fno-use-caller-save. */
{ /* { dg-final { scan-assembler-times "addpd\t\\.LC0.*, %xmm0" 1 } } */
int success; /* { dg-final { scan-assembler-times "addpd\t%xmm1, %xmm0" 1 } } */
union { /* { dg-final { scan-assembler-times "movapd\t%xmm0, %xmm1" 1 } } */
v2df v;
double d[2];
} u;
u.v = foo ((v2df){ 5.0, 5.0});
success = (u.d[0] == 13.0
&& u.d[1] == 13.0);
return !success;
}
/* { dg-final { scan-assembler-not "movaps\t%xmm1, \\(%rsp\\)" } } */ /* Check absence of save/restore of xmm1 register. */
/* { dg-final { scan-assembler-not "movapd\t\\(%rsp\\), %xmm1" } } */ /* { dg-final { scan-assembler-not "movaps\t%xmm1, \\(%\[re\]?sp\\)" } } */
/* { dg-final { scan-assembler-times ".cfi_def_cfa_offset 16" 1 } } */ /* { dg-final { scan-assembler-not "movapd\t\\(%\[re\]?sp\\), %xmm1" } } */
/* { dg-final { scan-assembler-times ".cfi_def_cfa_offset 32" 1 } } */
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