------- Comment #6 from irar at il dot ibm dot com 2009-03-01 10:34 ------- Reduced it a bit more:
subroutine adw_trajsp (F_u,i0,in,j0,jn) implicit none real F_u(*) integer i0,in,j0,jn integer n,i,j real*8 xsin(i0:in,j0:jn) !$omp parallel do private(xsin) do j=j0,jn do i=i0,in xsin(i,j) = sqrt(F_u(n)) end do end do !$omp end parallel do return end on x86_64-suse-linux with gfortran -c -fopenmp -fcray-pointer -fexceptions -O2 -ftree-vectorize. When we vectorize a function call, we replace the RHS of the stmt with "something harmless": D.1692_41 = __builtin_sqrtf (pretmp.45_79); is replaced with D.1692_41 = 0.0;. We don't remove the original stmt from the EH table. The question is it OK to vectorize function that are in EH table? -- irar at il dot ibm dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenther at suse dot de Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2009-03-01 10:34:19 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39318