Commit 9c3602e4 by Michael Hayes Committed by Michael Hayes

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
parent a026b9d6
2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 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. * config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts.
2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
......
...@@ -1236,10 +1236,11 @@ c4x_emit_move_sequence (rtx *operands, enum machine_mode mode) ...@@ -1236,10 +1236,11 @@ c4x_emit_move_sequence (rtx *operands, enum machine_mode mode)
&& dp_reg_operand (XEXP (op1, 0), mode)) && dp_reg_operand (XEXP (op1, 0), mode))
{ {
/* expand_increment will sometimes create a LO_SUM immediate /* expand_increment will sometimes create a LO_SUM immediate
address. */ address. Undo this sillyness. */
op1 = XEXP (op1, 1); op1 = XEXP (op1, 1);
} }
else if (symbolic_address_operand (op1, mode))
if (symbolic_address_operand (op1, mode))
{ {
if (TARGET_LOAD_ADDRESS) if (TARGET_LOAD_ADDRESS)
{ {
...@@ -3267,7 +3268,8 @@ src_operand (rtx op, enum machine_mode mode) ...@@ -3267,7 +3268,8 @@ src_operand (rtx op, enum machine_mode mode)
&& ((GET_CODE (XEXP (op, 0)) == SYMBOL_REF && ((GET_CODE (XEXP (op, 0)) == SYMBOL_REF
|| GET_CODE (XEXP (op, 0)) == LABEL_REF || GET_CODE (XEXP (op, 0)) == LABEL_REF
|| GET_CODE (XEXP (op, 0)) == CONST))) || 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); return general_operand (op, mode);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment