Skip to content

Commit 50a457d

Browse files
[RISCV][VLOPT] Add getOperandInfo for saturating signed multiply (#120351)
These instructions are covered by the existing tests. We don't add them to isSupported because of VXSAT. This decision was made in #120358.
1 parent 16d19aa commit 50a457d

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,11 @@ static OperandInfo getOperandInfo(const MachineOperand &MO,
415415
case RISCV::VASUBU_VX:
416416
case RISCV::VASUB_VV:
417417
case RISCV::VASUB_VX:
418+
// Vector Single-Width Fractional Multiply with Rounding and Saturation
419+
// EEW=SEW. EMUL=LMUL. The instruction produces 2*SEW product internally but
420+
// saturates to fit into SEW bits.
421+
case RISCV::VSMUL_VV:
422+
case RISCV::VSMUL_VX:
418423
// Vector Single-Width Scaling Shift Instructions
419424
// EEW=SEW. EMUL=LMUL.
420425
case RISCV::VSSRL_VI:

0 commit comments

Comments
 (0)