On Fri, Jan 3, 2014 at 12:20 PM, Eric Botcazou <ebotca...@adacore.com> wrote: >> When compiled with -m32 -mavx, we get: >> >> .align 32 >> .type a, @object >> .size a, 32 >> a: >> >> so, the alignment was already raised elsewhere. We get .align 16 for >> -msse -m32 when vectorizing. >> >> without -msse (and consequently without vectorizing), we get for -m32: >> >> .align 4 >> .type a, @object >> .size a, 32 >> a: >> >> which corresponds to 32bit ABI rules (we still get .align16 for 64bit ABI). > > Yes, but the issue is that it was 32 before so the alignment decrease is > weird.
Yes, but this change is benign, and as shown, I don't think we need this functionality at all. The data from other TUs is accessed with a 4 byte alignment (on 32bit targets, and unfortunately also on 64bit targets), and the alignment of local data is increased elsewhere. I am testing a patch that removes "max_align" part from ix86_data_alignment. Uros.