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>
55 asm volatile ("" : "+m" (val1
));
56 res
[0].x
= _mm_insert_ps (val2
.x
, val1
.x
, msk0
);
57 asm volatile ("" : "+m" (val1
));
58 res
[1].x
= _mm_insert_ps (val2
.x
, val1
.x
, msk1
);
59 asm volatile ("" : "+m" (val1
));
60 res
[2].x
= _mm_insert_ps (val2
.x
, val1
.x
, msk2
);
61 asm volatile ("" : "+m" (val1
));
62 res
[3].x
= _mm_insert_ps (val2
.x
, val1
.x
, msk3
);
69 for (i
= 0; i
< 4; i
++)
71 asm volatile ("" : "+m" (val1
));
72 res
[i
+ 4].x
= _mm_insert_ps (val2
.x
, val1
.x
, msk4
);
83 tmp
.f
[(masks
[i
] & 0x30) >> 4] = val1
.f
[(masks
[i
] & 0xC0) >> 6];
85 for (j
= 0; j
< 4; j
++)
86 if (masks
[i
] & (0x1 << j
))
89 if (memcmp (&res
[i
], &tmp
, sizeof (tmp
)))