https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120982
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- That is, DR_TARGET_ALIGNMENT and dr_aligned do not mix well for "over-aligned" DR_TARGET_ALIGNMENT. The immediate issue might be best fixed by dropping the set_ptr_info_alignment calls, but we are using the same wrong over-alignment for .MASK_LOAD for example here: else if (final_mask) { tree ptr = build_int_cst (ref_type, align * BITS_PER_UNIT); possibly harmless again in the end of course. Instead of complicating uses of DR_TARGET_ALIGNMENT it might be better to have DR_TARGET_LOOP_ALIGNMENT for the purpose of ensuring each first access in the vector loop is aligned (or DR_TARGET_GROUP_ALIGNMENT). Of course that would require handling that everywhere. I also wonder why we even pass analysis with this large DR_TARGET_ALIGNMENT when DR_STEP obviously does not maintain it ...