sync with gnu/dist/gcc/config/sh/sh.md rev. 1.7

> apply original gcc rev. 1.29:
 >
 >  * Guard insn splits against illegal regsiters.
This commit is contained in:
msaitoh 2002-04-04 15:39:14 +00:00
parent 4cf62149f5
commit 306d88f7e2

View File

@ -2861,7 +2861,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],
@ -2887,7 +2888,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,