[all-commits] [llvm/llvm-project] 6b429a: [RISCV] Improve RV64 codegen for i32 ISD::SADDO wh...
Craig Topper via All-commits
all-commits at lists.llvm.org
Mon May 8 13:05:49 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 6b429a9cf93342a280d67f63104285888c9884d1
https://github.com/llvm/llvm-project/commit/6b429a9cf93342a280d67f63104285888c9884d1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-05-08 (Mon, 08 May 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/xaluo.ll
Log Message:
-----------
[RISCV] Improve RV64 codegen for i32 ISD::SADDO when RHS is constant.
This uses the same sequence we get from LegalizeDAG for i32 on RV32, but modified
to use W instructions.
When the RHS is constant one of the setccs simplifies to a constant and the xor will either
be an xori with 1 or get removed.
When the RHS is not a constant it was not an obvious improvement and it was a regression
when used with a branch. So I've restricted to the constant case.
Reviewed By: reames
Differential Revision: https://reviews.llvm.org/D150135
More information about the All-commits
mailing list