blob: 85acb980f101b88edeecd25b94bf5063f2c5a35e [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -fopenmp -fdump-tree-vect-details" } */
/* { dg-additional-options "-msse2" { target { i?86-*-* x86_64-*-* } } } */
/* { dg-additional-options "-mavx" { target avx } } */
/* { dg-final { scan-tree-dump-times "vectorized \[1-9]\[0-9]* loops in function" 5 "vect" { target i?86-*-* x86_64-*-* aarch64-*-* } } } */
int a[10000][128];
void
foo (void)
{
#pragma omp for simd schedule (simd: dynamic, 32) collapse(2)
for (int i = 0; i < 10000; i++)
for (int j = 0; j < 128; j++)
a[i][j] += 3;
}
void
bar (void)
{
#pragma omp parallel for simd schedule (simd: dynamic, 32) collapse(2)
for (int i = 0; i < 10000; i++)
for (int j = 0; j < 128; j++)
a[i][j] += 3;
}
void
baz (void)
{
#pragma omp distribute parallel for simd schedule (simd: dynamic, 32) collapse(2)
for (int i = 0; i < 10000; i++)
for (int j = 0; j < 128; j++)
a[i][j] += 3;
}
void
qux (void)
{
#pragma omp distribute simd dist_schedule (static, 128) collapse(2)
for (int i = 0; i < 10000; i++)
for (int j = 0; j < 128; j++)
a[i][j] += 3;
}
void
corge (void)
{
#pragma omp taskloop simd collapse(2)
for (int i = 0; i < 10000; i++)
for (int j = 0; j < 128; j++)
a[i][j] += 3;
}