On Fri, 6 Jul 2007, Roman Zippel wrote: > Hi, > > On Thu, 5 Jul 2007, Richard Guenther wrote: > > > For me both canonicalizations generate > > > > movl 8(%ecx,%edx,4), %eax > > addl 4(%ecx,%edx,4), %eax > > Hmm, there seem to be other problems in this area as well. > Either add a "p[i + 3]" to it to fool combine or try this: > > int g(void); > void foo(int *p, unsigned int i) > { > p[i + 1] = g(); > p[i + 2] = g(); > }
Btw, is there a bug-report about the issue you are facing? Please let's take this issue there. Thanks, Richard.