blob: 86fee8586739abd7d681cffe7859da3e6d77634c [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[1024][1024];
void
foo (void)
{
#pragma omp for simd collapse(2)
for (int i = 0; i < 1024; i++)
for (int j = 0; j < i; j++)
a[i][j] += 3;
}
void
bar (void)
{
#pragma omp parallel for simd collapse(2)
for (int i = 0; i < 1024; i++)
for (int j = 0; j < i; j++)
a[i][j] += 3;
}
void
baz (void)
{
#pragma omp distribute parallel for simd collapse(2)
for (int i = 0; i < 1024; i++)
for (int j = 0; j < i; j++)
a[i][j] += 3;
}
void
qux (void)
{
#pragma omp distribute simd collapse(2)
for (int i = 0; i < 1024; i++)
for (int j = 0; j < i; j++)
a[i][j] += 3;
}
void
corge (void)
{
#pragma omp taskloop simd collapse(2)
for (int i = 0; i < 1024; i++)
for (int j = 0; j < i; j++)
a[i][j] += 3;
}