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"
26 val
[0].i
[0] = 0x11111111;
27 val
[0].i
[1] = 0x00000000;
28 val
[0].i
[2] = 0x00000000;
29 val
[0].i
[3] = 0x11111111;
34 val
[1].i
[0] = 0x00000000;
35 val
[1].i
[1] = 0x11111111;
36 val
[1].i
[2] = 0x11111111;
37 val
[1].i
[3] = 0x00000000;
50 val
[3].i
[0] = 0xffffffff;
51 val
[3].i
[1] = 0xffffffff;
52 val
[3].i
[2] = 0xffffffff;
53 val
[3].i
[3] = 0xffffffff;
59 zeros
[i
] = _mm_test_all_zeros (val
[i
].x
, val
[i
].x
);
61 for( i
=0; i
< 4; i
++ )
62 ones
[i
] = _mm_test_all_ones (val
[i
].x
);
64 v
= _mm_cmpeq_epi32 (val
[0].x
, val
[0].x
);
65 for( i
=0; i
< 4; i
++ )
66 mixed
[i
] = _mm_test_mix_ones_zeros (val
[i
].x
, v
);
68 for( i
=0; i
< 4; i
++ )
70 if (zeros
[i
] != correct_zeros
[i
])
72 if (ones
[i
] != correct_ones
[i
])
74 if (mixed
[i
] != correct_mixed
[i
])