diff options
author | rms <rms@138bc75d-0d04-0410-961f-82ee72b054a4> | 1992-09-03 07:13:23 +0000 |
---|---|---|
committer | rms <rms@138bc75d-0d04-0410-961f-82ee72b054a4> | 1992-09-03 07:13:23 +0000 |
commit | ed25f048e4e904f447c72fd21d9ba6d495d0d947 (patch) | |
tree | af91ffe04f179bb51675ee8e57e71aff112c9d9d /gcc/caller-save.c | |
parent | 92e41c4738abfb90cc68dd4399d3858b04163ab3 (diff) | |
download | gcc-ed25f048e4e904f447c72fd21d9ba6d495d0d947.tar.gz |
(insert_save_restore): Correct test for
determining whether multiple registers can be saved.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2042 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/caller-save.c')
-rw-r--r-- | gcc/caller-save.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/caller-save.c b/gcc/caller-save.c index 35dc355e4fc..cc356c34599 100644 --- a/gcc/caller-save.c +++ b/gcc/caller-save.c @@ -686,9 +686,9 @@ insert_save_restore (insn, save_p, regno, insn_mode, maxrestore) if (regno_save_mem[regno][i] != 0) for (j = 0; j < i; j++) { - if (! call_used_regs[regno + j] && call_fixed_regs[regno + j] - && ! TEST_HARD_REG_BIT (hard_regs_live, regno + j) - && TEST_HARD_REG_BIT (hard_regs_saved, regno + j)) + if (! call_used_regs[regno + j] || call_fixed_regs[regno + j] + || ! TEST_HARD_REG_BIT (hard_regs_live, regno + j) + || TEST_HARD_REG_BIT (hard_regs_saved, regno + j)) ok = 0; } else |