aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1992-09-28 08:18:10 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1992-09-28 08:18:10 -0400
commita0044fb10e9cb75d5a146c19fb2badc7e067c828 (patch)
treec235eb4a582be374bfe4bf161b6e98fb553813d7
parent84b55618e8191479ebc1935149354793faa27020 (diff)
downloadgcc-a0044fb10e9cb75d5a146c19fb2badc7e067c828.zip
gcc-a0044fb10e9cb75d5a146c19fb2badc7e067c828.tar.gz
gcc-a0044fb10e9cb75d5a146c19fb2badc7e067c828.tar.bz2
(subsi3): Remove last change.
(allocate_stack): Go back to calling subsi3. From-SVN: r2265
-rw-r--r--gcc/config/rs6000/rs6000.md13
1 files changed, 10 insertions, 3 deletions
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index cbcb156..a47eaf2 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;
}")