xref: /llvm-project/llvm/test/MC/AArch64/SME2/zip-diagnostics.s (revision 14b66fe5f36aaad627baa7f624a4997a7956d51a)
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2 2>&1 < %s | FileCheck %s
2
3// --------------------------------------------------------------------------//
4// Invalid vector list
5
6zip {z0.q-z2.q}, z0.q, z0.q
7// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
8// CHECK-NEXT: zip {z0.q-z2.q}, z0.q, z0.q
9// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
10
11zip {z21.h-z22.h}, z10.h, z21.h
12// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors, where the first vector is a multiple of 2 and with matching element types
13// CHECK-NEXT: zip {z21.h-z22.h}, z10.h, z21.h
14// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
15
16zip {z0.s-z4.s}, {z0.s-z3.s}
17// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid number of vectors
18// CHECK-NEXT: zip {z0.s-z4.s}, {z0.s-z3.s}
19// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
20
21zip {z20.b-z23.b}, {z9.b-z12.b}
22// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 4 consecutive SVE vectors, where the first vector is a multiple of 4 and with matching element types
23// CHECK-NEXT: zip {z20.b-z23.b}, {z9.b-z12.b}
24// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
25
26zip {z1.q-z2.q}, z0.q, z0.q
27// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors, where the first vector is a multiple of 2 and with matching element types
28// CHECK-NEXT: zip {z1.q-z2.q}, z0.q, z0.q
29// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
30
31zip {z1.q-z4.q}, z0.q, z0.q
32// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 4 consecutive SVE vectors, where the first vector is a multiple of 4 and with matching element types
33// CHECK-NEXT: zip {z1.q-z4.q}, z0.q, z0.q
34// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
35