diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1996-12-11 17:46:34 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1996-12-11 17:46:34 -0500 |
commit | d409668956f44a538314abbee36486e1d199392b (patch) | |
tree | 7ecec600591f0b4f4c7ed19446feabac7faf24d9 /gcc | |
parent | 0bc8ae6e51d53dde5e675997f00145066f88d8a1 (diff) | |
download | gcc-d409668956f44a538314abbee36486e1d199392b.zip gcc-d409668956f44a538314abbee36486e1d199392b.tar.gz gcc-d409668956f44a538314abbee36486e1d199392b.tar.bz2 |
(try_combine): When splitting an insn, check for the new I2 setting a
SUBREG.
From-SVN: r13286
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/combine.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 683765f..472767a 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -1845,10 +1845,15 @@ try_combine (i3, i2, i1) || GET_CODE (new_i3_dest) == SUBREG) new_i3_dest = XEXP (new_i3_dest, 0); + while (GET_CODE (new_i2_dest) == ZERO_EXTRACT + || GET_CODE (new_i2_dest) == STRICT_LOW_PART + || GET_CODE (new_i2_dest) == SUBREG) + new_i2_dest = XEXP (new_i2_dest, 0); + if (GET_CODE (new_i3_dest) == REG && GET_CODE (new_i2_dest) == REG && REGNO (new_i3_dest) == REGNO (new_i2_dest)) - reg_n_sets[REGNO (SET_DEST (i2set))]++; + reg_n_sets[REGNO (new_i2_dest)]++; } } |