On Fri, Apr 08, 2005 at 10:52:02AM -0600, Jeffrey A Law wrote: > > There's a rather annoying bug in the vectorizer which can cause us to > > have SSA_NAMEs which are used, but never defined. > > > > Consider this testcase compiled with -msse2 -ftree-vectorize: > > > > typedef char achar __attribute__ ((__aligned__(16))); [ and we then use arrays of achar ]
On Fri, Apr 08, 2005 at 06:58:54PM +0200, Jakub Jelinek wrote: > See middle-end/20794, there is discussion about declaring this > invalid. When a type with size that is not an integral multiple > of alignment (e.g. smaller size than alignment) is used in an > array, we have the choice either to violate the alignment > request for second and some subsequent array elements, > or make the elements bigger, but then pointer arithmetics > won't work very well. The problem, then, is that there's no way for the user to specify that we have an array whose beginning has, say, 16-byte alignment, but that after that, the elements have their ordinary sizes (meaning that subsequent elements are not aligned). Or, at least, if there is a way I don't know what it is.