aboutsummaryrefslogtreecommitdiff
path: root/libcpp/expr.cc
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2022-10-03 17:31:32 +0200
committerAldy Hernandez <aldyh@redhat.com>2022-10-04 06:23:14 +0200
commitf50d103183c551c7f9f9f20efaf2ebbf83d5e99f (patch)
tree77e624677cb5b50d227f3697078e6d93f18a8dc1 /libcpp/expr.cc
parent70e3f71a279856eabf99bbc92c0345c3ad20b615 (diff)
downloadgcc-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