1; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sve2-aes -asm-verbose=0 < %s | FileCheck %s
2
3;
4; PMULLB
5;
6
7define <vscale x 2 x i64> @pmullb_i64(<vscale x 2 x i64> %a, <vscale x 2 x i64> %b) {
8; CHECK-LABEL: pmullb_i64:
9; CHECK: pmullb z0.q, z0.d, z1.d
10; CHECK-NEXT: ret
11  %out = call <vscale x 2 x i64> @llvm.aarch64.sve.pmullb.pair.nxv2i64(<vscale x 2 x i64> %a,
12                                                                       <vscale x 2 x i64> %b)
13  ret <vscale x 2 x i64> %out
14}
15
16;
17; PMULLT
18;
19
20define <vscale x 2 x i64> @pmullt_i64(<vscale x 2 x i64> %a, <vscale x 2 x i64> %b) {
21; CHECK-LABEL: pmullt_i64:
22; CHECK: pmullt z0.q, z0.d, z1.d
23; CHECK-NEXT: ret
24  %out = call <vscale x 2 x i64> @llvm.aarch64.sve.pmullt.pair.nxv2i64(<vscale x 2 x i64> %a,
25                                                                       <vscale x 2 x i64> %b)
26  ret <vscale x 2 x i64> %out
27}
28
29declare <vscale x 2 x i64> @llvm.aarch64.sve.pmullb.pair.nxv2i64(<vscale x 2 x i64>, <vscale x 2 x i64>)
30
31declare <vscale x 2 x i64> @llvm.aarch64.sve.pmullt.pair.nxv2i64(<vscale x 2 x i64>, <vscale x 2 x i64>)
32