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

Reply via email to