[AArch64][SME2/SVE2p1] Add predicate-as-counter intrinsics for ptrue/cntp
authorSander de Smalen <sander.desmalen@arm.com>
Fri, 12 May 2023 08:21:54 +0000 (08:21 +0000)
committerSander de Smalen <sander.desmalen@arm.com>
Fri, 12 May 2023 08:43:12 +0000 (08:43 +0000)
commit3b95b818135f85376082621149e59c297f640c14
tree33f88cad09176444d6625be5230ce7166cacdc1f
parent773b0aaa49170a97b4de7968c4b6dbc7673aba23
[AArch64][SME2/SVE2p1] Add predicate-as-counter intrinsics for ptrue/cntp

These intrinsics are used to implement:
* svptrue_c8(), svptrue_c16(), etc.
* svcntp_c8(svcount_t pnn, uint64_t vl), svcntp_c16(...), etc.

As described in https://github.com/ARM-software/acle/pull/217

Reviewed By: david-arm

Differential Revision: https://reviews.llvm.org/D150263
llvm/include/llvm/IR/Intrinsics.h
llvm/include/llvm/IR/Intrinsics.td
llvm/include/llvm/IR/IntrinsicsAArch64.td
llvm/lib/IR/Function.cpp
llvm/lib/Target/AArch64/SVEInstrFormats.td
llvm/test/CodeGen/AArch64/sve2p1-intrinsics-cntp.ll [new file with mode: 0644]
llvm/test/CodeGen/AArch64/sve2p1-intrinsics-predicate-as-counter.ll [new file with mode: 0644]