1 /* { dg-do run { target i?86-*-* x86_64-*-* } } */
2 /* { dg-require-effective-target sse5 } */
3 /* { dg-options "-O2 -msse5" } */
5 #include "sse5-check.h"
19 } dst
, res
, src1
, src2
, src3
;
26 for (i
= 0; i
< 4; i
++)
48 for (i
= 0; i
< 8; i
++)
76 int i
, check_fails
= 0;
78 for (i
= 0; i
< 4; i
++)
80 if (res
.d
[i
] != dst
.d
[i
])
89 int i
, check_fails
= 0;
91 for (i
= 0; i
< 8; i
++)
93 if (res
.f
[i
] != dst
.f
[i
])
105 for (i
= 0; i
< 2; i
++)
106 dst
.y
[i
] = _mm_perm_pd (src1
.y
[i
], src2
.y
[i
], src3
.z
[i
]);
113 for (i
= 0; i
< 2; i
++)
114 dst
.x
[i
] = _mm_perm_ps (src1
.x
[i
], src2
.x
[i
], src3
.z
[i
]);