]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Add a testcase for PR target/69677
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Feb 2016 16:24:06 +0000 (16:24 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Feb 2016 16:24:06 +0000 (16:24 +0000)
PR target/69677
* gcc.target/i386/pr69677.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233180 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr69677.c [new file with mode: 0644]

index 344b7d34f3842ed6b217c0cab22559c90495af5c..e718eba4952707805096180d4fa0b1b7e0327223 100644 (file)
@@ -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 (file)
index 0000000..942bdb5
--- /dev/null
@@ -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" } }