Commit b87c8c8c by Richard Sandiford Committed by Richard Sandiford

mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for constant addresses.

	* mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
	constant addresses.
	(call_internal2): Likewise.
	(call_value_internal1): Likewise.
	(call_value_internal2): Likewise.
	(call_value_multiple_internal1): Likewise.
	(call_value_multiple_internal2): Likewise.

Co-Authored-By: H.J. Lu <hjl@gnu.org>

From-SVN: r43930
parent 517c3b80
2001-07-11 Richard Sandiford <rsandifo@redhat.com>
H.J. Lu <hjl@gnu.org>
* mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
constant addresses.
(call_internal2): Likewise.
(call_value_internal1): Likewise.
(call_value_internal2): Likewise.
(call_value_multiple_internal1): Likewise.
(call_value_multiple_internal2): Likewise.
2001-07-10 Kazu Hirata <kazu@hxi.com> 2001-07-10 Kazu Hirata <kazu@hxi.com>
* calls.c (emit_library_call_value_1): Fix a comment typo. * calls.c (emit_library_call_value_1): Fix a comment typo.
......
...@@ -9684,10 +9684,10 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2" ...@@ -9684,10 +9684,10 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2"
{ {
register rtx target = operands[0]; register rtx target = operands[0];
if (GET_CODE (target) == SYMBOL_REF) if (GET_CODE (target) == CONST_INT)
return \"%*jal\\t%0\";
else if (GET_CODE (target) == CONST_INT)
return \"%[li\\t%@,%0\\n\\t%*jal\\t%2,%@%]\"; return \"%[li\\t%@,%0\\n\\t%*jal\\t%2,%@%]\";
else if (CONSTANT_ADDRESS_P (target))
return \"%*jal\\t%0\";
else else
return \"%*jal\\t%2,%0\"; return \"%*jal\\t%2,%0\";
}" }"
...@@ -9703,15 +9703,15 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2" ...@@ -9703,15 +9703,15 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2"
{ {
register rtx target = operands[0]; register rtx target = operands[0];
if (GET_CODE (target) == SYMBOL_REF) if (GET_CODE (target) == CONST_INT)
return \"li\\t%^,%0\\n\\tjal\\t%2,%^\";
else if (CONSTANT_ADDRESS_P (target))
{ {
if (GET_MODE (target) == SImode) if (GET_MODE (target) == SImode)
return \"la\\t%^,%0\\n\\tjal\\t%2,%^\"; return \"la\\t%^,%0\\n\\tjal\\t%2,%^\";
else else
return \"dla\\t%^,%0\\n\\tjal\\t%2,%^\"; 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) else if (REGNO (target) != PIC_FUNCTION_ADDR_REGNUM)
return \"move\\t%^,%0\\n\\tjal\\t%2,%^\"; return \"move\\t%^,%0\\n\\tjal\\t%2,%^\";
else else
...@@ -9891,10 +9891,10 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2" ...@@ -9891,10 +9891,10 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2"
{ {
register rtx target = operands[1]; register rtx target = operands[1];
if (GET_CODE (target) == SYMBOL_REF) if (GET_CODE (target) == CONST_INT)
return \"%*jal\\t%1\";
else if (GET_CODE (target) == CONST_INT)
return \"%[li\\t%@,%1\\n\\t%*jal\\t%3,%@%]\"; return \"%[li\\t%@,%1\\n\\t%*jal\\t%3,%@%]\";
else if (CONSTANT_ADDRESS_P (target))
return \"%*jal\\t%1\";
else else
return \"%*jal\\t%3,%1\"; return \"%*jal\\t%3,%1\";
}" }"
...@@ -9911,15 +9911,15 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2" ...@@ -9911,15 +9911,15 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2"
{ {
register rtx target = operands[1]; register rtx target = operands[1];
if (GET_CODE (target) == SYMBOL_REF) if (GET_CODE (target) == CONST_INT)
return \"li\\t%^,%1\\n\\tjal\\t%3,%^\";
else if (CONSTANT_ADDRESS_P (target))
{ {
if (GET_MODE (target) == SImode) if (GET_MODE (target) == SImode)
return \"la\\t%^,%1\\n\\tjal\\t%3,%^\"; return \"la\\t%^,%1\\n\\tjal\\t%3,%^\";
else else
return \"dla\\t%^,%1\\n\\tjal\\t%3,%^\"; 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) else if (REGNO (target) != PIC_FUNCTION_ADDR_REGNUM)
return \"move\\t%^,%1\\n\\tjal\\t%3,%^\"; return \"move\\t%^,%1\\n\\tjal\\t%3,%^\";
else else
...@@ -10023,10 +10023,10 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2" ...@@ -10023,10 +10023,10 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2"
{ {
register rtx target = operands[1]; register rtx target = operands[1];
if (GET_CODE (target) == SYMBOL_REF) if (GET_CODE (target) == CONST_INT)
return \"%*jal\\t%1\";
else if (GET_CODE (target) == CONST_INT)
return \"%[li\\t%@,%1\\n\\t%*jal\\t%4,%@%]\"; return \"%[li\\t%@,%1\\n\\t%*jal\\t%4,%@%]\";
else if (CONSTANT_ADDRESS_P (target))
return \"%*jal\\t%1\";
else else
return \"%*jal\\t%4,%1\"; return \"%*jal\\t%4,%1\";
}" }"
...@@ -10046,15 +10046,15 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2" ...@@ -10046,15 +10046,15 @@ ld\\t%2,%1-%S1(%2)\;daddu\\t%2,%2,$31\;j\\t%2"
{ {
register rtx target = operands[1]; register rtx target = operands[1];
if (GET_CODE (target) == SYMBOL_REF) if (GET_CODE (target) == CONST_INT)
return \"li\\t%^,%1\\n\\tjal\\t%4,%^\";
else if (CONSTANT_ADDRESS_P (target))
{ {
if (GET_MODE (target) == SImode) if (GET_MODE (target) == SImode)
return \"la\\t%^,%1\\n\\tjal\\t%4,%^\"; return \"la\\t%^,%1\\n\\tjal\\t%4,%^\";
else else
return \"la\\t%^,%1\\n\\tjal\\t%4,%^\"; 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) else if (REGNO (target) != PIC_FUNCTION_ADDR_REGNUM)
return \"move\\t%^,%1\\n\\tjal\\t%4,%^\"; return \"move\\t%^,%1\\n\\tjal\\t%4,%^\";
else else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment