xref: /llvm-project/llvm/test/MC/AArch64/FP8_SVE2/fcvtn-diagnostics.s (revision 78941e1eedb121344e0d969458ea85598cd749df)
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve2,+fp8 2>&1 < %s | FileCheck %s
2// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme2,+fp8 2>&1 < %s | FileCheck %s
3
4// --------------------------------------------------------------------------//
5
6fcvtn z0.b, {z1.h, z2.h}
7// 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
8// CHECK-NEXT:  fcvtn z0.b, {z1.h, z2.h}
9// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
10
11fcvtn z0.h, {z0.h, z1.h}
12// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
13// CHECK-NEXT: fcvtn z0.h, {z0.h, z1.h}
14// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
15
16fcvtn z0.b, {z0.b, z1.b}
17// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
18// CHECK-NEXT: fcvtn z0.b, {z0.b, z1.b}
19// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
20
21
22
23fcvtnb  z0.b, {z1.s, z2.s}
24// 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 type
25// CHECK-NEXT:  fcvtnb z0.b, {z1.s, z2.s}
26// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
27
28fcvtnb z0.h, {z0.s, z1.s}
29// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
30// CHECK-NEXT: fcvtnb z0.h, {z0.s, z1.s}
31// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
32
33fcvtnb z0.b, {z0.h, z1.h}
34// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
35// CHECK-NEXT: fcvtnb z0.b, {z0.h, z1.h}
36// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
37
38
39
40bfcvtn z0.b, {z1.h, z2.h}
41// 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
42// CHECK-NEXT:  bfcvtn z0.b, {z1.h, z2.h}
43// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
44
45bfcvtn z0.h, {z0.h, z1.h}
46// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
47// CHECK-NEXT: bfcvtn z0.h, {z0.h, z1.h}
48// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
49
50bfcvtn z0.b, {z0.b, z1.b}
51// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
52// CHECK-NEXT: bfcvtn z0.b, {z0.b, z1.b}
53// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
54
55
56
57fcvtnt  z0.b, {z1.s, z2.s}
58// 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 type
59// CHECK-NEXT:  fcvtnt z0.b, {z1.s, z2.s}
60// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
61
62fcvtnt z0.h, {z0.s, z1.s}
63// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
64// CHECK-NEXT: fcvtnt z0.h, {z0.s, z1.s}
65// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
66
67fcvtnt z0.b, {z0.h, z1.h}
68// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
69// CHECK-NEXT: fcvtnt z0.b, {z0.h, z1.h}
70// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: