diff options
author | Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> | 2001-01-23 20:31:08 +0100 |
---|---|---|
committer | Michael Hayes <m.hayes@gcc.gnu.org> | 2001-01-23 19:31:08 +0000 |
commit | 4a1f52a8d34b48ffa701f147439dfa8a2429a863 (patch) | |
tree | 1b45d6b4de7689c20a50eed5fbe70acb4c39b94e | |
parent | c933c209ddf06f94796eeba7d6df75a001bd87fc (diff) | |
download | gcc-4a1f52a8d34b48ffa701f147439dfa8a2429a863.zip gcc-4a1f52a8d34b48ffa701f147439dfa8a2429a863.tar.gz gcc-4a1f52a8d34b48ffa701f147439dfa8a2429a863.tar.bz2 |
* c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
From-SVN: r39207
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/c4x/c4x.c | 24 |
2 files changed, 14 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 039a3b1..4812071 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2001-01-24 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> + + * c4x.c (c4x_r11_set_p): Calculate rtx code correctly. + 2001-01-23 Chris Demetriou <cgd@sibyte.com> Neil Booth <neil@daikokuya.demon.co.uk> diff --git a/gcc/config/c4x/c4x.c b/gcc/config/c4x/c4x.c index 346459f..36c0bb6 100644 --- a/gcc/config/c4x/c4x.c +++ b/gcc/config/c4x/c4x.c @@ -3363,17 +3363,15 @@ src_operand (op, mode) || GET_CODE (op) == CONST) return 0; - /* If TARGET_EXPOSE_LDP is zero, allow direct memory access to - symbolic addresses. These will be rejected by - GO_IF_LEGITIMATE_ADDRESS and fixed up by - LEGITIMIZE_RELOAD_ADDRESS. If TARGET_EXPOSE_LDP is nonzero, - disallow direct memory access to symbolic addresses. These - should be converted to a HIGH/LO_SUM pair by the movqi expander. */ + /* If TARGET_LOAD_DIRECT_MEMS is non-zero, disallow direct memory + access to symbolic addresses. These operands will get forced + into a register and the movqi expander will generate a + HIGH/LO_SUM pair if TARGET_EXPOSE_LDP is non-zero. */ if (GET_CODE (op) == MEM && ((GET_CODE (XEXP (op, 0)) == SYMBOL_REF || GET_CODE (XEXP (op, 0)) == LABEL_REF || GET_CODE (XEXP (op, 0)) == CONST))) - return ! TARGET_EXPOSE_LDP && GET_MODE (op) == mode; + return ! TARGET_LOAD_DIRECT_MEMS && GET_MODE (op) == mode; return general_operand (op, mode); } @@ -4797,7 +4795,6 @@ static int c4x_r11_set_p(x) rtx x; { - RTX_CODE code; rtx set; int i, j; const char *fmt; @@ -4805,18 +4802,17 @@ c4x_r11_set_p(x) if (x == 0) return 0; - code = GET_CODE (x); - if (code == INSN && GET_CODE (PATTERN (x)) == SEQUENCE) + if (INSN_P (x) && GET_CODE (PATTERN (x)) == SEQUENCE) x = XVECEXP (PATTERN (x), 0, XVECLEN (PATTERN (x), 0) - 1); - if (code == INSN && (set = single_set (x))) - return c4x_r11_set_p (SET_DEST (set)); + if (INSN_P (x) && (set = single_set (x))) + x = SET_DEST (set); - if (code == REG && REGNO (x) == R11_REGNO) + if (GET_CODE (x) == REG && REGNO (x) == R11_REGNO) return 1; fmt = GET_RTX_FORMAT (GET_CODE (x)); - for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--) + for (i = GET_RTX_LENGTH (GET_CODE (x)) - 1; i >= 0; i--) { if (fmt[i] == 'e') { |