This series teaches combine to behave a bit better, and then takes advantage of that in the rs6000 backend.
I'll test the combine patches on x86_64-linux before committing, and will wait a bit for comments anyway. Segher gcc/combine.c | 146 +++- gcc/config/rs6000/rs6000.c | 4 +- gcc/config/rs6000/rs6000.md | 1606 ++++--------------------------------------- 3 files changed, 281 insertions(+), 1475 deletions(-) -- 1.8.1.4