1/* PR middle-end/49640 */
2/* { dg-do compile } */
3/* { dg-options "-O2 -std=gnu99 -fopenmp" } */
4
5void
6foo (int N, int M, int K, int P, int Q, int R, int i, int j, int k,
7     unsigned char x[P][Q][R], int y[N][M][K])
8{
9  int ii, jj, kk;
10
11#pragma omp parallel for private(ii,jj,kk)
12  for (ii = 0; ii < P; ++ii)
13    for (jj = 0; jj < Q; ++jj)
14      for (kk = 0; kk < R; ++kk)
15	y[i + ii][j + jj][k + kk] = x[ii][jj][kk];
16}
17
18void
19bar (int N, int M, int K, int P, int Q, int R, int i, int j, int k,
20     unsigned char x[P][Q][R], float y[N][M][K], float factor, float zero)
21{
22  int ii, jj, kk;
23
24#pragma omp parallel for private(ii,jj,kk)
25  for (ii = 0; ii < P; ++ii)
26    for (jj = 0; jj < Q; ++jj)
27      for (kk = 0; kk < R; ++kk)
28	y[i + ii][j + jj][k + kk] = factor * x[ii][jj][kk] + zero;
29}
30