https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102767
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|rguenth at gcc dot gnu.org |unassigned at gcc dot gnu.org Status|ASSIGNED |NEW --- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> --- the backend says it can support misaligned V1TI via rs6000_builtin_support_vector_misalignment: rs6000_builtin_support_vector_misalignment (mode=E_V1TImode, type=<integer_type 0x7ffff66f41f8>, misalignment=8, is_packed=false) at ../../src/trunk/gcc/config/rs6000/rs6000.c:5069 ... /* VSX supports word-aligned vector. */ if (misalignment % 4 == 0) return true; so the vectorizer classifies it as dr_unaligned_supported and we of course are then allowed to cost the supported unaligned store but the cost hook doesn't consider elements == 1. Now, we probably should avoid 1-lane vector vectorization in BB vect but that's a different story.