The compiler automatically peeled iterations from the vector loop into a scalar loop to align the vector loop with a particular memory reference; however, this optimization may not be ideal. To possibly achieve better performance, disable automatic peel generation using the directive: !DIR$ VECTOR NODYNAMIC_ALIGN
!DIR$ VECTOR NODYNAMIC_ALIGN
do i = 1, len
a(i) = b(i) * c(i)
enddo