[AArch64] Add SVE support for integer division
[official-gcc.git] / gcc / testsuite / gcc.target / aarch64 / sve / div_1_run.c
blob8134837a5db4aa4a7e67a5c0e500cf74260fc651
1 /* { dg-do run { target aarch64_sve_hw } } */
2 /* { dg-options "-O2 -ftree-vectorize -fno-vect-cost-model --save-temps" } */
4 #include "div_1.c"
6 #define N 79
8 #define TEST_LOOP(TYPE) \
9 { \
10 TYPE dst[N], src1[N], src2[N]; \
11 for (int i = 0; i < N; ++i) \
12 { \
13 src1[i] = i * 7 + i % 3; \
14 if (i % 11 > 7) \
15 src1[i] = -src1[i]; \
16 src2[i] = 5 + (i % 5); \
17 asm volatile ("" ::: "memory"); \
18 } \
19 mod_##TYPE (dst, src1, src2, N); \
20 for (int i = 0; i < N; ++i) \
21 if (dst[i] != src1[i] / src2[i]) \
22 __builtin_abort (); \
25 int
26 main (void)
28 TEST_ALL (TEST_LOOP);
29 return 0;