diff options
author | Craig Topper <craig.topper@sifive.com> | 2025-09-03 22:16:05 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-09-03 22:16:05 -0700 |
commit | 97d4c7d1eb1bb5d0a5e61867fa9594c6d5875d86 (patch) | |
tree | f1aa29a38231ed5dca26be3395eb5ab8caa2b651 /clang/lib/AST/ByteCode/Compiler.cpp | |
parent | 3fa3932e98a865d347521a85f9a51d8516f79bde (diff) | |
download | llvm-97d4c7d1eb1bb5d0a5e61867fa9594c6d5875d86.zip llvm-97d4c7d1eb1bb5d0a5e61867fa9594c6d5875d86.tar.gz llvm-97d4c7d1eb1bb5d0a5e61867fa9594c6d5875d86.tar.bz2 |
[RISCV] Fold (X & (7 << 29)) == 0 -> (srliw X, 29) == 0 for RV64. (#156769)
This is similar to the recently added (X & -4096) == 0 -> (X >> 12) ==
0,
but operating only on the lower 32 bits.
This also removes the (X & (1 << 31)) == 0 -> (xor (srliw X, 31), 1)
isel pattern. seqz and xori 1 should have similar cost and encoding
size.
Diffstat (limited to 'clang/lib/AST/ByteCode/Compiler.cpp')
0 files changed, 0 insertions, 0 deletions