aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2007-02-09 22:36:34 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2007-02-09 22:36:34 +0000
commitf2477b062c9c639e5354ef705022a47dcb61e213 (patch)
tree21c8fe51fdf12e1f35832f1df15977876ee8846e
parent44bfc3acc21acc7e7580136b8364be28e50ecc50 (diff)
downloadgcc-f2477b062c9c639e5354ef705022a47dcb61e213.zip
gcc-f2477b062c9c639e5354ef705022a47dcb61e213.tar.gz
gcc-f2477b062c9c639e5354ef705022a47dcb61e213.tar.bz2
alpha.c (emit_insxl): Force the first operand of the insbl or inswl pattern into a register.
* config/alpha/alpha.c (emit_insxl): Force the first operand of the insbl or inswl pattern into a register. From-SVN: r121779
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/alpha/alpha.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index af251f4..1467f09 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2007-02-09 Roger Sayle <roger@eyesopen.com>
+ * config/alpha/alpha.c (emit_insxl): Force the first operand of
+ the insbl or inswl pattern into a register.
+
+2007-02-09 Roger Sayle <roger@eyesopen.com>
+
* config/ia64/ia64.md (bswapdi2): New define_insn.
2007-02-09 Richard Henderson <rth@redhat.com>
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index d4808a7..327efb4 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -4518,6 +4518,8 @@ emit_insxl (enum machine_mode mode, rtx op1, rtx op2)
else
fn = gen_inswl_le;
}
+ /* The insbl and inswl patterns require a register operand. */
+ op1 = force_reg (mode, op1);
emit_insn (fn (ret, op1, op2));
return ret;