From a0044fb10e9cb75d5a146c19fb2badc7e067c828 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Mon, 28 Sep 1992 08:18:10 -0400 Subject: [PATCH] (subsi3): Remove last change. (allocate_stack): Go back to calling subsi3. From-SVN: r2265 --- gcc/config/rs6000/rs6000.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index cbcb156ae0e..a47eaf256ce 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -259,7 +259,15 @@ (minus:SI (match_operand:SI 1 "reg_or_short_operand" "") (match_operand:SI 2 "reg_or_cint_operand" "")))] "" - "") + " +{ + if (GET_CODE (operands[2]) == CONST_INT) + { + emit_insn (gen_addsi3 (operands[0], operands[1], + negate_rtx (SImode, operands[2]))); + DONE; + } +}") ;; For SMIN, SMAX, UMIN, and UMAX, we use DEFINE_EXPAND's that involve a doz[i] ;; instruction and some auxiliary computations. Then we just have a single @@ -2893,8 +2901,7 @@ rtx stack_bot = gen_rtx (MEM, Pmode, stack_pointer_rtx); emit_move_insn (chain, stack_bot); - emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, - negate_rtx (SImode, operands[0]))); + emit_insn (gen_subsi3 (stack_pointer_rtx, stack_pointer_rtx, operands[0])); emit_move_insn (stack_bot, chain); DONE; }") -- 2.30.2