2 /* { dg-require-effective-target sse4 } */
3 /* { dg-options "-O2 -msse4.1" } */
6 #define CHECK_H "sse4_1-check.h"
10 #define TEST sse4_1_test
15 #include <smmintrin.h>
50 res
[0].i
= _mm_extract_ps (val1
.x
, msk0
);
51 res
[1].i
= _mm_extract_ps (val1
.x
, msk1
);
52 res
[2].i
= _mm_extract_ps (val1
.x
, msk2
);
53 res
[3].i
= _mm_extract_ps (val1
.x
, msk3
);
55 _MM_EXTRACT_FLOAT (resm
[0], val2
.x
, msk0
);
56 _MM_EXTRACT_FLOAT (resm
[1], val2
.x
, msk1
);
57 _MM_EXTRACT_FLOAT (resm
[2], val2
.x
, msk2
);
58 _MM_EXTRACT_FLOAT (resm
[3], val2
.x
, msk3
);
65 for( i
=0; i
< 4; i
++ )
67 if (res
[i
].f
!= val1
.f
[masks
[i
]])
69 if (resm
[i
] != val2
.f
[masks
[i
]])