aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2022-09-27 10:30:00 +0200
committerAldy Hernandez <aldyh@redhat.com>2022-09-27 17:02:11 +0200
commit001c60ccfeaf9a480a56203418af804ad42e88b9 (patch)
tree6063fd6a3ed81175459c4f1a848f1fc625da8017 /libcpp
parent971bc0aae9cf52abe9a6fcab3b7c25d1fa94ad1e (diff)
downloadgcc-001c60ccfeaf9a480a56203418af804ad42e88b9.zip
gcc-001c60ccfeaf9a480a56203418af804ad42e88b9.tar.gz
gcc-001c60ccfeaf9a480a56203418af804ad42e88b9.tar.bz2
range-ops: Calculate the popcount of a singleton.
The legacy popcount folding didn't actually fold singleton ranges. I don't think anyone noticed because there are match.pd patterns that fold __builtin_popcount using the global nonzero bits set by CCP. It's good form to handle this, even without CCP's help. Tested on x86-64 Linux. gcc/ChangeLog: * gimple-range-op.cc (cfn_popcount): Calculate the popcount of a singleton. gcc/testsuite/ChangeLog: * gcc.dg/tree-ssa/popcount6b.c: New test.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions