From 14bc59cb4fae60ad4ff4bb4aa0bd6085b2fc0e50 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Thu, 2 Feb 2012 18:54:38 +0000 Subject: [PATCH] mips-dspr2.md (mips_prepend): Mask operand 3 rather than operand 2. gcc/ 2012-02-02 Jia Liu * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather than operand 2. gcc/testsuite/ * gcc.target/mips/mips-prepend-1.c: New test. From-SVN: r183841 --- gcc/ChangeLog | 5 +++++ gcc/config/mips/mips-dspr2.md | 2 +- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.target/mips/mips-prepend-1.c | 8 ++++++++ 4 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.target/mips/mips-prepend-1.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9bb55173ed3..03f897f056f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-02-02 Jia Liu + + * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather + than operand 2. + 2012-02-02 Jan Hubicka Tom de Vries diff --git a/gcc/config/mips/mips-dspr2.md b/gcc/config/mips/mips-dspr2.md index 5ae902f0165..108f51be6c0 100644 --- a/gcc/config/mips/mips-dspr2.md +++ b/gcc/config/mips/mips-dspr2.md @@ -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); return "prepend\t%0,%z2,%3"; } [(set_attr "type" "arith") diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2e97e5b5670..eddd59cb96d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2012-02-02 Richard Sandiford + + * gcc.target/mips/mips-prepend-1.c: New test. + 2012-02-02 Jan Hubicka Tom de Vries diff --git a/gcc/testsuite/gcc.target/mips/mips-prepend-1.c b/gcc/testsuite/gcc.target/mips/mips-prepend-1.c new file mode 100644 index 00000000000..126dbebcba5 --- /dev/null +++ b/gcc/testsuite/gcc.target/mips/mips-prepend-1.c @@ -0,0 +1,8 @@ +/* { dg-options "-mdspr2" } */ +/* { dg-final { scan-assembler "prepend\[^\n\]*,10" } } */ + +NOMIPS16 int +foo (int x, int y) +{ + return __builtin_mips_prepend (x, y, 42); +} -- 2.30.2