On Mon, Oct 21, 2013 at 01:30:37PM +0200, Richard Biener wrote: > This fixes a regression introduced in GCC 4.2 after which we no > longer fold (unsigned) (X /[ex] 4) * 4 to (unsigned) X. > > Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk.
Don't we want to do the same optimization on GIMPLE? I mean, if the testcase is int * fx (int *b, int *e) { ptrdiff_t p = e - b; return b + p; } (or s/ptrdiff_t/long long/, etc.)? Jakub