1 /* { dg-do run { target le } } */
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 } */
6 #define NO_WARN_X86_INTRINSICS 1
9 #define CHECK_H "sse-check.h"
15 #define TEST sse_test_andnps_1
18 #include <xmmintrin.h>
21 __attribute__((noinline
, unused
))
22 test (__m128 s1
, __m128 s2
)
24 return _mm_andnot_ps (s1
, s2
);
31 int source1
[4]={34, 545, 955, 67};
32 int source2
[4]={67, 4, 57, 897};
36 s1
.x
= _mm_loadu_ps ((float *)source1
);
37 s2
.x
= _mm_loadu_ps ((float *)source2
);
38 u
.x
= test (s1
.x
, s2
.x
);
40 e
[0] = (~source1
[0]) & source2
[0];
41 e
[1] = (~source1
[1]) & source2
[1];
42 e
[2] = (~source1
[2]) & source2
[2];
43 e
[3] = (~source1
[3]) & source2
[3];
44 __builtin_memcpy (f
, e
, sizeof (f
));
46 if (check_union128 (u
, f
))