The compilers will parallelize the DO loop following a DOALL directive (if compiled with the -parallel or -explicitpar options).
Analysis and transformation of reduction operations within loops is not done if they are explicitly parallelized.
Example: Explicit parallelization of a loop:
demo% cat t4.f
...
C$PAR DOALL
do i = 1, n
a(i) = b(i) * c(i)
end do
do k = 1, m
x(k) = x(k) * z(k,k)
end do
...
demo% f77 -explicitpar t4.f