[clang] [Clang][AArch64] Add missing SME functions to header file. (PR #75791)

Sander de Smalen via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 19 05:39:22 PST 2023


================
@@ -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.
----------------
sdesmalen-arm wrote:

I looked into this a while back when I implemented this builtin, but couldn't find any prior work where a builtin returned two scalar values which is why I opted for doing this through memory. LLVM will optimise these away similar to how it optimises all of Clang's other memory operations away (mem2reg).

https://github.com/llvm/llvm-project/pull/75791


More information about the cfe-commits mailing list