[Clang][AArch64][SME] Add intrinsics for adding vector elements to ZA tile
authorBryan Chan <bryan.chan@huawei.com>
Thu, 20 Jul 2023 10:03:55 +0000 (06:03 -0400)
committerBryan Chan <bryan.chan@huawei.com>
Thu, 20 Jul 2023 10:06:36 +0000 (06:06 -0400)
commit4ae900c063634e19346b88913e28204a3fc47825
tree7a44b875f1a57769eab7ae9eb584f997dcdc0daa
parent15d16a79a01f4fac718556809ecd00914dd7d7a2
[Clang][AArch64][SME] Add intrinsics for adding vector elements to ZA tile

This patch adds support for the following SME ACLE intrinsics (as defined
in https://arm-software.github.io/acle/main/acle.html):

  - svaddha_za32[_u32]_m // also for s32
  - svaddva_za32[_u32]_m // also for s32
  - svaddha_za64[_u64]_m // also for s64
  - svaddva_za64[_u64]_m // also for s64

The _za64 versions are available only when the sme-i16i64 feature is enabled.

Co-authored-by: Sagar Kulkarni <sagar.kulkarni1@huawei.com>
Reviewed By: sdesmalen

Differential Revision: https://reviews.llvm.org/D134680
clang/include/clang/Basic/arm_sme.td
clang/lib/CodeGen/CGBuiltin.cpp
clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i32.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c [new file with mode: 0644]
clang/test/Sema/aarch64-sme-intrinsics/acle_sme_imm.cpp