diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1994-03-10 20:32:26 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1994-03-10 20:32:26 +0000 |
commit | f16fc94d67bed7e63c32709c8b0e8d4252dec4e5 (patch) | |
tree | 10d53386883c8bc2cc5bebb023f7c2d46a26c26c /gcc/reload1.c | |
parent | e1d32dbe5bbdc4dc91abfd6ff0e8047b965b5bb5 (diff) | |
download | gcc-f16fc94d67bed7e63c32709c8b0e8d4252dec4e5.tar.gz |
(emit_reload_insns): When clearing reg_last_reload_reg, clear all hard
regs in reload_out.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6741 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r-- | gcc/reload1.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 5a95d44a1ec..fb98835eae8 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -6449,7 +6449,10 @@ emit_reload_insns (insn) if (i < 0 && reload_out[r] != 0 && GET_CODE (reload_out[r]) == REG) { register int nregno = REGNO (reload_out[r]); - reg_last_reload_reg[nregno] = 0; + int num_regs = HARD_REGNO_NREGS (nregno, GET_MODE (reload_out[r])); + + while (num_regs-- > 0) + reg_last_reload_reg[nregno + num_regs] = 0; } } } |