xref: /llvm-project/llvm/test/MC/AArch64/FP8/luti4-diagnostics.s (revision 835c885ddbeb723e3189a3c5e7c476d0f2bded35)
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+lut  2>&1 < %s| FileCheck %s
2
3// --------------------------------------------------------------------------//
4// Invalid lane indices
5
6luti4 v2.16b, {v1.16b}, v0[-1]
7// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 1].
8// CHECK-NEXT: luti4 v2.16b, {v1.16b}, v0[-1]
9// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
10
11luti4 v3.16b, {v2.16b}, v1[2]
12// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 1].
13// CHECK-NEXT: luti4 v3.16b, {v2.16b}, v1[2]
14// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
15
16luti4 v3.8h, {v0.8h, v1.8h}, v2[-1]
17// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].
18// CHECK-NEXT: luti4 v3.8h, {v0.8h, v1.8h}, v2[-1]
19// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
20
21luti4 v3.8h, {v0.8h, v1.8h}, v2[4]
22// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].
23// CHECK-NEXT: luti4 v3.8h, {v0.8h, v1.8h}, v2[4]
24// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
25
26// --------------------------------------------------------------------------//
27// Invalid vector lists
28
29luti4 v30.8h, {v0.8h, v2.8h}, v3[2]
30// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
31// CHECK-NEXT: luti4 v30.8h, {v0.8h, v2.8h}, v3[2]
32// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
33
34// --------------------------------------------------------------------------//
35// Invalid vector suffix
36
37luti4 v2.8h, {v1.16b}, v0[1]
38// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
39// CHECK-NEXT: luti4 v2.8h, {v1.16b}, v0[1]
40// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
41
42luti4 v31.8h, {v20.16b, v21.16b}, v31[3]
43// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
44// CHECK-NEXT: luti4 v31.8h,  {v20.16b, v21.16b}, v31[3]
45// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
46
47luti4 v3.s, {v0.8h, v1.8h}, v2[3]
48// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
49// CHECK-NEXT: luti4 v3.s, {v0.8h, v1.8h}, v2[3]
50// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: