This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

auto-vectorization of sin() function for fortran

I tried to use armclang to auto-vectorize sin().  But it doesn't work.  Any suggestions?

Regards,

subroutine sum(myarr1,myarr2,ub)
        real, pointer :: myarr1(:)
        integer :: ub
        
        !dir$ ivdep
        do i=1,ub
                myarr1(i) = sin(i/180.*3.1415)
        end do
end subroutine

armclang -c -O2 -mcpu=native -Rpass-missed=loop-vectorize -Rpass=loop-vectorize -S ex1_sin.f90
remark: ex1_sin.f90:6:1: loop not vectorized (Force=true) [-Rpass-missed=sve-loop-vectorize]
warning: ex1_sin.f90:6:1: loop not vectorized: failed explicitly specified loop vectorization [-Wpass-failed=sve-loop-vectorize]
remark: ex1_sin.f90:6:1: loop not vectorized (Force=true) [-Rpass-missed=loop-vectorize]
warning: ex1_sin.f90:6:1: loop not vectorized: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering [-Wpass-failed=transform-warning]
2 warnings generated.