diff options
author | Richard Biener <rguenther@suse.de> | 2025-05-28 15:09:19 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2025-06-06 09:16:01 +0200 |
commit | c6eb92973ea308e248ce23927a9ac58ef81ee7a2 (patch) | |
tree | 401ddbbae1577e76c736e1bb474cbcbcd3018b9e /libstdc++-v3/testsuite/std | |
parent | 10adbc54a5e1fd89eb69ce1bced4c74b7047fd24 (diff) | |
download | gcc-c6eb92973ea308e248ce23927a9ac58ef81ee7a2.zip gcc-c6eb92973ea308e248ce23927a9ac58ef81ee7a2.tar.gz gcc-c6eb92973ea308e248ce23927a9ac58ef81ee7a2.tar.bz2 |
tree-optimization/120032 - matching of table based CLZ
The following adds the ability to match a table based CLZ implementation
similar as to how we can do for CTZ. I'm re-using the workers for
matching up array and string tables by using a lambda and templates
and kept the transform step for CLZ/CTZ inter-mangled.
PR tree-optimization/120032
* match.pd (clz_table_index): New match.
* tree-ssa-forwprop.cc (check_table_array): Rename from
check_ctz_array. Split out actual verification to a functor.
(check_table_string): Rename from check_ctz_string and likewise.
(check_table): Rename from check_ctz_table and adjust.
(gimple_clz_table_index): Declare.
(simplify_count_zeroes): Rename from simplify_count_trailing_zeroes.
Extend to cover CLZ.
(pass_forwprop::execute): Adjust.
* gcc.target/i386/pr120032-1.c: New testcase.
* gcc.target/i386/pr120032-2.c: Likewise.
Diffstat (limited to 'libstdc++-v3/testsuite/std')
0 files changed, 0 insertions, 0 deletions