1 /* { dg-do run { target { aarch64_sve_hw } } } */
2 /* { dg-options "-O3" } */
4 #include "nlogical_1.c"
8 #define TEST_VNLOGICAL(TYPE) \
10 TYPE dst[N], src[N]; \
11 for (int i = 0; i < N; ++i) \
14 asm volatile ("" ::: "memory"); \
16 vnlogical_not_##TYPE (dst, N); \
17 for (int i = 0; i < N; ++i) \
18 if (dst[i] != (TYPE) ~(i ^ 42)) \
20 for (int i = 0; i < N; ++i) \
24 asm volatile ("" ::: "memory"); \
26 vnlogical_bic_##TYPE (dst, src, N); \
27 for (int i = 0; i < N; ++i) \
28 if (dst[i] != (TYPE) ((i ^ 42) & ~(i % 5))) \
32 int __attribute__ ((optimize (1)))
35 TEST_ALL (TEST_VNLOGICAL
)