| /* { dg-do run { target aarch64_sve_hw } } */ |
| /* { dg-options "-O2 -ftree-vectorize -march=armv8-a+sve --param aarch64-sve-compare-costs=0" } */ |
| |
| #include "vcond_11.c" |
| |
| #define N 133 |
| |
| #define TEST_LOOP(TYPE) \ |
| { \ |
| int a[N]; \ |
| TYPE b[N]; \ |
| for (int i = 0; i < N; ++i) \ |
| { \ |
| a[i] = i % 5; \ |
| b[i] = i % 7; \ |
| } \ |
| test_##TYPE (a, b, 10, 11, 12, 13, N); \ |
| for (int i = 0; i < N; ++i) \ |
| if (a[i] != 10 + (i & 1) * 2 + (i % 5 == 0 || i % 7 == 3)) \ |
| __builtin_abort (); \ |
| } |
| |
| int |
| main (void) |
| { |
| FOR_EACH_TYPE (TEST_LOOP); |
| return 0; |
| } |