------- Comment #59 from hjl dot tools at gmail dot com 2009-10-15 20:54 ------- (In reply to comment #58) > (In reply to comment #53) > > Created an attachment (id=18656) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18656&action=view) [edit] > > An updated patch for gcc 4.4 > > Seamonkey is correct with that patch. But it fails with structures containing > sse vector, i.e. this. My patch (in comment #46) handles this case correctly > (it reallign the stack if any structure on it has alignment at least 16), so > should we submit that patch instead? > > I think it's wrong to add alignment test to the autovectorizer because vector > data types can be created explicitly without autovectorizer. > > Mikulas > > > typedef int v4si __attribute__ ((vector_size (16))); > > struct x { > v4si v; > v4si w; > }; > > void y(void *); > > v4si x(void) > { > struct x x; > y(&x); > } >
Why should gcc align the stack when SSE registers aren't used at all? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40838