1 /* { dg-do run { target i?86-*-* x86_64-*-* } } */
2 /* { dg-require-effective-target sse4 } */
3 /* { dg-options "-O2 -msse4.1" } */
5 #include "sse4_1-check.h"
23 static unsigned int ins
[4] = { 3, 4, 5, 6 };
32 /* Check pinsrd imm8, r32, xmm. */
33 res
[0].x
= _mm_insert_epi32 (val
.x
, ins
[0], msk0
);
34 res
[1].x
= _mm_insert_epi32 (val
.x
, ins
[0], msk1
);
35 res
[2].x
= _mm_insert_epi32 (val
.x
, ins
[0], msk2
);
36 res
[3].x
= _mm_insert_epi32 (val
.x
, ins
[0], msk3
);
43 for (i
= 0; i
< 4; i
++)
46 tmp
.i
[masks
[i
]] = ins
[0];
47 if (memcmp (&tmp
, &res
[i
], sizeof (tmp
)))
51 /* Check pinsrd imm8, m32, xmm. */
52 for (i
= 0; i
< 4; i
++)
54 res
[i
].x
= _mm_insert_epi32 (val
.x
, ins
[i
], msk0
);
58 for (i
= 0; i
< 4; i
++)
61 tmp
.i
[masks
[i
]] = ins
[i
];
62 if (memcmp (&tmp
, &res
[i
], sizeof (tmp
)))