https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88760
--- Comment #41 from Jiu Fu Guo <guojiufu at gcc dot gnu.org> --- for code: subroutine foo (i, i1, block) integer :: i, i1 integer :: block(9, 9, 9) block(i:9,1,i1) = block(i:9,1,i1) - 10 end subroutine foo "-funroll-loops --param max-unroll-times=2 --param max-unrolled-insns=20" could help to improve some run time.(~10% on ppcle) main: do n = 0, N do i = 1, 9 do j = 1, 9 call foo (i, j, block) end do end do end do