diff options
author | Andrew Pinski <apinski@marvell.com> | 2023-04-08 18:46:37 -0700 |
---|---|---|
committer | Andrew Pinski <apinski@marvell.com> | 2023-04-30 13:35:36 -0700 |
commit | c53237cefbad0c52799927d6fd99775426a8a92a (patch) | |
tree | de10d15a2276f0cbe6ce3d5617e3e027e594ea0c /gcc/value-range.h | |
parent | 55b708895149ac5e108f50150e12a3c5ba00e83d (diff) | |
download | gcc-c53237cefbad0c52799927d6fd99775426a8a92a.zip gcc-c53237cefbad0c52799927d6fd99775426a8a92a.tar.gz gcc-c53237cefbad0c52799927d6fd99775426a8a92a.tar.bz2 |
MATCH: add some of what phiopt's builtin_zero_pattern did
This adds the patterns for
POPCOUNT BSWAP FFS PARITY CLZ and CTZ.
For "a != 0 ? FUNC(a) : CST".
CLRSB, CLRSBL, and CLRSBLL will be moved next.
Note this is not enough to remove
cond_removal_in_builtin_zero_pattern as we need to handle
the case where there is an NOP_CONVERT inside the conditional
to move out of the condition inside match_simplify_replacement.
OK? Bootstrapped and tested on x86_64-linux-gnu.
gcc/ChangeLog:
* match.pd: Add patterns for "a != 0 ? FUNC(a) : CST"
for FUNC of POPCOUNT BSWAP FFS PARITY CLZ and CTZ.
Diffstat (limited to 'gcc/value-range.h')
0 files changed, 0 insertions, 0 deletions