diff --git a/clang/utils/TableGen/RISCVVEmitter.cpp b/clang/utils/TableGen/RISCVVEmitter.cpp index 35b2203cecf34..a20d7f5eba385 100644 --- a/clang/utils/TableGen/RISCVVEmitter.cpp +++ b/clang/utils/TableGen/RISCVVEmitter.cpp @@ -533,9 +533,11 @@ void RVVEmitter::createRVVIntrinsics( BasicPrototype, /*IsMasked=*/false, /*HasMaskedOffOperand=*/false, HasVL, NF, UnMaskedPolicyScheme, DefaultPolicy, IsTuple); - auto MaskedPrototype = RVVIntrinsic::computeBuiltinTypes( - BasicPrototype, /*IsMasked=*/true, HasMaskedOffOperand, HasVL, NF, - MaskedPolicyScheme, DefaultPolicy, IsTuple); + llvm::SmallVector MaskedPrototype; + if (HasMasked) + MaskedPrototype = RVVIntrinsic::computeBuiltinTypes( + BasicPrototype, /*IsMasked=*/true, HasMaskedOffOperand, HasVL, NF, + MaskedPolicyScheme, DefaultPolicy, IsTuple); // Create Intrinsics for each type and LMUL. for (char I : TypeRange) {