This splitter is, erm, interesting. This patch fixes it. Bootstrapped and regression checked on powerpc64-linux. Okay to apply?
Segher 2012-09-20 Segher Boessenkool <seg...@kernel.crashing.org> gcc/ * config/rs6000/rs6000.md (define_split for plus_eqsi): Fix output pattern. --- gcc/config/rs6000/rs6000.md | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 9eb0a37..9f96270 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -11829,7 +11829,7 @@ (define_split (clobber (match_operand:SI 5 "register_operand" ""))] "! gpc_reg_operand (operands[2], SImode)" [(set (match_dup 5) (match_dup 2)) - (set (match_dup 2) (plus:SI (match_op_dup 1 [(match_dup 2) (match_dup 3)]) + (set (match_dup 0) (plus:SI (match_op_dup 1 [(match_dup 5) (match_dup 3)]) (match_dup 4)))]) (define_insn "*plus_eqsi" -- 1.7.7.6