3 #define N (VECTOR_BITS / 32)
6 #define RUN_COUNT(COUNT) \
7 void __attribute__ ((noipa)) \
8 run_##COUNT (int *restrict a, int *restrict b) \
10 for (int i = 0; i < N * COUNT; ++i) \
12 a[i * 2] = b[i * 2] + COUNT; \
13 a[i * 2 + 1] = COUNT; \
22 void __attribute__ ((noipa
))
23 check (int *restrict a
, int count
)
26 for (int i
= 0; i
< count
* N
; ++i
)
27 if (a
[i
* 2] != i
* 41 + count
|| a
[i
* 2 + 1] != count
)
29 if (a
[count
* 2 * N
] != 999)
33 int a
[N
* MAX_COUNT
* 2 + 1], b
[N
* MAX_COUNT
* 2];
40 for (int i
= 0; i
< N
* MAX_COUNT
; ++i
)
43 asm volatile ("" ::: "memory");
65 /* { dg-final { scan-tree-dump {LOOP VECTORIZED} "vect" { target { { vect_int && vect_perm } && vect_element_align } } } } */