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?