[AArch64][SME2] Add multi-vector saturating rounding shift right intrinsics
authorKerry McLaughlin <kerry.mclaughlin@arm.com>
Thu, 26 Jan 2023 10:55:06 +0000 (10:55 +0000)
committerKerry McLaughlin <kerry.mclaughlin@arm.com>
Thu, 26 Jan 2023 11:13:15 +0000 (11:13 +0000)
commit034ad11acff75511cb229c61b050f59138dbbed9
treea2243b847718f26d913b3d31b411b47ff0c93d77
parent0488ecb5696d93c3d149bab45268992a4744e668
[AArch64][SME2] Add multi-vector saturating rounding shift right intrinsics

Adds IR intrinsics for the following SME2 instructions:
 - sqrshr (2 and 4 vector)
 - uqrshr (2 and 4 vector)
 - sqrshru (2 and 4 vector)
 - sqrshrn (4 vector)
 - uqrshrn (4 vector)
 - sqrshrun (4 vector)

Also adds intrinsics for the following SVE2p1 instructions:
 - sqrshrn (2 vector)
 - uqrshrn (2 vector)
 - sqrshrun (2 vector)

NOTE: These intrinsics are still in development and are subject to future changes.

Reviewed By: CarolineConcatto

Differential Revision: https://reviews.llvm.org/D142466
llvm/include/llvm/IR/IntrinsicsAArch64.td
llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
llvm/lib/Target/AArch64/SMEInstrFormats.td
llvm/lib/Target/AArch64/SVEInstrFormats.td
llvm/test/CodeGen/AArch64/sme2-intrinsics-qrshr.ll [new file with mode: 0644]
llvm/test/CodeGen/AArch64/sve2p1-intrinsics-qrshr.ll [new file with mode: 0644]