OSDN Git Service

(insert_save_restore): Correct test for
authorrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 3 Sep 1992 07:13:23 +0000 (07:13 +0000)
committerrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 3 Sep 1992 07:13:23 +0000 (07:13 +0000)
determining whether multiple registers can be saved.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2042 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/caller-save.c

index 35dc355..cc356c3 100644 (file)
@@ -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