diff --git a/gcc/config/mips/mips-dspr2.md b/gcc/config/mips/mips-dspr2.mdindex 5ae902f..6853b9d 100644--- a/gcc/config/mips/mips-dspr2.md+++ b/gcc/config/mips/mips-dspr2.md@@ -345,7 +345,7 @@ (set_attr "mode" "SI")]) (define_insn "mips_prepend"- [(set (match_operand:SI 0 "register_operand" "=d")+ [(set (match_operand:DI 0 "register_operand" "=d")
According to the manual, it should be DI, not SI here. (unspec:SI [(match_operand:SI 1 "register_operand" "0") (match_operand:SI 2 "reg_or_0_operand" "dJ") (match_operand:SI 3 "const_int_operand" "n")]@@ -353,7 +353,7 @@ "ISA_HAS_DSPR2" { if (INTVAL (operands[3]) & ~(unsigned HOST_WIDE_INT) 31)- operands[2] = GEN_INT (INTVAL (operands[2]) & 31);+ operands[3] = GEN_INT (INTVAL (operands[3]) & 31); I think here should be operands[3] but operands[2], because it is operate sa not rs. return "prepend\t%0,%z2,%3"; } [(set_attr "type" "arith") On Thu, Feb 2, 2012 at 10:37 AM, Liu <pro...@gmail.com> wrote: > Hi all > > This is the bugfix patch for mips_prepend, please review. > > > Jia Liu