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.

Reply via email to