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"
24 vals
[0].x
= _MM_PICK_OUT_PS (val
.x
, 0);
25 vals
[1].x
= _MM_PICK_OUT_PS (val
.x
, 1);
26 vals
[2].x
= _MM_PICK_OUT_PS (val
.x
, 2);
27 vals
[3].x
= _MM_PICK_OUT_PS (val
.x
, 3);
29 for (i
= 0; i
< 4; i
++)
30 for (j
= 0; j
< 4; j
++)
31 if ((j
!= 0 && vals
[i
].f
[j
] != 0)
32 || (j
== 0 && vals
[i
].f
[j
] != val
.f
[i
]))
35 if (_MM_MK_INSERTPS_NDX(0, 0, 0x1) != 0x01
36 || _MM_MK_INSERTPS_NDX(0, 1, 0x2) != 0x12
37 || _MM_MK_INSERTPS_NDX(0, 2, 0x3) != 0x23
38 || _MM_MK_INSERTPS_NDX(0, 3, 0x4) != 0x34
39 || _MM_MK_INSERTPS_NDX(1, 0, 0x5) != 0x45
40 || _MM_MK_INSERTPS_NDX(1, 1, 0x6) != 0x56
41 || _MM_MK_INSERTPS_NDX(2, 2, 0x7) != 0xA7
42 || _MM_MK_INSERTPS_NDX(3, 3, 0x8) != 0xF8)