/* { 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" } } */