> /usr/local/gcc43/bin/gcc -O3 -fno-pic -fomit-frame-pointer -m64 -S > gcc-struct-stores.i -v Using built-in specs. Target: i386-apple-darwin8.10.1 Configured with: ../gcc/configure --prefix=/usr/local/gcc43 --with-arch=nocona --with-tune=nocona --with-gmp=/sw --with-system-zlib --enable-languages=c,c++,objc,obj-c++ --disable-bootstrap Thread model: posix gcc version 4.3.0 20071008 (experimental) (GCC)
GCC updates c->low and c->range in the middle of the function: movl %r8d, (%rdi) movl %edx, 4(%rdi) but they're overwritten at the end: movl %edx, 4(%rdi) sall %cl, (%rdi) I don't know if there are aliasing issues, but marking it __restrict doesn't affect it. -- Summary: gcc generates dead struct stores Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: minor Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: astrange at ithinksw dot com GCC build triplet: i386-apple-darwin8.10.1 GCC host triplet: i386-apple-darwin8.10.1 GCC target triplet: i386-apple-darwin8.10.1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33705