1; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sve2-aes -asm-verbose=0 < %s 2>%t | FileCheck %s 2; RUN: FileCheck --check-prefix=WARN --allow-empty %s <%t 3 4; If this check fails please read test/CodeGen/AArch64/README for instructions on how to resolve it. 5; WARN-NOT: warning 6 7; 8; PMULLB 9; 10 11define <vscale x 2 x i64> @pmullb_i64(<vscale x 2 x i64> %a, <vscale x 2 x i64> %b) { 12; CHECK-LABEL: pmullb_i64: 13; CHECK: pmullb z0.q, z0.d, z1.d 14; CHECK-NEXT: ret 15 %out = call <vscale x 2 x i64> @llvm.aarch64.sve.pmullb.pair.nxv2i64(<vscale x 2 x i64> %a, 16 <vscale x 2 x i64> %b) 17 ret <vscale x 2 x i64> %out 18} 19 20; 21; PMULLT 22; 23 24define <vscale x 2 x i64> @pmullt_i64(<vscale x 2 x i64> %a, <vscale x 2 x i64> %b) { 25; CHECK-LABEL: pmullt_i64: 26; CHECK: pmullt z0.q, z0.d, z1.d 27; CHECK-NEXT: ret 28 %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> %out 31} 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