The compiler generated a masked vectorized remainder loop that contains too few iterations for efficient vector processing. A scalar loop may be more beneficial. To fix: Force scalar remainder generation using a directive: !DIR$ VECTOR NOVECREMAINDER.
...
! Force the compiler to not vectorize the remainder loop
!DIR$ VECTOR NOVECREMAINDER
do i=x+1, n
...subroutine add(A, N, X)
integer N, X
real A(N)
! Force the compiler to not vectorize the remainder loop
!DIR$ VECTOR NOVECREMAINDER
do i=x+1, n
a(i) = a(i) + a(i-x)
enddo
end