apply original gcc rev. 1.29:

* Guard insn splits against illegal regsiters.
This commit is contained in:
msaitoh 2001-01-18 07:54:21 +00:00
parent 55b8b9dd18
commit dad579c26b

View File

@ -2210,7 +2210,8 @@
FAIL;
reg = XEXP (addr, 0);
const_int = XEXP (addr, 1);
if (GET_CODE (reg) != REG || GET_CODE (const_int) != CONST_INT)
if (! (BASE_REGISTER_RTX_P (reg) && INDEX_REGISTER_RTX_P (operands[2])
&& GET_CODE (const_int) == CONST_INT))
FAIL;
emit_move_insn (operands[2], const_int);
emit_move_insn (operands[0],
@ -2236,7 +2237,8 @@
FAIL;
reg = XEXP (addr, 0);
const_int = XEXP (addr, 1);
if (GET_CODE (reg) != REG || GET_CODE (const_int) != CONST_INT)
if (! (BASE_REGISTER_RTX_P (reg) && INDEX_REGISTER_RTX_P (operands[2])
&& GET_CODE (const_int) == CONST_INT))
FAIL;
emit_move_insn (operands[2], const_int);
emit_move_insn (change_address (operands[1], VOIDmode,