On Mar 14, 2012, at 5:59 AM, Richard Guenther wrote: >> This fixes PR52571, we should not align DECL_COMMON variables as >> they might be pre-empted by a definition with lower alignment.
I added this to the PR: Ah, I had another thought. COMDAT and LINKONCE things I don't think can be realigned for all the same reasons that one cannot align COMMON. I've not thought about this long and hard, so, could be wrong, so, would be good to have a C++ or a vectorizer person review the idea. The idea is, if you compile one translation unit with a vectorizor on, and another with it off, we wind up with two instantiations, each with different alignment, and the one picked at the end need not be either of them, but rather an explicit instantiation. This seems identical to what happens to common to me.