36 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sve2-aes < %s | FileCheck %s3; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+ssve-aes -force-streaming < %s | FileCheck %s4 5;6; PMULLB7;8 9define <vscale x 2 x i64> @pmullb_i64(<vscale x 2 x i64> %a, <vscale x 2 x i64> %b) {10; CHECK-LABEL: pmullb_i64:11; CHECK: // %bb.0:12; CHECK-NEXT: pmullb z0.q, z0.d, z1.d13; CHECK-NEXT: ret14 %out = call <vscale x 2 x i64> @llvm.aarch64.sve.pmullb.pair.nxv2i64(<vscale x 2 x i64> %a,15 <vscale x 2 x i64> %b)16 ret <vscale x 2 x i64> %out17}18 19;20; PMULLT21;22 23define <vscale x 2 x i64> @pmullt_i64(<vscale x 2 x i64> %a, <vscale x 2 x i64> %b) {24; CHECK-LABEL: pmullt_i64:25; CHECK: // %bb.0:26; CHECK-NEXT: pmullt z0.q, z0.d, z1.d27; CHECK-NEXT: ret28 %out = call <vscale x 2 x i64> @llvm.aarch64.sve.pmullt.pair.nxv2i64(<vscale x 2 x i64> %a,29 <vscale x 2 x i64> %b)30 ret <vscale x 2 x i64> %out31}32 33declare <vscale x 2 x i64> @llvm.aarch64.sve.pmullb.pair.nxv2i64(<vscale x 2 x i64>, <vscale x 2 x i64>)34 35declare <vscale x 2 x i64> @llvm.aarch64.sve.pmullt.pair.nxv2i64(<vscale x 2 x i64>, <vscale x 2 x i64>)36