Re: [RFC][PATCH] Canonicalize address multiplies

2016-10-05 Thread Richard Biener
On Tue, Oct 4, 2016 at 2:53 PM, Wilco Dijkstra wrote: > GCC currently doesn't canonicalize address expressions. As a result > inefficient code is generated even for trivial index address expressions, > blocking CSE and other optimizations: > > int f(int *p, int i) { return p[i+2] + p[i+1]; } > >

Re: [RFC][PATCH] Canonicalize address multiplies

2016-10-04 Thread Oleg Endo
On Tue, 2016-10-04 at 12:53 +, Wilco Dijkstra wrote: > GCC currently doesn't canonicalize address expressions. As a result > inefficient code is generated even for trivial index address > expressions, > blocking CSE and other optimizations: > > int f(int *p, int i) { return p[i+2] + p[i+1]; }

[RFC][PATCH] Canonicalize address multiplies

2016-10-04 Thread Wilco Dijkstra
GCC currently doesn't canonicalize address expressions. As a result inefficient code is generated even for trivial index address expressions, blocking CSE and other optimizations: int f(int *p, int i) { return p[i+2] + p[i+1]; } sxtwx1, w1 add x1, x1, 2 add x2,