http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51000
Ira Rosen <irar at il dot ibm.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P1 |P3 Status|ASSIGNED |NEW Target Milestone|4.7.0 |--- --- Comment #3 from Ira Rosen <irar at il dot ibm.com> 2011-11-09 13:46:41 UTC --- The patch looks ok, but if I change Index: gfortran.dg/alloc_comp_assign_2.f90 =================================================================== --- gfortran.dg/alloc_comp_assign_2.f90 (revision 181190) +++ gfortran.dg/alloc_comp_assign_2.f90 (working copy) @@ -26,7 +26,7 @@ y(1) = b ((/x(1),x(2)/)) y(2) = b ((/x(2),x(1)/)) - forall (k = 1:2, j=1:2, i = 1:4, y(k)%at(j)%i(i) <= 10) + forall (k = 1:2, j=1:2, i = 1:16, y(k)%at(j)%i(i) <= 10) y(k)%at(j)%i(i) = j*4-i+k end forall if (any ((/(((y(k)%at(i)%i(j), j = 1,4), i = 1,2), k = 1,2)/) .ne. & making niters sufficient for vectorization, it fails in vect_remove_stores with alloc_comp_assign_2.f90: In function 'MAIN__': alloc_comp_assign_2.f90:7:0: internal compiler error: in gsi_for_stmt, at gimple-iterator.c:560 trying to get gsi for VIEW_CONVERT_EXPR<<unnamed-unsigned:8>>(temp.41[mi.42_1293]) = patt.353_2093; I don't think you can reproduce the exact same behavior on x86, because it supports misaligned stores.