Hi, I just noticed today that (implicit) loops of the kind
xmin = minval(nodes(1,inductor_number(1:number_of_nodes))) (lines 5057 to 5062 of the polyhedron test induct.f90) are no longer vectorized (the change occurred between revisions 158215 and 158921). With -ftree-vectorizer-verbose=6, I got induct.f90:5057: note: not vectorized: data ref analysis failed D.6088_872 = (*D.4001_143)[D.6087_871]; induct.f90:5057: note: Alignment of access forced using peeling. induct.f90:5057: note: Vectorizing an unaligned access. induct.f90:5057: note: vect_model_load_cost: unaligned supported by hardware. induct.f90:5057: note: vect_model_load_cost: inside_cost = 2, outside_cost = 0 . induct.f90:5057: note: vect_model_simple_cost: inside_cost = 2, outside_cost = 0 . induct.f90:5057: note: vect_model_store_cost: inside_cost = 2, outside_cost = 0 . induct.f90:5057: note: cost model: prologue peel iters set to vf/2. induct.f90:5057: note: cost model: epilogue peel iters set to vf/2 because peeling for alignment is unknown . induct.f90:5057: note: Cost model analysis: Vector inside of loop cost: 6 Vector outside of loop cost: 20 Scalar iteration cost: 3 Scalar outside cost: 7 prologue iterations: 2 epilogue iterations: 2 Calculated minimum iters for profitability: 5 induct.f90:5057: note: Profitability threshold = 4 induct.f90:5057: note: Profitability threshold is 4 loop iterations. induct.f90:5057: note: LOOP VECTORIZED. and now: induct.f90:5057: note: not vectorized: data ref analysis failed D.6017_848 = (*D.4001_131)[D.6016_847]; Is this known/expected or should I open a new PR? Cheers Dominique