xref: /llvm-project/llvm/test/MC/AArch64/FP8_SVE2/fdot-diagnostics.s (revision f16b7c62acebc6731d80565b3994452333443ffa)
1// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+ssve-fp8dot2,+ssve-fp8dot4 \
2// RUN: 2>&1 < %s | FileCheck %s
3
4// FDOT2
5// --------------------------------------------------------------------------//
6
7// z register out of range for index
8
9fdot z0.h, z0.b, z8.b[0]
10// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
11// CHECK-NEXT: fdot z0.h, z0.b, z8.b[0]
12// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
13
14
15// Invalid vector lane index
16
17fdot z0.h, z0.b, z0.b[-1]
18// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 7].
19// CHECK-NEXT: fdot z0.h, z0.b, z0.b[-1]
20// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
21
22fdot z0.h, z0.b, z0.b[8]
23// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 7].
24// CHECK-NEXT: fdot z0.h, z0.b, z0.b[8]
25// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
26
27// Invalid vector suffix
28
29fdot z0.d, z0.b, z0.b[0]
30// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
31// CHECK-NEXT: fdot z0.d, z0.b, z0.b[0]
32// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
33
34fdot z0.h, z0.h, z0.h
35// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
36// CHECK-NEXT: fdot z0.h, z0.h, z0.h
37// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
38
39
40
41// FDOT4
42// --------------------------------------------------------------------------//
43// Invalid vector lane index
44
45fdot z0.s, z0.b, z0.b[-1]
46// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].
47// CHECK-NEXT: fdot z0.s, z0.b, z0.b[-1]
48// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
49
50fdot z0.s, z0.b, z0.b[4]
51// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector lane must be an integer in range [0, 3].
52// CHECK-NEXT: fdot z0.s, z0.b, z0.b[4]
53// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
54
55// Invalid vector suffix
56
57fdot z0.s, z0.s, z0.s[0]
58// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
59// CHECK-NEXT: fdot z0.s, z0.s, z0.s[0]
60// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
61
62fdot z0.b, z0.b, z0.b
63// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
64// CHECK-NEXT: fdot z0.b, z0.b, z0.b
65// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
66