diff options
| -rw-r--r-- | llvm/lib/Target/RISCV/RISCVFoldMasks.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/lib/Target/RISCV/RISCVFoldMasks.cpp b/llvm/lib/Target/RISCV/RISCVFoldMasks.cpp index d74427112b1b..11e3c61db290 100644 --- a/llvm/lib/Target/RISCV/RISCVFoldMasks.cpp +++ b/llvm/lib/Target/RISCV/RISCVFoldMasks.cpp @@ -99,7 +99,7 @@ bool RISCVFoldMasks::convertVMergeToVMv(MachineInstr &MI, MachineInstr *V0Def) { unsigned NewOpc; switch (MI.getOpcode()) { default: - llvm_unreachable("Expected VMERGE_VVM_<LMUL> instruction."); + return false; CASE_VMERGE_TO_VMV(MF8) CASE_VMERGE_TO_VMV(MF4) CASE_VMERGE_TO_VMV(MF2) @@ -204,10 +204,8 @@ bool RISCVFoldMasks::runOnMachineFunction(MachineFunction &MF) { for (MachineBasicBlock &MBB : MF) { CurrentV0Def = nullptr; for (MachineInstr &MI : MBB) { - unsigned BaseOpc = RISCV::getRVVMCOpcode(MI.getOpcode()); Changed |= convertToUnmasked(MI, CurrentV0Def); - if (BaseOpc == RISCV::VMERGE_VVM) - Changed |= convertVMergeToVMv(MI, CurrentV0Def); + Changed |= convertVMergeToVMv(MI, CurrentV0Def); if (MI.definesRegister(RISCV::V0, TRI)) CurrentV0Def = &MI; |
