diff --git a/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp b/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp index 80e9c08e850b6..1bb9a3c6161dd 100644 --- a/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp +++ b/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp @@ -314,7 +314,10 @@ MachineInstrBuilder MachineIRBuilder::buildConstant(const DstOp &Res, assert(EltTy.getScalarSizeInBits() == Val.getBitWidth() && "creating constant with the wrong size"); - if (Ty.isVector()) { + assert(!Ty.isScalableVector() && + "unexpected scalable vector in buildConstant"); + + if (Ty.isFixedVector()) { auto Const = buildInstr(TargetOpcode::G_CONSTANT) .addDef(getMRI()->createGenericVirtualRegister(EltTy)) .addCImm(&Val); @@ -347,7 +350,10 @@ MachineInstrBuilder MachineIRBuilder::buildFConstant(const DstOp &Res, assert(!Ty.isPointer() && "invalid operand type"); - if (Ty.isVector()) { + assert(!Ty.isScalableVector() && + "unexpected scalable vector in buildFConstant"); + + if (Ty.isFixedVector()) { auto Const = buildInstr(TargetOpcode::G_FCONSTANT) .addDef(getMRI()->createGenericVirtualRegister(EltTy)) .addFPImm(&Val);