================ @@ -623,13 +623,37 @@ bool SemaRISCV::CheckBuiltinFunctionCall(const TargetInfo &TI, } } + auto checkVsetvl = [&](unsigned SEWOffset, + unsigned LMULOffset) -> bool { + const FunctionDecl *FD = SemaRef.getCurFunctionDecl(); + llvm::StringMap<bool> FunctionFeatureMap; + Context.getFunctionFeatureMap(FunctionFeatureMap, FD); + llvm::APSInt SEWResult; + llvm::APSInt LMULResult; + if (SemaRef.BuiltinConstantArg(TheCall, SEWOffset, SEWResult) || + SemaRef.BuiltinConstantArg(TheCall, LMULOffset, LMULResult)) + return true; + int SEWValue = SEWResult.getSExtValue(); + int LMULValue = LMULResult.getSExtValue(); + if (((SEWValue == 0 && LMULValue == 5) || // e8mf8 + (SEWValue == 1 && LMULValue == 6) || // e16mf4 + (SEWValue == 2 && LMULValue == 7) || // e32mf2 + (SEWValue == 3 && LMULValue == 0) || // e64m1 ---------------- 4vtomat wrote:
Oh I see, let me remove it https://github.com/llvm/llvm-project/pull/126064 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits