Use conditional internal functions in if-conversion
[official-gcc.git] / gcc / testsuite / gcc.target / aarch64 / sve / vcond_11_run.c
blob9a4edb81448296eaa9186ad8103d1d06a3564fe5
1 /* { dg-do run { target aarch64_sve_hw } } */
2 /* { dg-options "-O2 -ftree-vectorize -march=armv8-a+sve" } */
4 #include "vcond_11.c"
6 #define N 133
8 #define TEST_LOOP(TYPE) \
9 { \
10 int a[N]; \
11 TYPE b[N]; \
12 for (int i = 0; i < N; ++i) \
13 { \
14 a[i] = i % 5; \
15 b[i] = i % 7; \
16 } \
17 test_##TYPE (a, b, 10, 11, 12, 13, N); \
18 for (int i = 0; i < N; ++i) \
19 if (a[i] != 10 + (i & 1) * 2 + (i % 5 == 0 || i % 7 == 3)) \
20 __builtin_abort (); \
23 int
24 main (void)
26 FOR_EACH_TYPE (TEST_LOOP);
27 return 0;