From 72c47e0d34d5af5ab7bb4b28e83ccceaed1c0c83 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Mon, 21 Jul 2014 09:11:04 +0000 Subject: Fix fuse-caller-save-xmm.c test-case 2014-07-21 Tom de Vries 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 --- gcc/testsuite/ChangeLog | 8 ++++++ .../gcc.target/i386/fuse-caller-save-xmm.c | 29 +++++++--------------- 2 files changed, 17 insertions(+), 20 deletions(-) (limited to 'gcc') diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 481e394..aea21255 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2014-07-21 Tom de Vries + + 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 PR target/61855 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 ff21f0c..c639936 100644 --- a/gcc/testsuite/gcc.target/i386/fuse-caller-save-xmm.c +++ b/gcc/testsuite/gcc.target/i386/fuse-caller-save-xmm.c @@ -1,5 +1,5 @@ /* { 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))); @@ -15,23 +15,12 @@ foo (v2df y) return y + bar (y); } -int -main (void) -{ - int success; - union { - 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; -} +/* Check presence of all insns on xmm registers. These checks are expected to + pass with both -fuse-caller-save and -fno-use-caller-save. */ +/* { 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-not "movaps\t%xmm1, \\(%rsp\\)" } } */ -/* { dg-final { scan-assembler-not "movapd\t\\(%rsp\\), %xmm1" } } */ -/* { dg-final { scan-assembler-times ".cfi_def_cfa_offset 16" 1 } } */ -/* { dg-final { scan-assembler-times ".cfi_def_cfa_offset 32" 1 } } */ +/* Check absence of save/restore of xmm1 register. */ +/* { dg-final { scan-assembler-not "movaps\t%xmm1, \\(%\[re\]?sp\\)" } } */ +/* { dg-final { scan-assembler-not "movapd\t\\(%\[re\]?sp\\), %xmm1" } } */ -- cgit v1.1