2 /* { dg-options "-O3 -mvsx -Wno-psabi" } */
3 /* { dg-additional-options "-mdejagnu-cpu=power8" { target { ! has_arch_pwr8 } } } */
4 /* { dg-require-effective-target p8vector_hw } */
7 #define CHECK_H "sse2-check.h"
13 #define TEST sse2_test_pmovmskb_1
16 #include <emmintrin.h>
20 __attribute__((noinline
, unused
))
23 return _mm_movemask_epi8 (s1
);
34 s1
.x
= _mm_set_epi8 (1,2,3,4,10,20,30,90,-80,-40,-100,-15,98, 25, 98,7);
36 __asm("" : "+v"(s1
.x
));
39 for (i
= 0; i
< 16; i
++)
43 if (checkVi (&u
, &e
, 1))
46 printf ("sse2_test_pmovmskb_1; checkVi failed\n");
47 printf ("\t ([%x,%x,%x,%x, %x,%x,%x,%x,"
48 " %x,%x,%x,%x, %x,%x,%x,%x], -> %x)\n",
49 s1
.a
[0], s1
.a
[1], s1
.a
[2], s1
.a
[3], s1
.a
[4], s1
.a
[5], s1
.a
[6],
50 s1
.a
[7], s1
.a
[8], s1
.a
[9], s1
.a
[10], s1
.a
[11], s1
.a
[12],
51 s1
.a
[13], s1
.a
[14], s1
.a
[15], u
);
52 printf ("\t expect %x\n", e
);