diff options
author | Craig Topper <craig.topper@sifive.com> | 2024-08-20 09:41:46 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-20 09:41:46 -0700 |
commit | 514481736cf943464125ef34570a7df0a19290de (patch) | |
tree | 7f579a55957dc027dafc5b426253666df1aa8c9f /llvm/lib/Object/MachOObjectFile.cpp | |
parent | abd3a2ded32a4dfad63ed6397f291c64453d744f (diff) | |
download | llvm-514481736cf943464125ef34570a7df0a19290de.zip llvm-514481736cf943464125ef34570a7df0a19290de.tar.gz llvm-514481736cf943464125ef34570a7df0a19290de.tar.bz2 |
[RISCV] Add isel optimization for (and (sra y, c2), c1) to recover regression from #101751. (#104114)
If c1 is a shifted mask with c3 leading zeros and c4 trailing zeros. If
c2 is greater than c3, we can use (srli (srai y, c2 - c3), c3 + c4)
followed by a SHXADD with c4 as the X amount.
Without Zba we can use (slli (srli (srai y, c2 - c3), c3 + c4), c4).
Alive2: https://alive2.llvm.org/ce/z/AwhheR
Diffstat (limited to 'llvm/lib/Object/MachOObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions