From 9a6f4ddd99aa5db1bed9cfb733d52515f5e131af Mon Sep 17 00:00:00 2001 From: sayle Date: Fri, 9 Feb 2007 22:36:34 +0000 Subject: [PATCH] * config/alpha/alpha.c (emit_insxl): Force the first operand of the insbl or inswl pattern into a register. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121779 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/config/alpha/alpha.c | 2 ++ 2 files changed, 7 insertions(+) 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 + * config/alpha/alpha.c (emit_insxl): Force the first operand of + the insbl or inswl pattern into a register. + +2007-02-09 Roger Sayle + * config/ia64/ia64.md (bswapdi2): New define_insn. 2007-02-09 Richard Henderson 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; -- 2.7.4