[Frontend] Remove unused includes (NFC) (#116927)
[llvm-project.git] / llvm / test / MC / AArch64 / SME2p2 / bfmop4as-widening-diagnostics.s
blob5906bcb07f15d5a16d37d5c177687c76509627c6
1 // RUN: not llvm-mc -triple=aarch64 -mattr=+sme2p2 < %s 2>&1 | FileCheck %s
3 // BFMOP4A
5 // Single vectors
7 bfmop4a za0.d, z0.h, z16.h
8 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand, expected za[0-3].s
10 bfmop4a za4.s, z0.h, z16.h
11 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
13 bfmop4a za0.s, z0.s, z16.h
14 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z0.h..z14.h
16 bfmop4a za0.s, z15.h, z16.h
17 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z0.h..z14.h
19 bfmop4a za0.s, z16.h, z16.h
20 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z0.h..z14.h
22 bfmop4a za0.s, z0.h, z16.s
23 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h
25 bfmop4a za0.s, z12.h, z17.h
26 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h
28 bfmop4a za0.s, z12.h, z14.h
29 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h
31 bfmop4a za0.s, z12.h, z31.h
32 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h
34 // Single and multiple vectors
36 bfmop4a za0.d, z0.h, {z16.h-z17.h}
37 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand, expected za[0-3].s
39 bfmop4a za4.s, z0.h, {z16.h-z17.h}
40 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
42 bfmop4a za0.s, z0.s, {z16.h-z17.h}
43 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z0.h..z14.h
45 bfmop4a za0.s, z1.h, {z16.h-z17.h}
46 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z0.h..z14.h
48 bfmop4a za0.s, z16.h, {z16.h-z17.h}
49 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z0.h..z14.h
51 bfmop4a za0.s, z0.h, {z16.s-z17.s}
52 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
54 bfmop4a za0.s, z0.h, {z17.h-z18.h}
55 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z16-z30, where the first vector is a multiple of 2 and with matching element types
57 bfmop4a za0.s, z0.h, {z12.h-z13.h}
58 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z16-z30, where the first vector is a multiple of 2 and with matching element types
60 // Multiple and single vectors
62 bfmop4a za0.d, {z0.h-z1.h}, z16.h
63 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand, expected za[0-3].s
65 bfmop4a za4.s, {z0.h-z1.h}, z16.h
66 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
68 bfmop4a za0.s, {z0.s-z1.h}, z16.h
69 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: mismatched register size suffix
71 bfmop4a za0.s, {z1.h-z2.h}, z16.h
72 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z0-z14, where the first vector is a multiple of 2 and with matching element types
74 bfmop4a za0.s, {z16.h-z17.h}, z16.h
75 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z0-z14, where the first vector is a multiple of 2 and with matching element types
77 bfmop4a za0.s, {z0.h-z1.h}, z16.d
78 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h
80 bfmop4a za0.s, {z0.h-z1.h}, z17.h
81 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h
83 bfmop4a za0.s, {z0.h-z1.h}, z12.h
84 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h
86 // Multiple vectors
88 bfmop4a za0.d, {z0.h-z1.h}, {z16.h-z17.h}
89 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand, expected za[0-3].s
91 bfmop4a za4.s, {z0.h-z1.h}, {z16.h-z17.h}
92 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
94 bfmop4a za0.s, {z0.s-z1.s}, {z16.h-z17.h}
95 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
97 bfmop4a za0.s, {z1.h-z2.h}, {z16.h-z17.h}
98 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z0-z14, where the first vector is a multiple of 2 and with matching element types
100 bfmop4a za0.s, {z18.h-z19.h}, {z16.h-z17.h}
101 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z0-z14, where the first vector is a multiple of 2 and with matching element types
103 bfmop4a za0.s, {z0.h-z1.h}, {z16.s-z17.s}
104 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
106 bfmop4a za0.s, {z0.h-z1.h}, {z19.h-z20.h}
107 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z16-z30, where the first vector is a multiple of 2 and with matching element types
109 bfmop4a za0.s, {z0.h-z1.h}, {z10.h-z11.h}
110 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z16-z30, where the first vector is a multiple of 2 and with matching element types
113 // BFMOP4S
115 // Single vectors
117 bfmop4s za0.d, z0.h, z16.h
118 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand, expected za[0-3].s
120 bfmop4s za4.s, z0.h, z16.h
121 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
123 bfmop4s za0.s, z0.s, z16.h
124 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z0.h..z14.h
126 bfmop4s za0.s, z15.h, z16.h
127 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z0.h..z14.h
129 bfmop4s za0.s, z16.h, z16.h
130 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z0.h..z14.h
132 bfmop4s za0.s, z0.h, z16.s
133 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h
135 bfmop4s za0.s, z12.h, z17.h
136 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h
138 bfmop4s za0.s, z12.h, z14.h
139 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h
141 bfmop4s za0.s, z12.h, z31.h
142 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h
144 // Single and multiple vectors
146 bfmop4s za0.d, z0.h, {z16.h-z17.h}
147 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand, expected za[0-3].s
149 bfmop4s za4.s, z0.h, {z16.h-z17.h}
150 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
152 bfmop4s za0.s, z0.s, {z16.h-z17.h}
153 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z0.h..z14.h
155 bfmop4s za0.s, z1.h, {z16.h-z17.h}
156 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z0.h..z14.h
158 bfmop4s za0.s, z16.h, {z16.h-z17.h}
159 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z0.h..z14.h
161 bfmop4s za0.s, z0.h, {z16.s-z17.s}
162 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
164 bfmop4s za0.s, z0.h, {z17.h-z18.h}
165 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z16-z30, where the first vector is a multiple of 2 and with matching element types
167 bfmop4s za0.s, z0.h, {z12.h-z13.h}
168 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z16-z30, where the first vector is a multiple of 2 and with matching element types
170 // Multiple and single vectors
172 bfmop4s za0.d, {z0.h-z1.h}, z16.h
173 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand, expected za[0-3].s
175 bfmop4s za4.s, {z0.h-z1.h}, z16.h
176 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
178 bfmop4s za0.s, {z0.s-z1.h}, z16.h
179 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: mismatched register size suffix
181 bfmop4s za0.s, {z1.h-z2.h}, z16.h
182 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z0-z14, where the first vector is a multiple of 2 and with matching element types
184 bfmop4s za0.s, {z16.h-z17.h}, z16.h
185 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z0-z14, where the first vector is a multiple of 2 and with matching element types
187 bfmop4s za0.s, {z0.h-z1.h}, z16.d
188 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h
190 bfmop4s za0.s, {z0.h-z1.h}, z17.h
191 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h
193 bfmop4s za0.s, {z0.h-z1.h}, z12.h
194 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid restricted vector register, expected even register in z16.h..z30.h
196 // Multiple vectors
198 bfmop4s za0.d, {z0.h-z1.h}, {z16.h-z17.h}
199 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand, expected za[0-3].s
201 bfmop4s za4.s, {z0.h-z1.h}, {z16.h-z17.h}
202 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
204 bfmop4s za0.s, {z0.s-z1.s}, {z16.h-z17.h}
205 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
207 bfmop4s za0.s, {z1.h-z2.h}, {z16.h-z17.h}
208 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z0-z14, where the first vector is a multiple of 2 and with matching element types
210 bfmop4s za0.s, {z18.h-z19.h}, {z16.h-z17.h}
211 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z0-z14, where the first vector is a multiple of 2 and with matching element types
213 bfmop4s za0.s, {z0.h-z1.h}, {z16.s-z17.s}
214 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
216 bfmop4s za0.s, {z0.h-z1.h}, {z19.h-z20.h}
217 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z16-z30, where the first vector is a multiple of 2 and with matching element types
219 bfmop4s za0.s, {z0.h-z1.h}, {z10.h-z11.h}
220 // CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors in the range z16-z30, where the first vector is a multiple of 2 and with matching element types