diff options
| author | Alex Bradbury <asb@igalia.com> | 2022-09-13 16:50:08 +0100 |
|---|---|---|
| committer | Alex Bradbury <asb@igalia.com> | 2022-09-13 16:51:47 +0100 |
| commit | 547160848c427223ec81aad02c71278d2b815869 (patch) | |
| tree | e1648ab15c3b549234ce5dccd4c23bc92453e8a6 /lldb/test/API/functionalities/module_cache/simple_exe/TestModuleCacheSimple.py | |
| parent | 5224bae6130722dd41561422df1133eab60eb969 (diff) | |
[RISCV] Return true in hasBitTest when Zbs is enabled and update BEXTI pattern for resulting canonicalisation
As the Zbs extension includes bext[i] for bit extract, we can
unconditionally return true from this hook. This hook causes the DAG
combiner to perform the following canonicalisation:
and (not (srl X, C)), 1 --> (and X, 1<<C) == 0
and (srl (not X), C)), 1 --> (and X, 1<<C) == 0
As simply changing the hook causes a codegen regression, this patch also
modifies a BEXTI pattern to match this canonicalised form.
As BSETINVMask is now used for BEXT as well as BSET and BINV, it has
been renamed to the more generic SingleBitSetMask.
There is one codegen change in bittest.ll for bittest_31_i64 (NOT+BEXTI
rather than NOT+SRLIW). This is neutral in terms of code quality.
Differential Revision: https://reviews.llvm.org/D131482
Diffstat (limited to 'lldb/test/API/functionalities/module_cache/simple_exe/TestModuleCacheSimple.py')
0 files changed, 0 insertions, 0 deletions
