1 /* PR target/69255 */
2 /* { dg-do compile } */
3 /* { dg-options "-msse4 -mno-avx" } */
4 
5 #pragma GCC push_options
6 #pragma GCC target "avx512vl"
7 #pragma GCC pop_options
8 #pragma GCC target ""
9 __attribute__ ((__vector_size__ (32))) long long a;
10 __attribute__ ((__vector_size__ (16))) int b;
11 
12 void
foo(const long long * p)13 foo (const long long *p)
14 {
15   volatile __attribute__ ((__vector_size__ (32))) long long c;
16   c = __builtin_ia32_gather3siv4di (a, p, b, 1, 1);		/* { dg-error "needs isa option -m32 -mavx512vl" } */
17   /* { dg-warning "AVX vector return without AVX enabled changes the ABI" "" { target *-*-* } .-1 } */
18   /* { dg-warning "AVX vector argument without AVX enabled changes the ABI" "" { target *-*-* } .-2 } */
19 }
20