mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-23 00:51:00 +08:00
c4x.c (c4x_legitimate_address_p): Invalidate direct memory references if TARGET_EXPOSE_LDP nonzero.
* config/c4x/c4x.c (c4x_legitimate_address_p): Invalidate direct memory references if TARGET_EXPOSE_LDP nonzero. From-SVN: r76611
This commit is contained in:
parent
a026b9d64d
commit
9c3602e40f
@ -1,3 +1,8 @@
|
||||
2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||||
|
||||
* config/c4x/c4x.c (c4x_legitimate_address_p): Invalidate direct
|
||||
memory references if TARGET_EXPOSE_LDP nonzero.
|
||||
|
||||
2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||||
|
||||
* config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts.
|
||||
|
@ -1236,10 +1236,11 @@ c4x_emit_move_sequence (rtx *operands, enum machine_mode mode)
|
||||
&& dp_reg_operand (XEXP (op1, 0), mode))
|
||||
{
|
||||
/* expand_increment will sometimes create a LO_SUM immediate
|
||||
address. */
|
||||
address. Undo this sillyness. */
|
||||
op1 = XEXP (op1, 1);
|
||||
}
|
||||
else if (symbolic_address_operand (op1, mode))
|
||||
|
||||
if (symbolic_address_operand (op1, mode))
|
||||
{
|
||||
if (TARGET_LOAD_ADDRESS)
|
||||
{
|
||||
@ -3267,7 +3268,8 @@ src_operand (rtx op, enum machine_mode mode)
|
||||
&& ((GET_CODE (XEXP (op, 0)) == SYMBOL_REF
|
||||
|| GET_CODE (XEXP (op, 0)) == LABEL_REF
|
||||
|| GET_CODE (XEXP (op, 0)) == CONST)))
|
||||
return ! TARGET_LOAD_DIRECT_MEMS && GET_MODE (op) == mode;
|
||||
return !TARGET_EXPOSE_LDP &&
|
||||
! TARGET_LOAD_DIRECT_MEMS && GET_MODE (op) == mode;
|
||||
|
||||
return general_operand (op, mode);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user