aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2016-02-05 16:24:06 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2016-02-05 08:24:06 -0800
commitf5d4b899a5df093cb92a89dcb29ec93fb3bfe8ce (patch)
treef7c7b6133e09fb16a82a56a0859759605c547304
parent10ecae7407552a200b5485d342be8baf6256f8f6 (diff)
downloadgcc-f5d4b899a5df093cb92a89dcb29ec93fb3bfe8ce.zip
gcc-f5d4b899a5df093cb92a89dcb29ec93fb3bfe8ce.tar.gz
gcc-f5d4b899a5df093cb92a89dcb29ec93fb3bfe8ce.tar.bz2
Add a testcase for PR target/69677
PR target/69677 * gcc.target/i386/pr69677.c: New test. From-SVN: r233180
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/pr69677.c20
2 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 344b7d3..e718eba 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-02-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/69677
+ * gcc.target/i386/pr69677.c: New test.
+
2016-02-05 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/68948
diff --git a/gcc/testsuite/gcc.target/i386/pr69677.c b/gcc/testsuite/gcc.target/i386/pr69677.c
new file mode 100644
index 0000000..942bdb5
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr69677.c
@@ -0,0 +1,20 @@
+/* { dg-do compile { target { ia32 } } } */
+/* { dg-options "-O2 -mno-avx -march=corei7 -fdump-rtl-final" } */
+
+extern const unsigned int a[];
+extern const unsigned long long b[];
+
+int
+fn1 (unsigned int p1, unsigned long long p2)
+{
+ unsigned int p3;
+
+ p3 = a[p1];
+ if (p3 == 0 || p3 > 64)
+ return 0;
+
+ p2 &= b[p1];
+ return p2 == ((unsigned long long) 1 << (p3 - 1));
+}
+
+// { dg-final { scan-rtl-dump-not "S16 A64\[^\n\]*\\\*movv2di_internal" "final" } }