[AArch64][SVE2] Add the SVE2.1 permute vector elements (quadword) instructions
authorDavid Sherwood <david.sherwood@arm.com>
Mon, 7 Nov 2022 18:01:40 +0000 (18:01 +0000)
committerDavid Sherwood <david.sherwood@arm.com>
Thu, 10 Nov 2022 09:06:57 +0000 (09:06 +0000)
commit098e20134af5d32a73bd124ca3ce001baa569cab
tree674dbf13ae4d69da404de2eac4b679b23cd69069
parente3fef88a30a118d00562245138e65694c90d67cc
[AArch64][SVE2] Add the SVE2.1 permute vector elements (quadword) instructions

This patch adds the assembly/disassembly for the following instructions:

zipq1 : Interleave elements from low halves of each pair of quadword vector segments
zipq2 : Interleave elements from high halves of each pair of quadword vector segments
uzpq1 : Concatenate even elements within each pair of quadword vector segments
uzpq2 : Concatenate odd elements within each pair of quadword vector segments
tblq  : Programmable table lookup within each quadword vector segment (zeroing)

The reference can be found here:
https://developer.arm.com/documentation/ddi0602/2022-09

Differential Revision: https://reviews.llvm.org/D137619
12 files changed:
llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
llvm/lib/Target/AArch64/SVEInstrFormats.td
llvm/test/MC/AArch64/SVE2p1/tblq-diagnostics.s [new file with mode: 0644]
llvm/test/MC/AArch64/SVE2p1/tblq.s [new file with mode: 0644]
llvm/test/MC/AArch64/SVE2p1/uzpq1-diagnostics.s [new file with mode: 0644]
llvm/test/MC/AArch64/SVE2p1/uzpq1.s [new file with mode: 0644]
llvm/test/MC/AArch64/SVE2p1/uzpq2-diagnostics.s [new file with mode: 0644]
llvm/test/MC/AArch64/SVE2p1/uzpq2.s [new file with mode: 0644]
llvm/test/MC/AArch64/SVE2p1/zipq1-diagnostics.s [new file with mode: 0644]
llvm/test/MC/AArch64/SVE2p1/zipq1.s [new file with mode: 0644]
llvm/test/MC/AArch64/SVE2p1/zipq2-diagnostics.s [new file with mode: 0644]
llvm/test/MC/AArch64/SVE2p1/zipq2.s [new file with mode: 0644]