2 /* { dg-require-effective-target sse4 } */
3 /* { dg-options "-O2 -msse4.1" } */
5 #include "sse4_1-check.h"
11 #include <emmintrin.h>
14 __attribute__((noinline
))
15 check (__m128i x
, unsigned char *v
, int j
)
26 for (i
= 0; i
< sizeof (u
) / sizeof (v
[0]); i
++)
32 printf ("%i: 0x%x != 0x%x\n", i
, v
[i
], u
.i
[i
]);
40 printf ("%i: 0x%x != 0\n", i
, u
.i
[i
]);
47 __attribute__((noinline
))
48 test (unsigned char *v
)
52 x
= _mm_set_epi8 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, v
[0]);
54 x
= _mm_set_epi8 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, v
[1], 0);
56 x
= _mm_set_epi8 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, v
[2], 0, 0);
58 x
= _mm_set_epi8 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, v
[3], 0, 0, 0);
60 x
= _mm_set_epi8 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, v
[4], 0, 0, 0, 0);
62 x
= _mm_set_epi8 (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, v
[5], 0, 0, 0, 0, 0);
64 x
= _mm_set_epi8 (0, 0, 0, 0, 0, 0, 0, 0, 0, v
[6], 0, 0, 0, 0, 0, 0);
66 x
= _mm_set_epi8 (0, 0, 0, 0, 0, 0, 0, 0, v
[7], 0, 0, 0, 0, 0, 0, 0);
74 = { 0x7B, 0x5B, 0x54, 0x65, 0x73, 0x74, 0x56, 0x65,
75 0x63, 0x74, 0x6F, 0x72, 0x5D, 0x53, 0x47, 0x5D };