1 /* { dg-do compile } */
2 /* { dg-options "-O2 -mavx -mtune=generic -dp" } */
3 
4 typedef struct objc_class *Class;
5 typedef struct objc_object
6 {
7   Class class_pointer;
8 } *id;
9 
10 typedef const struct objc_selector *SEL;
11 typedef void * retval_t;
12 typedef void * arglist_t;
13 
14 extern retval_t __objc_forward (id object, SEL sel, arglist_t args);
15 
16 double
__objc_double_forward(id rcv,SEL op,...)17 __objc_double_forward (id rcv, SEL op, ...)
18 {
19   void *args, *res;
20 
21   args = __builtin_apply_args ();
22   res = __objc_forward (rcv, op, args);
23   __builtin_return (res);
24 }
25 
26 /* { dg-final { scan-assembler-times "avx_vzeroupper" 2 } } */
27