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