OSDN Git Service

PR rtl-optimization/323
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.target / i386 / pr32661.c
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -msse2" } */
3
4 typedef int __v4si __attribute__ ((__vector_size__ (16)));
5 typedef float __v4sf __attribute__ ((__vector_size__ (16)));
6
7 int fooSI_1(__v4si *val)
8 {
9   return __builtin_ia32_vec_ext_v4si(*val, 1);
10 }
11 /* { dg-final { scan-assembler-not "pshufd" } } */
12
13 int fooSI_2(__v4si *val)
14 {
15   return __builtin_ia32_vec_ext_v4si(*val, 2);
16 }
17 /* { dg-final { scan-assembler-not "punpckhdq" } } */
18
19 float fooSF_2(__v4sf *val)
20 {
21   return __builtin_ia32_vec_ext_v4sf(*val, 2);
22 }
23 /* { dg-final { scan-assembler-not "unpckhps" } } */
24
25 float fooSF_3(__v4sf *val)
26 {
27   return __builtin_ia32_vec_ext_v4sf(*val, 3);
28 }
29 /* { dg-final { scan-assembler-not "shufps" } } */