[PATCH] D127910: [Clang][AArch64] Add SME C intrinsics for load and store
    Sagar Kulkarni via Phabricator via cfe-commits 
    cfe-commits at lists.llvm.org
       
    Thu Jun 16 11:39:31 PDT 2022
    
    
  
sagarkulkarni19 added inline comments.
================
Comment at: clang/include/clang/Basic/arm_sve.td:209
 def IsTupleSet                : FlagType<0x400000000>;
+def IsSME                     : FlagType<0x800000000>;
+def IsSMELoadStore            : FlagType<0x1000000000>;
----------------
sdesmalen wrote:
> Is there value in having both `IsSME` and `IsSMELoadStore`?
`IsSME` flag is checked in the SveEmitter.cpp : createSMEHeader(...) to generate arm_sme.h with only the SME intrinsics, whereas `IsSMELoadStore` is used to correctly CodeGen (CGBuiltins.cpp) load and store intrinsics. 
================
Comment at: clang/lib/Basic/Targets/AArch64.cpp:342
+  if (HasSME)
+    Builder.defineMacro("__ARM_FEATURE_SME", "1");
+
----------------
sdesmalen wrote:
> When this macro is non-zero, it suggests that the compiler implements the full SME ACLE. That is currently not yet the case, so until then we should leave this macro undefined.
Okay makes sense. But until all SME ACLE is implemented, do we need some sort of guard in the meantime while the SME intrinsics that are implemented incrementally? 
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D127910/new/
https://reviews.llvm.org/D127910
    
    
More information about the cfe-commits
mailing list