From: H.J. Lu Date: Fri, 5 Feb 2016 16:24:06 +0000 (+0000) Subject: Add a testcase for PR target/69677 X-Git-Tag: basepoints/gcc-7~1082 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f5d4b899a5df093cb92a89dcb29ec93fb3bfe8ce;p=thirdparty%2Fgcc.git Add a testcase for PR target/69677 PR target/69677 * gcc.target/i386/pr69677.c: New test. From-SVN: r233180 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 344b7d34f384..e718eba49527 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2016-02-05 H.J. Lu + + PR target/69677 + * gcc.target/i386/pr69677.c: New test. + 2016-02-05 Patrick Palka 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 000000000000..942bdb58215f --- /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" } }