Commit c3a02afe by Richard Kenner

(move_block_{to,from}_reg): Check HAVE_{load,store}_multiple value;

don't just #idef the symbol.

From-SVN: r6192
parent 77fc9313
...@@ -1573,16 +1573,19 @@ move_block_to_reg (regno, x, nregs, mode) ...@@ -1573,16 +1573,19 @@ move_block_to_reg (regno, x, nregs, mode)
/* See if the machine can do this with a load multiple insn. */ /* See if the machine can do this with a load multiple insn. */
#ifdef HAVE_load_multiple #ifdef HAVE_load_multiple
last = get_last_insn (); if (HAVE_load_multiple)
pat = gen_load_multiple (gen_rtx (REG, word_mode, regno), x,
GEN_INT (nregs));
if (pat)
{ {
emit_insn (pat); last = get_last_insn ();
return; pat = gen_load_multiple (gen_rtx (REG, word_mode, regno), x,
GEN_INT (nregs));
if (pat)
{
emit_insn (pat);
return;
}
else
delete_insns_since (last);
} }
else
delete_insns_since (last);
#endif #endif
for (i = 0; i < nregs; i++) for (i = 0; i < nregs; i++)
...@@ -1625,16 +1628,19 @@ move_block_from_reg (regno, x, nregs, size) ...@@ -1625,16 +1628,19 @@ move_block_from_reg (regno, x, nregs, size)
/* See if the machine can do this with a store multiple insn. */ /* See if the machine can do this with a store multiple insn. */
#ifdef HAVE_store_multiple #ifdef HAVE_store_multiple
last = get_last_insn (); if (HAVE_store_multiple)
pat = gen_store_multiple (x, gen_rtx (REG, word_mode, regno),
GEN_INT (nregs));
if (pat)
{ {
emit_insn (pat); last = get_last_insn ();
return; pat = gen_store_multiple (x, gen_rtx (REG, word_mode, regno),
GEN_INT (nregs));
if (pat)
{
emit_insn (pat);
return;
}
else
delete_insns_since (last);
} }
else
delete_insns_since (last);
#endif #endif
for (i = 0; i < nregs; i++) for (i = 0; i < nregs; i++)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment