aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-09-01 19:29:51 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-09-01 19:29:51 -0400
commitd37f862e3f9a9e4d4bb3e8ee56f358fb899c09b7 (patch)
tree36a5c24358fbdc8f4fd6fc1832c374a1e0e7b8f6 /gcc
parent1a6e3d5275c3ca70423631b6679eae1cc8b6681f (diff)
downloadgcc-d37f862e3f9a9e4d4bb3e8ee56f358fb899c09b7.zip
gcc-d37f862e3f9a9e4d4bb3e8ee56f358fb899c09b7.tar.gz
gcc-d37f862e3f9a9e4d4bb3e8ee56f358fb899c09b7.tar.bz2
(stack-adjust/push peepholes): Addresses are moved with "addr", not
with "movd". From-SVN: r8014
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/ns32k/ns32k.md6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/config/ns32k/ns32k.md b/gcc/config/ns32k/ns32k.md
index 5bd05fa..cfd4cfd 100644
--- a/gcc/config/ns32k/ns32k.md
+++ b/gcc/config/ns32k/ns32k.md
@@ -2702,6 +2702,8 @@
if (GET_CODE (operands[1]) == CONST_INT)
output_asm_insn (output_move_dconst (INTVAL (operands[1]), \"%$%1,0(sp)\"),
operands);
+ else if (address_operand (operands[1], SImode))
+ output_asm_insn (\"addr %a1,0(sp)\", operands);
else
output_asm_insn (\"movd %1,0(sp)\", operands);
return \"\";
@@ -2722,12 +2724,16 @@
if (GET_CODE (operands[1]) == CONST_INT)
output_asm_insn (output_move_dconst (INTVAL (operands[1]), \"%$%1,4(sp)\"),
operands);
+ else if (address_operand (operands[1], SImode))
+ output_asm_insn (\"addr %a1,0(sp)\", operands);
else
output_asm_insn (\"movd %1,4(sp)\", operands);
if (GET_CODE (operands[3]) == CONST_INT)
output_asm_insn (output_move_dconst (INTVAL (operands[3]), \"%$%3,0(sp)\"),
operands);
+ else if (address_operand (operands[3], SImode))
+ output_asm_insn (\"addr %a3,0(sp)\", operands);
else
output_asm_insn (\"movd %3,0(sp)\", operands);
return \"\";