2 /* { dg-options "-O3 -mvsx" } */
3 /* { dg-additional-options "-mdejagnu-cpu=power8" { target { ! has_arch_pwr8 } } } */
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_psadbw_1
18 #include <xmmintrin.h>
21 __attribute__((noinline
, unused
))
22 test (__m64 s1
, __m64 s2
)
24 return _mm_sad_pu8 (s1
, s2
);
30 __m64_union u
, e
, s1
, s2
;
35 s1
.as_m64
= _mm_set_pi8 (1, 2, 3, 4, 5, 6, 7, 8);
36 s2
.as_m64
= _mm_set_pi8 (8, 7, 6, 5, 4, 3, 2, 1);
37 u
.as_m64
= test (s1
.as_m64
, s2
.as_m64
);
39 for (i
= 0; i
< 8; i
++)
40 tmp
[i
] = __builtin_abs (s1
.as_char
[i
] - s2
.as_char
[i
]);
42 for (i
= 0; i
< 8; i
++)
43 e
.as_short
[0] += tmp
[i
];
45 if (u
.as_m64
!= e
.as_m64
)