[all-commits] [llvm/llvm-project] e64f5d: [RISCV] Replace RISCVISD::VP_MERGE_VL with a new n...
Craig Topper via All-commits
all-commits at lists.llvm.org
Thu Dec 21 14:35:02 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e64f5d6305c447b1ec3bc31128753b28f4e87f32
https://github.com/llvm/llvm-project/commit/e64f5d6305c447b1ec3bc31128753b28f4e87f32
Author: Craig Topper <craig.topper at sifive.com>
Date: 2023-12-21 (Thu, 21 Dec 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Replace RISCVISD::VP_MERGE_VL with a new node that has a separate passthru operand. (#75682)
ISD::VP_MERGE treats the false operand as the source for elements past
VL. The vmerge instruction encodes 3 registers and treats the vd
register as the source for the tail.
This patch adds a new ISD opcode that models the tail source explicitly.
During lowering we copy the false operand to this operand.
I think we can merge RISCVISD::VSELECT_VL with this new opcode by using
an UNDEF passthru, but I'll save that for another patch.
More information about the All-commits
mailing list