(addsi3_internal): Don't output subtract.
authorJim Wilson <wilson@gcc.gnu.org>
Fri, 1 Apr 1994 00:48:54 +0000 (16:48 -0800)
committerJim Wilson <wilson@gcc.gnu.org>
Fri, 1 Apr 1994 00:48:54 +0000 (16:48 -0800)
(subsi3_internal): Don't output add.
(smulsi3_highpart, umulsi3_highpart): Add missing third operand to
mips_move_1word call.

From-SVN: r6933

gcc/config/mips/mips.md

index ed7db36..618fddb 100644 (file)
        (plus:SI (match_operand:SI 1 "reg_or_0_operand" "dJ")
                 (match_operand:SI 2 "arith_operand" "dI")))]
   "GET_CODE (operands[2]) != CONST_INT || INTVAL (operands[2]) != -32768"
-  "*
-{
-  return (GET_CODE (operands[2]) == CONST_INT && INTVAL (operands[2]) < 0)
-    ? \"subu\\t%0,%z1,%n2\"
-    : \"addu\\t%0,%z1,%2\";
-}"
+  "addu\\t%0,%z1,%2"
   [(set_attr "type"    "arith")
    (set_attr "mode"    "SI")
    (set_attr "length"  "1")])
        (minus:SI (match_operand:SI 1 "reg_or_0_operand" "dJ")
                  (match_operand:SI 2 "arith_operand" "dI")))]
   "GET_CODE (operands[2]) != CONST_INT || INTVAL (operands[2]) != -32768"
-  "*
-{
-  return (GET_CODE (operands[2]) == CONST_INT && INTVAL (operands[2]) < 0)
-    ? \"addu\\t%0,%z1,%n2\"
-    : \"subu\\t%0,%z1,%2\";
-}"
+  "subu\\t%0,%z1,%2"
   [(set_attr "type"    "arith")
    (set_attr "mode"    "SI")
    (set_attr "length"  "1")])
   xoperands[1] = gen_rtx (REG, SImode, HI_REGNUM);
 
   output_asm_insn (\"mult\\t%1,%2\", operands);
-  output_asm_insn (mips_move_1word (xoperands, insn), xoperands);
+  output_asm_insn (mips_move_1word (xoperands, insn, TRUE), xoperands);
   return \"\";
 }"
   [(set_attr "type"    "imul")
   xoperands[1] = gen_rtx (REG, SImode, HI_REGNUM);
 
   output_asm_insn (\"multu\\t%1,%2\", operands);
-  output_asm_insn (mips_move_1word (xoperands, insn), xoperands);
+  output_asm_insn (mips_move_1word (xoperands, insn, FALSE), xoperands);
   return \"\";
 }"
   [(set_attr "type"    "imul")