https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66917
--- Comment #15 from Richard Biener <rguenth at gcc dot gnu.org> --- For both loads and stores we do else if (DR_MISALIGNMENT (first_dr) == -1) { TREE_TYPE (data_ref) = build_aligned_type (TREE_TYPE (data_ref), TYPE_ALIGN (elem_type)); align = TYPE_ALIGN_UNIT (elem_type); misalign = 0; but TYPE_ALIGN (elem_type) doesn't always hold.