[AArch64][SME2/SVE2p1] Add predicate-as-counter intrinsics for pext (single)
authorSander de Smalen <sander.desmalen@arm.com>
Tue, 16 May 2023 12:53:23 +0000 (12:53 +0000)
committerSander de Smalen <sander.desmalen@arm.com>
Tue, 16 May 2023 14:04:16 +0000 (14:04 +0000)
commit094005eb6602d71811fbf92414e98cf6ed7d1ff8
tree1fcb125d1141f17d0ce0f51e4815d13afc5df6ae
parent5cafecf9f952818400fa32645695e79838f1bc2c
[AArch64][SME2/SVE2p1] Add predicate-as-counter intrinsics for pext (single)

These intrinsics are used to implement the pext intrinsics that extract
a predicate (mask) from a predicate-as-counter value, e.g.

   __attribute__((arm_streaming))
   svbool_t svpext_lane_c8(svcount_t pnn, uint64_t imm);

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

Reviewed By: david-arm

Differential Revision: https://reviews.llvm.org/D150441
llvm/include/llvm/IR/IntrinsicsAArch64.td
llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
llvm/lib/Target/AArch64/SVEInstrFormats.td
llvm/test/CodeGen/AArch64/sve2p1-intrinsics-predicate-as-counter.ll