1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -mavx -mvzeroupper" } */
       3  
       4  extern void abort (void);
       5  
       6  struct S {
       7    int i1;
       8    int i2;
       9    int i3;
      10  };
      11  
      12  typedef double v4df  __attribute__ ((vector_size (32)));
      13  
      14  extern int foo (v4df, int i1, int i2, int i3, int i4, int i5, struct S s);
      15  
      16  void bar (v4df v, struct S s)
      17  {
      18    int r = foo (v, 1, 2, 3, 4, 5, s);
      19    if (r)
      20      abort ();
      21  }
      22  
      23  /* { dg-final { scan-assembler-not "vzeroupper" } } */