diff options
Diffstat (limited to 'gcc-4.8/gcc/testsuite/gcc.target/i386/pr59021.c')
-rw-r--r-- | gcc-4.8/gcc/testsuite/gcc.target/i386/pr59021.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc-4.8/gcc/testsuite/gcc.target/i386/pr59021.c b/gcc-4.8/gcc/testsuite/gcc.target/i386/pr59021.c new file mode 100644 index 000000000..a1df27b10 --- /dev/null +++ b/gcc-4.8/gcc/testsuite/gcc.target/i386/pr59021.c @@ -0,0 +1,23 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mavx -mvzeroupper" } */ + +extern void abort (void); + +struct S { + int i1; + int i2; + int i3; +}; + +typedef double v4df __attribute__ ((vector_size (32))); + +extern int foo (v4df, int i1, int i2, int i3, int i4, int i5, struct S s); + +void bar (v4df v, struct S s) +{ + int r = foo (v, 1, 2, 3, 4, 5, s); + if (r) + abort (); +} + +/* { dg-final { scan-assembler-not "vzeroupper" } } */ |