================
@@ -6248,6 +6249,46 @@ void AArch64DAGToDAGISel::Select(SDNode *Node) {
AArch64::FMINNM_VG4_4Z4Z_S, AArch64::FMINNM_VG4_4Z4Z_D}))
SelectDestructiveMultiIntrinsic(Node, 4, true, Op);
return;
+ case Intrinsic::aarch64_sve_aese_laneq_x2:
+ SelectDestructiveMultiIntrinsic(Node, 2, false, AArch64::AESE_2ZZI_B);
+ return;
+ case Intrinsic::aarch64_sve_aesd_laneq_x2:
+ SelectDestructiveMultiIntrinsic(Node, 2, false, AArch64::AESD_2ZZI_B);
+ return;
+ case Intrinsic::aarch64_sve_aesemc_laneq_x2:
+ SelectDestructiveMultiIntrinsic(Node, 2, false, AArch64::AESEMC_2ZZI_B);
+ return;
+ case Intrinsic::aarch64_sve_aesdimc_laneq_x2:
+ SelectDestructiveMultiIntrinsic(Node, 2, false, AArch64::AESDIMC_2ZZI_B);
+ return;
+ case Intrinsic::aarch64_sve_aese_laneq_x4:
+ SelectDestructiveMultiIntrinsic(Node, 4, false, AArch64::AESE_4ZZI_B);
+ return;
+ case Intrinsic::aarch64_sve_aesd_laneq_x4:
+ SelectDestructiveMultiIntrinsic(Node, 4, false, AArch64::AESD_4ZZI_B);
+ return;
+ case Intrinsic::aarch64_sve_aesemc_laneq_x4:
+ SelectDestructiveMultiIntrinsic(Node, 4, false, AArch64::AESEMC_4ZZI_B);
+ return;
+ case Intrinsic::aarch64_sve_aesdimc_laneq_x4:
+ SelectDestructiveMultiIntrinsic(Node, 4, false, AArch64::AESDIMC_4ZZI_B);
+ return;
+ case Intrinsic::aarch64_sve_pmlal:
+ SelectDestructiveMultiIntrinsic(Node, 2, false, AArch64::PMLAL_2ZZZ_Q);
+ return;
+ case Intrinsic::aarch64_sve_pmull: {
+ SDLoc DL(Node);
----------------
CarolineConcatto wrote:
Can we use some of the existing function to do this?
I did not look too much into it, but the SelectCVTIntrinsic?
https://github.com/llvm/llvm-project/pull/165545
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits