{
register rtx target = operands[0];
- if (GET_CODE (target) == SYMBOL_REF)
- return \"%*jal\\t%0\";
- else if (GET_CODE (target) == CONST_INT)
+ if (GET_CODE (target) == CONST_INT)
return \"%[li\\t%@,%0\\n\\t%*jal\\t%2,%@%]\";
+ else if (CONSTANT_ADDRESS_P (target))
+ return \"%*jal\\t%0\";
else
return \"%*jal\\t%2,%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)
return \"la\\t%^,%0\\n\\tjal\\t%2,%^\";
else
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
{
register rtx target = operands[1];
- if (GET_CODE (target) == SYMBOL_REF)
- return \"%*jal\\t%1\";
- else if (GET_CODE (target) == CONST_INT)
+ if (GET_CODE (target) == CONST_INT)
return \"%[li\\t%@,%1\\n\\t%*jal\\t%3,%@%]\";
+ else if (CONSTANT_ADDRESS_P (target))
+ return \"%*jal\\t%1\";
else
return \"%*jal\\t%3,%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)
return \"la\\t%^,%1\\n\\tjal\\t%3,%^\";
else
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
{
register rtx target = operands[1];
- if (GET_CODE (target) == SYMBOL_REF)
- return \"%*jal\\t%1\";
- else if (GET_CODE (target) == CONST_INT)
+ if (GET_CODE (target) == CONST_INT)
return \"%[li\\t%@,%1\\n\\t%*jal\\t%4,%@%]\";
+ else if (CONSTANT_ADDRESS_P (target))
+ return \"%*jal\\t%1\";
else
return \"%*jal\\t%4,%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)
return \"la\\t%^,%1\\n\\tjal\\t%4,%^\";
else
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