[sve][acle] Add some C intrinsics for brain float types.
authorFrancesco Petrogalli <francesco.petrogalli@arm.com>
Tue, 23 Jun 2020 22:06:13 +0000 (22:06 +0000)
committerFrancesco Petrogalli <francesco.petrogalli@arm.com>
Thu, 25 Jun 2020 16:31:01 +0000 (16:31 +0000)
commit7200fa38a912d0d9ec407ccdd7c4d924979da160
treef6523faa453eb29c688a82c3482f8f1f3b5befff
parent772f4826465de80d8c7f11b2fb35b92f9fe58f45
[sve][acle] Add some C intrinsics for brain float types.

Summary:
The following intrinsics has been added:

svuint16_t svcnt[_bf16]_m(svuint16_t inactive, svbool_t pg, svbfloat16_t op)
svuint16_t svcnt[_bf16]_x(svbool_t pg, svbfloat16_t op)
svuint16_t svcnt[_bf16]_z(svbool_t pg, svbfloat16_t op)

svbfloat16_t svtbl[_bf16](svbfloat16_t data, svuint16_t indices)

svbfloat16_t svtbl2[_bf16](svbfloat16x2_t data, svuint16_t indices)

svbfloat16_t svtbx[_bf16](svbfloat16_t fallback, svbfloat16_t data, svuint16_t indices)

Reviewers: c-rhodes, kmclaughlin, efriedma, sdesmalen, ctetreau

Subscribers: tschuett, hiraditya, rkruppe, psnobl, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D82429
clang/include/clang/Basic/arm_sve.td
clang/lib/CodeGen/CGBuiltin.cpp
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnt-bfloat.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tbl-bfloat.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2-bfloat.c [new file with mode: 0644]
clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx-bfloat.c [new file with mode: 0644]
llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
llvm/test/CodeGen/AArch64/sve-intrinsics-counting-bits.ll
llvm/test/CodeGen/AArch64/sve-intrinsics-perm-select.ll
llvm/test/CodeGen/AArch64/sve2-intrinsics-perm-tb.ll