/* { 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;
}
