https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102767

Kewen Lin <linkw at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |linkw at gcc dot gnu.org

--- Comment #9 from Kewen Lin <linkw at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #8)
> 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.

Yes, it's inconsistent between the hook and costing query. I'll make a patch.

Reply via email to