aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Support/MathExtrasTest.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2025-09-11 07:09:13 -0700
committerGitHub <noreply@github.com>2025-09-11 07:09:13 -0700
commit4ce74bfb4d218392719ad610c9dfc467042a6b58 (patch)
tree8adaf33d50e8c1a1068e081ff3b143caa1d3a485 /llvm/unittests/Support/MathExtrasTest.cpp
parent3e18b5af257463718edfdca791215f09f97d2209 (diff)
downloadllvm-4ce74bfb4d218392719ad610c9dfc467042a6b58.zip
llvm-4ce74bfb4d218392719ad610c9dfc467042a6b58.tar.gz
llvm-4ce74bfb4d218392719ad610c9dfc467042a6b58.tar.bz2
[RISCV] Use default promotion for i32 CTLZ on RV64 with XTHeadBb. (#157994)
The existing isel pattern felt like it was emitting more instructions than an isel pattern probably should. We were also missing opportunities to fold the innermost instructions with surrounding instructions. I tried to move the expansion to lowering, but we got a little too aggressive folding the (not (slli (not))) with other operations in some tests and created code with constants that are hard to materialize and missed using TH_FF0. We could probably have fixed that with a RISCVISD::TH_FF0 node. While investigating, I tried using the default promotion. The results aren't obviously worse than the previous codegen. And in some case they are obviously better.
Diffstat (limited to 'llvm/unittests/Support/MathExtrasTest.cpp')
0 files changed, 0 insertions, 0 deletions