2 /* { dg-options "-O3 -mpower8-vector" } */
3 /* { dg-require-effective-target lp64 } */
4 /* { dg-require-effective-target p8vector_hw } */
6 #define NO_WARN_X86_INTRINSICS 1
9 #define CHECK_H "sse-check.h"
15 #define TEST sse_test_pmaxub_1
18 #include <xmmintrin.h>
21 __attribute__((noinline
, unused
))
22 test (__m64 s1
, __m64 s2
)
24 return _mm_max_pu8 (s1
, s2
);
27 static void TEST (void)
29 __m64_union u
, e
, s1
, s2
;
32 s1
.as_m64
= _mm_set_pi8 (1, 2, 3, 4, 5, 6, 7, 8);
33 s2
.as_m64
= _mm_set_pi8 (8, 7, 6, 5, 4, 3, 2, 1);
34 u
.as_m64
= test (s1
.as_m64
, s2
.as_m64
);
36 for (i
= 0; i
< 8; i
++)
38 ((unsigned char) s1
.as_char
[i
] > (unsigned char) s2
.as_char
[i
]) ?
39 s1
.as_char
[i
] : s2
.as_char
[i
];
41 if (u
.as_m64
!= e
.as_m64
)