sdesmalen added inline comments.
================ Comment at: clang/lib/CodeGen/CGBuiltin.cpp:9921-9922 return EmitSMEReadWrite(TypeFlags, Ops, Builtin->LLVMIntrinsic); + else if (TypeFlags.isZero()) + return EmitSMEZero(TypeFlags, Ops, Builtin->LLVMIntrinsic); ---------------- Given that the type flags are a little precious (we've already used 42 out of the 64 bits) and there only being a single intrinsic for svzero, can you do something similar to what's done in `EmitAArch64SVEBuiltinExpr` and create a switch on `BuiltinID` instead? ================ Comment at: clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c:13 +// CHECK-NEXT: ret void +// +void test_svzero_mask_za() { ---------------- These tests are missing some kind of `ARM_SHARED_ZA_ATTR` macro (similar to what you've done for `ARM_STREAMING_ATTR` in D127910 and D128648), because `svzero` requires ZA state to be available. ================ Comment at: clang/test/Sema/aarch64-sme-intrinsics/acle_sme_imm.cpp:206 +ARM_STREAMING_ATTR +void test_range_0_255(svbool_t pg, void *ptr) { ---------------- svzero is streaming-compatible, but does require shared_za. So you should probably change this to ARM_SHARED_ZA_ATTR (and add the #define for it) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D134677/new/ https://reviews.llvm.org/D134677 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits