re PR target/23783 (gcc.c-torture/compile/calls.c triggers an ICE)
PR target/23783 * arm.md (call): If the address isn't a SYMBOL_REF or a register, then force it into a register. (call_value): Likewise. From-SVN: r105032
This commit is contained in:
parent
5872662b0b
commit
c40cb38da9
|
@ -1,3 +1,10 @@
|
|||
2005-10-06 Richard Earnshaw <richard.earnshaw@arm.com>
|
||||
|
||||
PR target/23783
|
||||
* arm.md (call): If the address isn't a SYMBOL_REF or a register,
|
||||
then force it into a register.
|
||||
(call_value): Likewise.
|
||||
|
||||
2005-10-06 Richard Henderson <rth@redhat.com>
|
||||
|
||||
PR 24049
|
||||
|
|
|
@ -7455,8 +7455,10 @@
|
|||
invoked it. */
|
||||
callee = XEXP (operands[0], 0);
|
||||
|
||||
if (GET_CODE (callee) != REG
|
||||
&& arm_is_longcall_p (operands[0], INTVAL (operands[2]), 0))
|
||||
if ((GET_CODE (callee) == SYMBOL_REF
|
||||
&& arm_is_longcall_p (operands[0], INTVAL (operands[2]), 0))
|
||||
|| (GET_CODE (callee) != SYMBOL_REF
|
||||
&& GET_CODE (callee) != REG))
|
||||
XEXP (operands[0], 0) = force_reg (Pmode, callee);
|
||||
}"
|
||||
)
|
||||
|
@ -7545,8 +7547,10 @@
|
|||
operands[3] = const0_rtx;
|
||||
|
||||
/* See the comment in define_expand \"call\". */
|
||||
if (GET_CODE (callee) != REG
|
||||
&& arm_is_longcall_p (operands[1], INTVAL (operands[3]), 0))
|
||||
if ((GET_CODE (callee) == SYMBOL_REF
|
||||
&& arm_is_longcall_p (operands[1], INTVAL (operands[3]), 0))
|
||||
|| (GET_CODE (callee) != SYMBOL_REF
|
||||
&& GET_CODE (callee) != REG))
|
||||
XEXP (operands[1], 0) = force_reg (Pmode, callee);
|
||||
}"
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue