diff options
author | Philip Reames <preames@rivosinc.com> | 2024-04-23 12:40:55 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-23 12:40:55 -0700 |
commit | 0c032fd5425d853dfc577e607b9c179d811cec19 (patch) | |
tree | 889477f486f71a192df3c174faf2844618fab11e /llvm/lib/CodeGen/MachineInstr.cpp | |
parent | dc8f6a8cdad427345a60f5142411617df521c303 (diff) | |
download | llvm-0c032fd5425d853dfc577e607b9c179d811cec19.zip llvm-0c032fd5425d853dfc577e607b9c179d811cec19.tar.gz llvm-0c032fd5425d853dfc577e607b9c179d811cec19.tar.bz2 |
[RISCV] Use SHL_ADD in remaining strength reduce cases for MUL (#89789)
The interesting bit is the zext folding. This is the first case where we
end up with a profitable fold of shNadd (zext x), y to shNadd.uw x, y.
See zext_mul68 from rv64zba.ll.
The test differences are cases where we can legally fold (only because
there's no one use check). These are not profitable or harmful, but we
can't a oneuse check without breaking the zext_mul68 case.
Note that XTHeadBa doesn't appear to have the equivalent patterns so
this only shows up in Zba.
Diffstat (limited to 'llvm/lib/CodeGen/MachineInstr.cpp')
0 files changed, 0 insertions, 0 deletions