/* { dg-do compile } */
/* { dg-options "-O2 -fopenmp -fvect-cost-model=cheap -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;
}
