aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@gcc.gnu.org>2012-02-02 18:54:38 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2012-02-02 18:54:38 +0000
commit14bc59cb4fae60ad4ff4bb4aa0bd6085b2fc0e50 (patch)
tree5fffbea699b74ba12a05264a2323ece331e15292 /gcc
parentf22f4fc1536bd76895feb85bb501b015f18fd452 (diff)
downloadgcc-14bc59cb4fae60ad4ff4bb4aa0bd6085b2fc0e50.zip
gcc-14bc59cb4fae60ad4ff4bb4aa0bd6085b2fc0e50.tar.gz
gcc-14bc59cb4fae60ad4ff4bb4aa0bd6085b2fc0e50.tar.bz2
mips-dspr2.md (mips_prepend): Mask operand 3 rather than operand 2.
gcc/ 2012-02-02 Jia Liu <proljc@gmail.com> * 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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mips/mips-dspr2.md2
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.target/mips/mips-prepend-1.c8
4 files changed, 18 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9bb5517..03f897f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2012-02-02 Jia Liu <proljc@gmail.com>
+
+ * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather
+ than operand 2.
+
2012-02-02 Jan Hubicka <jh@suse.cz>
Tom de Vries <tom@codesourcery.com>
diff --git a/gcc/config/mips/mips-dspr2.md b/gcc/config/mips/mips-dspr2.md
index 5ae902f..108f51b 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 2e97e5b..eddd59c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2012-02-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/mips-prepend-1.c: New test.
+
2012-02-02 Jan Hubicka <jh@suse.cz>
Tom de Vries <tom@codesourcery.com>
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 0000000..126dbeb
--- /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);
+}