diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2022-10-03 17:31:32 +0200 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2022-10-04 06:23:14 +0200 |
commit | f50d103183c551c7f9f9f20efaf2ebbf83d5e99f (patch) | |
tree | 77e624677cb5b50d227f3697078e6d93f18a8dc1 /libcpp/expr.cc | |
parent | 70e3f71a279856eabf99bbc92c0345c3ad20b615 (diff) | |
download | gcc-f50d103183c551c7f9f9f20efaf2ebbf83d5e99f.zip gcc-f50d103183c551c7f9f9f20efaf2ebbf83d5e99f.tar.gz gcc-f50d103183c551c7f9f9f20efaf2ebbf83d5e99f.tar.bz2 |
[PR107130] range-ops: Separate out ffs and popcount optimizations.
__builtin_popcount and __builtin_ffs were sharing the same range-ops
entry, but the nonzero mask optimization is not valid for ffs.
Separate them out into two entries.
PR tree-optimization/107130
gcc/ChangeLog:
* gimple-range-op.cc (class cfn_popcount): Call op_cfn_ffs.
(class cfn_ffs): New.
(gimple_range_op_handler::maybe_builtin_call): Separate out
CASE_CFN_FFS into its own case.
gcc/testsuite/ChangeLog:
* gcc.dg/tree-ssa/pr107130.c: New test.
Diffstat (limited to 'libcpp/expr.cc')
0 files changed, 0 insertions, 0 deletions