1 /* { dg-do compile } */
2 /* { dg-options "-O2 -msse -mno-sse4" } */
3 /* { dg-final { scan-assembler-not "movlhps" } } */
4 /* { dg-final { scan-assembler-not "unpckhps" } } */
5 /* { dg-final { scan-assembler-not "unpcklps" } } */
6 /* { dg-final { scan-assembler-not "shufps" } } */
7 
8 typedef float __v4sf __attribute__ ((__vector_size__ (16)));
9 typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__));
10 
11 static __m128
vector_init(float f0,float f1,float f2,float f3)12 vector_init (float f0,float f1, float f2,float f3)
13 {
14   __v4sf y = { f0, f1, f2, f3 };
15    return (__m128) y;
16 }
17 
18 __m128
foo2(__m128 x)19 foo2 (__m128 x)
20 {
21   return vector_init (11.4, ((__v4sf) x)[1], ((__v4sf) x)[2],
22 		      ((__v4sf) x) [3]);
23 }
24