diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-05-26 18:58:47 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-05-26 18:58:47 -0400 |
commit | c03c4711734044f4c18b8697918cacc74d9728f0 (patch) | |
tree | 6ffa4e1942441714387ec627b1b79074a3d8e395 | |
parent | 35bb77fd397ff2d2fefd3cfc394270e3d99ed9de (diff) | |
download | gcc-c03c4711734044f4c18b8697918cacc74d9728f0.zip gcc-c03c4711734044f4c18b8697918cacc74d9728f0.tar.gz gcc-c03c4711734044f4c18b8697918cacc74d9728f0.tar.bz2 |
(jump_optimize): When looking for an `if' statement that takes two insns to compute a result using a temporary...
(jump_optimize): When looking for an `if' statement that takes two
insns to compute a result using a temporary, allow the temporary to be
a SUBREG.
From-SVN: r7355
-rw-r--r-- | gcc/jump.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -946,7 +946,11 @@ jump_optimize (f, cross_jump, noop_moves, after_regscan) && simplejump_p (temp2) && JUMP_LABEL (temp2) == JUMP_LABEL (insn))) && (temp1 = single_set (temp)) != 0 - && (temp5 = SET_DEST (temp1), GET_CODE (temp5) == REG) + && (temp5 = SET_DEST (temp1), + (GET_CODE (temp5) == REG + || (GET_CODE (temp5) == SUBREG + && (temp5 = SUBREG_REG (temp5), + GET_CODE (temp5) == REG)))) && REGNO (temp5) >= FIRST_PSEUDO_REGISTER && regno_first_uid[REGNO (temp5)] == INSN_UID (temp) && regno_last_uid[REGNO (temp5)] == INSN_UID (temp3) |