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

--- Comment #4 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> Hm, I tried --target=sparcv8-sun-solaris2.11 but that seems to fail to
> reproduce any vectorization with -O2 -ftree-vectorize.  If I add -mvis I get
> something that could resemble the code you quote:

Do you mean sparc-sun-solaris2.11 I presume?  V8 is the 32-bit architecture of
the 90's, everything is V9 nowadays (but sparcv9-*-* is the 64-bit compiler).
But yes, in any case, -mvis is indeed always required to enable vectorization
on the SPARC V9.

> But somehow we end up with:
> 
>         .section        ".data"
>         .align 4
>         .type   uc, #object
>         .size   uc, 64
> uc:
>         .long   0
>         .long   1
>         .long   2
>         .long   3
> 
> so 'uc' is not properly aligned even though the vectorizer thinks it forces
> that.  And the rev in question likely caused that to misbehave.

Possibly too low BIGGEST_ALIGNMENT in 32-bit mode?

Reply via email to