From 9c3602e40ffa8b11bbee42a2d4ee81dbd8759fd8 Mon Sep 17 00:00:00 2001 From: Michael Hayes Date: Mon, 26 Jan 2004 00:40:05 +0000 Subject: 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 --- gcc/ChangeLog | 5 +++++ gcc/config/c4x/c4x.c | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6a4dac9..9489221 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2004-01-26 Michael Hayes + * config/c4x/c4x.c (c4x_legitimate_address_p): Invalidate direct + memory references if TARGET_EXPOSE_LDP nonzero. + +2004-01-26 Michael Hayes + * config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts. 2004-01-26 Michael Hayes diff --git a/gcc/config/c4x/c4x.c b/gcc/config/c4x/c4x.c index db350ce..9a6b888 100644 --- a/gcc/config/c4x/c4x.c +++ b/gcc/config/c4x/c4x.c @@ -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); } -- cgit v1.1