Commit 27c38b75 by Jim Wilson

(mips_move_2words): Add SIGN_EXTEND support for SYMBOL_REF,

LABEL_REF, and CONST operands.

From-SVN: r13834
parent 714aa06f
......@@ -1543,7 +1543,12 @@ mips_move_2words (operands, insn)
/* Sanity check. */
if (GET_CODE (operands[1]) == SIGN_EXTEND
&& code1 != REG
&& code1 != CONST_INT)
&& code1 != CONST_INT
/* The following three can happen as the result of a questionable
cast. */
&& code1 != LABEL_REF
&& code1 != SYMBOL_REF
&& code1 != CONST)
abort ();
if (code0 == REG)
......@@ -1803,7 +1808,14 @@ mips_move_2words (operands, insn)
if (TARGET_STATS)
mips_count_memory_refs (op1, 2);
ret = "dla\t%0,%a1";
if (GET_CODE (operands[1]) == SIGN_EXTEND)
/* We deliberately remove the 'a' from '%1', so that we don't
have to add SIGN_EXTEND support to print_operand_address.
print_operand will just call print_operand_address in this
case, so there is no problem. */
ret = "la\t%0,%1";
else
ret = "dla\t%0,%a1";
}
}
......
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