1 /* { dg-do compile } */
2 /* { dg-options "-O2 -msse2" } */
4 typedef int __v4si
__attribute__ ((__vector_size__ (16)));
5 typedef float __v4sf
__attribute__ ((__vector_size__ (16)));
7 int fooSI_1(__v4si
*val
)
9 return __builtin_ia32_vec_ext_v4si(*val
, 1);
11 /* { dg-final { scan-assembler-not "pshufd" } } */
13 int fooSI_2(__v4si
*val
)
15 return __builtin_ia32_vec_ext_v4si(*val
, 2);
17 /* { dg-final { scan-assembler-not "punpckhdq" } } */
19 float fooSF_2(__v4sf
*val
)
21 return __builtin_ia32_vec_ext_v4sf(*val
, 2);
23 /* { dg-final { scan-assembler-not "unpckhps" } } */
25 float fooSF_3(__v4sf
*val
)
27 return __builtin_ia32_vec_ext_v4sf(*val
, 3);
29 /* { dg-final { scan-assembler-not "shufps" } } */