1 /* { dg-do compile } */
2 /* { dg-options "-fopenmp-simd -O2 -mavx512f -masm=att" } */
3 /* { dg-final { scan-assembler "vpadd\[^\n\r]*%xmm" } } */
4 /* { dg-final { scan-assembler "vpadd\[^\n\r]*%ymm" } } */
5 /* { dg-final { scan-assembler "vpadd\[^\n\r]*%zmm" } } */
6
7 #define N 1024
8 int a[N];
9
10 void
11 f1 (void)
12 {
13 int i;
14 #pragma omp simd simdlen (4)
15 for (i = 0; i < N; ++i)
16 a[i] = a[i] + 1;
17 }
18
19 void
20 f2 (void)
21 {
22 int i;
23 #pragma omp simd simdlen (8)
24 for (i = 0; i < N; ++i)
25 a[i] = a[i] + 2;
26 }
27
28 void
29 f3 (void)
30 {
31 int i;
32 #pragma omp simd simdlen (16)
33 for (i = 0; i < N; ++i)
34 a[i] = a[i] + 3;
35 }