This patch adds support for the following SME ACLE intrinsics (as defined
in https://arm-software.github.io/acle/main/acle.html):
- svzero_mask_za
- svzero_za
Co-authored-by: Sagar Kulkarni <sagar.kulkarni1@huawei.com>
Paths
| Differential D134677
[Clang][AArch64][SME] Add ZA zeroing intrinsics ClosedPublic Authored by bryanpkc on Sep 26 2022, 2:40 PM.
Details Summary This patch adds support for the following SME ACLE intrinsics (as defined
Co-authored-by: Sagar Kulkarni <sagar.kulkarni1@huawei.com>
Diff Detail
Event Timelinesagarkulkarni19 added a child revision: D134681: [Clang][AArch64][SME] Add outer product intrinsics.Sep 26 2022, 2:57 PM sagarkulkarni19 added a child revision: D134680: [Clang][AArch64][SME] Add intrinsics for adding vector elements to ZA tile. sagarkulkarni19 added a child revision: D134679: [Clang][AArch64][SME] Add intrinsics for reading streaming vector length. sagarkulkarni19 added a child revision: D134678: [Clang][AArch64][SME] Add intrinsics for ZA array load/store (LDR/STR). bryanpkc retitled this revision from [Clang][AArch64] Add SME zero intrinsic to [Clang][AArch64][SME] Add ZA zeroing intrinsics. bryanpkc removed a parent revision: D127910: [Clang][AArch64][SME] Add vector load/store (ld1/st1) intrinsics.Jun 4 2023, 11:18 PM bryanpkc removed a child revision: D134679: [Clang][AArch64][SME] Add intrinsics for reading streaming vector length. bryanpkc removed a child revision: D134680: [Clang][AArch64][SME] Add intrinsics for adding vector elements to ZA tile.
Comment Actions Other than my comment on the test, the patch looks good to me.
This revision is now accepted and ready to land.Jul 17 2023, 6:43 AM This revision was landed with ongoing or failed builds.Jul 20 2023, 2:57 AM Closed by commit rG578b0bd4e621: [Clang][AArch64][SME] Add ZA zeroing intrinsics (authored by bryanpkc). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 532431 clang/include/clang/Basic/arm_sme.td
clang/include/clang/Basic/arm_sve_sme_incl.td
clang/lib/CodeGen/CGBuiltin.cpp
clang/lib/CodeGen/CodeGenFunction.h
clang/lib/Sema/SemaChecking.cpp
clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c
clang/test/Sema/aarch64-sme-intrinsics/acle_sme_imm.cpp
|
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?