diff options
author | Kugan Vivekanandarajah <kuganv@linaro.org> | 2018-07-18 22:11:24 +0000 |
---|---|---|
committer | Kugan Vivekanandarajah <kugan@gcc.gnu.org> | 2018-07-18 22:11:24 +0000 |
commit | 7f15cc4dd931f708b0340dceaa62df159c943755 (patch) | |
tree | 39a34260c1a873c0a2b66b49fe543988e78c6615 /gcc/testsuite | |
parent | d46d010b770bfdfbc166a555e96f38bc8bf9d2a4 (diff) | |
download | gcc-7f15cc4dd931f708b0340dceaa62df159c943755.zip gcc-7f15cc4dd931f708b0340dceaa62df159c943755.tar.gz gcc-7f15cc4dd931f708b0340dceaa62df159c943755.tar.bz2 |
re PR tree-optimization/86544 (Popcount detection generates different code on C and C++)
gcc/ChangeLog:
2018-07-18 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/86544
* tree-ssa-phiopt.c (cond_removal_in_popcount_pattern): Handle comparision with EQ_EXPR
in last stmt.
gcc/testsuite/ChangeLog:
2018-07-18 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/86544
* g++.dg/tree-ssa/pr86544.C: New test.
From-SVN: r262864
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/tree-ssa/pr86544.C | 15 |
2 files changed, 20 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1b7364a..f0e0825 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-07-18 Kugan Vivekanandarajah <kuganv@linaro.org> + + PR middle-end/86544 + * g++.dg/tree-ssa/pr86544.C: New test. + 2018-07-18 Jakub Jelinek <jakub@redhat.com> PR c++/86550 diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr86544.C b/gcc/testsuite/g++.dg/tree-ssa/pr86544.C new file mode 100644 index 0000000..8a90089 --- /dev/null +++ b/gcc/testsuite/g++.dg/tree-ssa/pr86544.C @@ -0,0 +1,15 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -fdump-tree-phiopt3 -fdump-tree-optimized" } */ + +int PopCount (long b) { + int c = 0; + + while (b) { + b &= b - 1; + c++; + } + return c; +} + +/* { dg-final { scan-tree-dump-times "__builtin_popcount" 1 "optimized" } } */ +/* { dg-final { scan-tree-dump-times "if" 0 "phiopt3" } } */ |