2 /* { dg-options "-O3 -mpower8-vector -Wno-psabi" } */
3 /* { dg-require-effective-target p8vector_hw } */
5 #define NO_WARN_X86_INTRINSICS 1
8 #define CHECK_H "sse-check.h"
14 #define TEST sse_test_shufps_1
19 #include <xmmintrin.h>
21 float select4(const float *src
, unsigned int control
)
37 __attribute__((noinline
, unused
))
38 test (__m128 s1
, __m128 s2
)
40 return _mm_shuffle_ps (s1
, s2
, MASK
);
43 static void TEST (void)
49 s1
.x
= _mm_set_ps (1.1, 1.2, 1.3, 1.4);
50 s2
.x
= _mm_set_ps (2.1, 2.2, 2.3, 2.4);
51 u
.x
= test (s1
.x
, s2
.x
);
53 e
[0] = select4 (s1
.a
, (MASK
>> 0) & 0x3);
54 e
[1] = select4 (s1
.a
, (MASK
>> 2) & 0x3);
55 e
[2] = select4 (s2
.a
, (MASK
>> 4) & 0x3);
56 e
[3] = select4 (s2
.a
, (MASK
>> 6) & 0x3);
58 if (check_union128 (u
, e
))