! { dg-options "-O2 -fpredictive-commoning" } subroutine foo(x,y,n) integer n real*8 y(n,n,n),x(n,n,n) integer k, j, i do k = 2, n-1 do j = 2, n-1 do I = 2, n-1 y(i,j,k) = y(i,j,k) + + (x(i-1,j-1,k) + + x(i,j-1,k-1) + + x(i,j+1,k-1) + + x(i,j+1,k+1) + + x(i+1,j,k+1)) + + (x(i-1,j-1,k-1) + + x(i+1,j-1,k-1) + + x(i-1,j+1,k-1) + + x(i+1,j+1,k-1) + + x(i-1,j+1,k+1) + + x(i+1,j+1,k+1)) enddo enddo enddo return end