1 /* { dg-do compile } */
2 /* { dg-require-effective-target ia32 } */
3 /* { dg-options "-O -march=i686" } */
4 
5 #pragma GCC push_options
6 #pragma GCC target("sse2")
7 typedef int __v4si __attribute__ ((__vector_size__ (16)));
8 typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
9 
10 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_epi32(int __q3,int __q2,int __q1,int __q0)11 _mm_set_epi32 (int __q3, int __q2, int __q1, int __q0) /* { dg-error "target specific option mismatch" } */
12 {
13   return __extension__ (__m128i)(__v4si){ __q0, __q1, __q2, __q3 };
14 }
15 #pragma GCC pop_options
16 
17 
18 __m128i
f1(void)19 f1(void)
20 { /* { dg-message "warning: SSE vector return without SSE enabled changes the ABI" } */
21   return _mm_set_epi32 (0, 0, 0, 0); /* { dg-message "called from here" } */
22 }
23