aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1996-06-21 17:39:43 -0700
committerJim Wilson <wilson@gcc.gnu.org>1996-06-21 17:39:43 -0700
commit5aae9091074b63bf1b8d4c504e7f226b45222287 (patch)
tree2b29f65f4553230e2bd8454a02f4d825e9a30013
parente396202af1b78051fdadcb01af28e0300991466c (diff)
downloadgcc-5aae9091074b63bf1b8d4c504e7f226b45222287.zip
gcc-5aae9091074b63bf1b8d4c504e7f226b45222287.tar.gz
gcc-5aae9091074b63bf1b8d4c504e7f226b45222287.tar.bz2
(call_internal1, call_value_internal1): Delete obsolete code.
(call_internal2, call_value_internal2, call_value_multiple_internal2): Delete obsolete code. Explicitly load SYMBOL_REF into register. (call_value): Change Pmode to SImode in gen_call_value_internal0 call. From-SVN: r12323
-rw-r--r--gcc/config/mips/mips.md92
1 files changed, 32 insertions, 60 deletions
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index fe58fdd..06d57cc 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -6369,18 +6369,10 @@ move\\t%0,%z4\\n\\
if (GET_CODE (target) == SYMBOL_REF)
return \"%*jal\\t%0\";
-
else if (GET_CODE (target) == CONST_INT)
- {
- operands[0] = target;
- return \"%[li\\t%@,%0\\n\\t%*jal\\t%2,%@%]\";
- }
-
+ return \"%[li\\t%@,%0\\n\\t%*jal\\t%2,%@%]\";
else
- {
- operands[0] = target;
- return \"%*jal\\t%2,%0\";
- }
+ return \"%*jal\\t%2,%0\";
}"
[(set_attr "type" "call")
(set_attr "mode" "none")
@@ -6396,22 +6388,18 @@ move\\t%0,%z4\\n\\
register rtx target = operands[0];
if (GET_CODE (target) == SYMBOL_REF)
- return \"jal\\t%0\";
-
- else if (GET_CODE (target) == CONST_INT)
- {
- operands[0] = target;
- return \"li\\t%^,%0\\n\\tjal\\t%2,%^\";
- }
-
- else
{
- operands[0] = target;
- if (REGNO (target) != PIC_FUNCTION_ADDR_REGNUM)
- return \"move\\t%^,%0\\n\\tjal\\t%2,%^\";
+ if (GET_MODE (target) == SImode)
+ return \"la\\t%^,%0\\n\\tjal\\t%2,%^\";
else
- return \"jal\\t%2,%0\";
+ return \"dla\\t%^,%0\\n\\tjal\\t%2,%^\";
}
+ else if (GET_CODE (target) == CONST_INT)
+ return \"li\\t%^,%0\\n\\tjal\\t%2,%^\";
+ else if (REGNO (target) != PIC_FUNCTION_ADDR_REGNUM)
+ return \"move\\t%^,%0\\n\\tjal\\t%2,%^\";
+ else
+ return \"jal\\t%2,%0\";
}"
[(set_attr "type" "call")
(set_attr "mode" "none")
@@ -6519,7 +6507,7 @@ move\\t%0,%z4\\n\\
}
emit_call_insn (gen_call_value_internal0 (operands[0], operands[1], operands[2],
- gen_rtx (REG, Pmode, GP_REG_FIRST + 31)));
+ gen_rtx (REG, SImode, GP_REG_FIRST + 31)));
DONE;
}
@@ -6545,18 +6533,10 @@ move\\t%0,%z4\\n\\
if (GET_CODE (target) == SYMBOL_REF)
return \"%*jal\\t%1\";
-
else if (GET_CODE (target) == CONST_INT)
- {
- operands[1] = target;
- return \"%[li\\t%@,%1\\n\\t%*jal\\t%3,%@%]\";
- }
-
+ return \"%[li\\t%@,%1\\n\\t%*jal\\t%3,%@%]\";
else
- {
- operands[1] = target;
- return \"%*jal\\t%3,%1\";
- }
+ return \"%*jal\\t%3,%1\";
}"
[(set_attr "type" "call")
(set_attr "mode" "none")
@@ -6573,22 +6553,18 @@ move\\t%0,%z4\\n\\
register rtx target = operands[1];
if (GET_CODE (target) == SYMBOL_REF)
- return \"jal\\t%1\";
-
- else if (GET_CODE (target) == CONST_INT)
- {
- operands[1] = target;
- return \"li\\t%^,%1\\n\\tjal\\t%3,%^\";
- }
-
- else
{
- operands[1] = target;
- if (REGNO (target) != PIC_FUNCTION_ADDR_REGNUM)
- return \"move\\t%^,%1\\n\\tjal\\t%3,%^\";
+ if (GET_MODE (target) == SImode)
+ return \"la\\t%^,%1\\n\\tjal\\t%3,%^\";
else
- return \"jal\\t%3,%1\";
+ return \"dla\\t%^,%1\\n\\tjal\\t%3,%^\";
}
+ else if (GET_CODE (target) == CONST_INT)
+ return \"li\\t%^,%1\\n\\tjal\\t%3,%^\";
+ else if (REGNO (target) != PIC_FUNCTION_ADDR_REGNUM)
+ return \"move\\t%^,%1\\n\\tjal\\t%3,%^\";
+ else
+ return \"jal\\t%3,%1\";
}"
[(set_attr "type" "call")
(set_attr "mode" "none")
@@ -6678,22 +6654,18 @@ move\\t%0,%z4\\n\\
register rtx target = operands[1];
if (GET_CODE (target) == SYMBOL_REF)
- return \"jal\\t%1\";
-
- else if (GET_CODE (target) == CONST_INT)
- {
- operands[1] = target;
- return \"li\\t%^,%1\\n\\tjal\\t%4,%^\";
- }
-
- else
{
- operands[1] = target;
- if (REGNO (target) != PIC_FUNCTION_ADDR_REGNUM)
- return \"move\\t%^,%1\\n\\tjal\\t%4,%^\";
+ if (GET_MODE (target) == SImode)
+ return \"la\\t%^,%1\\n\\tjal\\t%4,%^\";
else
- return \"jal\\t%4,%1\";
+ return \"la\\t%^,%1\\n\\tjal\\t%4,%^\";
}
+ else if (GET_CODE (target) == CONST_INT)
+ return \"li\\t%^,%1\\n\\tjal\\t%4,%^\";
+ else if (REGNO (target) != PIC_FUNCTION_ADDR_REGNUM)
+ return \"move\\t%^,%1\\n\\tjal\\t%4,%^\";
+ else
+ return \"jal\\t%4,%1\";
}"
[(set_attr "type" "call")
(set_attr "mode" "none")