On Thu, 5 Jul 2007, Roman Zippel wrote:

> Hi,
> 
> On Thu, 5 Jul 2007, Richard Guenther wrote:
> 
> > > How should this be optimized within the context of your canonicalization?
> > 
> > For example by making fold_plusminus_mult_expr do what its comment
> > suggest, "No identical multiplicands; see if we can find a common
> > power-of-two factor ..."
> > 
> > Can you try the following and see if it helps m68k?
> 
> The problem isn't specific to m68k, it's a problem for i386 and probably 
> others as well.
> The patch is unfortunately no improvement, the problem is the canonical 
> form for addresses is (p * c) + o, which directly conflicts with yours.

For me both canonicalizations generate

        movl    8(%ecx,%edx,4), %eax
        addl    4(%ecx,%edx,4), %eax

Richard.

Reply via email to