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

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

  __attribute__((arm_streaming))
   svboolx2_t svpext_lane_c8_x2(svcount_t pnn, uint64_t imm);

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

Reviewed By: kmclaughlin

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