Index: llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp =================================================================== --- llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp +++ llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp @@ -2919,6 +2919,17 @@ } return Legalized; } + case TargetOpcode::G_FSHL: { + Register DstReg = MI.getOperand(0).getReg(); + Register SrcReg = MI.getOperand(1).getReg(); + int64_t SrcImm = MI.getOperand(2).getImm(); + LLT DstTy = MRI.getType(DstReg); + + auto MIConst = MIRBuilder.buildConstant(DstTy, SrcImm); + MIRBuilder.buildShl(DstReg, SrcReg, MIConst->getOperand(0)); + MI.eraseFromParent(); + return Legalized; + } case TargetOpcode::G_FNEG: { Register Res = MI.getOperand(0).getReg(); LLT Ty = MRI.getType(Res);