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 doend subroutine
armclang -c -O2 -mcpu=native -Rpass-missed=loop-vectorize -Rpass=loop-vectorize -S ex1_sin.f90remark: 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.