+2012-07-23 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.md (addc1, subc1): Delete.
+ (adddi3_compact): Use addc instead of addc1.
+ (subdi3_compact): Use subc instead of subc1.
+
2012-07-23 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386-protos.c (ix86_lea_outperforms): Remove prototype.
emit_insn (gen_clrt ());
emit_insn (gen_addc (low0, low0, gen_lowpart (SImode, operands[2])));
- emit_insn (gen_addc1 (high0, high0, high2));
+ emit_insn (gen_addc (high0, high0, high2));
DONE;
})
"addc %2,%0"
[(set_attr "type" "arith")])
-(define_insn "addc1"
- [(set (match_operand:SI 0 "arith_reg_dest" "=r")
- (plus:SI (plus:SI (match_operand:SI 1 "arith_reg_operand" "0")
- (match_operand:SI 2 "arith_reg_operand" "r"))
- (reg:SI T_REG)))
- (clobber (reg:SI T_REG))]
- "TARGET_SH1"
- "addc %2,%0"
- [(set_attr "type" "arith")])
-
(define_expand "addsi3"
[(set (match_operand:SI 0 "arith_reg_operand" "")
(plus:SI (match_operand:SI 1 "arith_operand" "")
emit_insn (gen_clrt ());
emit_insn (gen_subc (low0, low0, gen_lowpart (SImode, operands[2])));
- emit_insn (gen_subc1 (high0, high0, high2));
+ emit_insn (gen_subc (high0, high0, high2));
DONE;
})
"subc %2,%0"
[(set_attr "type" "arith")])
-(define_insn "subc1"
- [(set (match_operand:SI 0 "arith_reg_dest" "=r")
- (minus:SI (minus:SI (match_operand:SI 1 "arith_reg_operand" "0")
- (match_operand:SI 2 "arith_reg_operand" "r"))
- (reg:SI T_REG)))
- (clobber (reg:SI T_REG))]
- "TARGET_SH1"
- "subc %2,%0"
- [(set_attr "type" "arith")])
-
;; life_analysis thinks rn is live before subc rn,rn, so make a special
;; pattern for this case. This helps multimedia applications that compute
;; the sum of absolute differences.