apply original gcc rev. 1.29:
* Guard insn splits against illegal regsiters.
This commit is contained in:
parent
55b8b9dd18
commit
dad579c26b
6
gnu/dist/gcc/config/sh/sh.md
vendored
6
gnu/dist/gcc/config/sh/sh.md
vendored
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user