[clang] [RISCV][Sema] Add feature check for target attribute to VSETVL intrinsics (PR #126064)
Brandon Wu via cfe-commits
cfe-commits at lists.llvm.org
Thu Feb 6 19:35:46 PST 2025
================
@@ -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
More information about the cfe-commits
mailing list