[all-commits] [llvm/llvm-project] c26e86: [RISCV] Custom type legalize i32 fshl/fshr on RV64...
Craig Topper via All-commits
all-commits at lists.llvm.org
Wed Nov 25 10:08:14 PST 2020
Branch: refs/heads/temp-test-main
Home: https://github.com/llvm/llvm-project
Commit: c26e8697d71eea5fa08944a2db039a2187abf27c
https://github.com/llvm/llvm-project/commit/c26e8697d71eea5fa08944a2db039a2187abf27c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2020-11-25 (Wed, 25 Nov 2020)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoB.td
M llvm/test/CodeGen/RISCV/rv64Zbt.ll
Log Message:
-----------
[RISCV] Custom type legalize i32 fshl/fshr on RV64 with Zbt.
This adds custom opcodes for FSLW/FSRW so we can type legalize
fshl/fshr without needing to match a sign_extend_inreg.
I've used the operand order from fshl/fshr to make the isel
pattern similar to the non-W form. It was also hard to decide
another order since the register instruction has the shift amount
as the second operand, but the immediate instruction has it as
the third operand.
Differential Revision: https://reviews.llvm.org/D91479
More information about the All-commits
mailing list