================ @@ -10570,6 +10570,26 @@ Value *CodeGenFunction::EmitAArch64BuiltinExpr(unsigned BuiltinID, return Builder.CreateCall(F, llvm::ConstantInt::get(Int32Ty, HintID)); } + if (BuiltinID == clang::AArch64::BI__builtin_arm_get_sme_state) { + // Create call to __arm_sme_state and store the results to the two pointers. ---------------- paulwalker-arm wrote:
I see what you mean. In which case I thinking creating specific builtins to avoid having to go through memory would be better because I don’t get the point of creating a builtin that has a less efficient interface than the function it targets. That said, I’ll not push for it if you feel this implementation is better. https://github.com/llvm/llvm-project/pull/75791 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits