https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102949
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Eric Botcazou from comment #4) > > 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? For the default to work, yes - but I'm testing a patch fixing the vectorizer which attemts to override DECL_ALIGN but fails because of a mistake in the mentioned revision.