[llvm-readobj] - Simplify stack-sizes.test test case.
[llvm-complete.git] / test / MC / ARM / vstrldr_sys.s
blob13b0fbdbb175406b49298bf6fe4286fd83c13246
1 // RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -mattr=+vfp2,+mve,+8msecext -show-encoding < %s 2>%t \
2 // RUN: | FileCheck --check-prefix=CHECK %s
3 // RUN: FileCheck --check-prefix=ERROR < %t %s
4 // RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -mattr=-vfp2,+mve,+8msecext -show-encoding < %s 2>%t \
5 // RUN: | FileCheck --check-prefix=CHECK-NOVFP %s
6 // RUN: FileCheck --check-prefix=ERROR-NOVFP < %t %s
7 // RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -mattr=+vfp2,-mve,+8msecext -show-encoding < %s 2>%t \
8 // RUN: | FileCheck --check-prefix=CHECK-NOMVE %s
9 // RUN: FileCheck --check-prefix=ERROR-NOMVE < %t %s
10 // RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -mattr=+vfp2,+mve,-8msecext -show-encoding < %s 2>%t \
11 // RUN: | FileCheck --check-prefix=CHECK-NOSEC %s
12 // RUN: FileCheck --check-prefix=ERROR-NOSEC < %t %s
13 // RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -mattr=-vfp2,-mve,-8msecext -show-encoding < %s 2>%t
14 // RUN: FileCheck --check-prefix=ERROR-NONE < %t %s
15 // RUN: not llvm-mc -triple=thumbv8m.main-none-eabi -mattr=+vfp2,+8msecext -show-encoding < %s 2>%t
16 // RUN: FileCheck --check-prefix=ERROR-V8M < %t %s
18 // ERROR-V8M: instruction requires: armv8.1m.main
19 // ERROR-NONE: instruction requires: fp registers
20 // CHECK-NOSEC: vstr fpscr, [r0] @ encoding: [0x80,0xed,0x80,0x2f]
21 // CHECK-NOMVE: vstr fpscr, [r0] @ encoding: [0x80,0xed,0x80,0x2f]
22 // CHECK-NOVFP: vstr fpscr, [r0] @ encoding: [0x80,0xed,0x80,0x2f]
23 // CHECK: vstr fpscr, [r0] @ encoding: [0x80,0xed,0x80,0x2f]
24 vstr fpscr, [r0]
26 // ERROR-V8M: instruction requires: armv8.1m.main
27 // ERROR-NONE: instruction requires: fp registers
28 // CHECK-NOSEC: vstr fpscr_nzcvqc, [r9, #-24] @ encoding: [0x09,0xed,0x86,0x4f]
29 // CHECK-NOMVE: vstr fpscr_nzcvqc, [r9, #-24] @ encoding: [0x09,0xed,0x86,0x4f]
30 // CHECK-NOVFP: vstr fpscr_nzcvqc, [r9, #-24] @ encoding: [0x09,0xed,0x86,0x4f]
31 // CHECK: vstr fpscr_nzcvqc, [r9, #-24] @ encoding: [0x09,0xed,0x86,0x4f]
32 vstr fpscr_nzcvqc, [r9, #-24]
34 // ERROR-V8M: instruction requires: armv8.1m.main
35 // ERROR-NONE: instruction requires: fp registers
36 // CHECK-NOSEC: vstr fpscr_nzcvqc, [r9, #-24]! @ encoding: [0x29,0xed,0x86,0x4f]
37 // CHECK-NOMVE: vstr fpscr_nzcvqc, [r9, #-24]! @ encoding: [0x29,0xed,0x86,0x4f]
38 // CHECK-NOVFP: vstr fpscr_nzcvqc, [r9, #-24]! @ encoding: [0x29,0xed,0x86,0x4f]
39 // CHECK: vstr fpscr_nzcvqc, [r9, #-24]! @ encoding: [0x29,0xed,0x86,0x4f]
40 vstr fpscr_nzcvqc, [r9, #-24]!
42 // ERROR-V8M: instruction requires: armv8.1m.main
43 // ERROR-NONE: instruction requires: fp registers
44 // CHECK-NOSEC: vstr fpscr_nzcvqc, [r9], #-24 @ encoding: [0x29,0xec,0x86,0x4f]
45 // CHECK-NOMVE: vstr fpscr_nzcvqc, [r9], #-24 @ encoding: [0x29,0xec,0x86,0x4f]
46 // CHECK-NOVFP: vstr fpscr_nzcvqc, [r9], #-24 @ encoding: [0x29,0xec,0x86,0x4f]
47 // CHECK: vstr fpscr_nzcvqc, [r9], #-24 @ encoding: [0x29,0xec,0x86,0x4f]
48 vstr fpscr_nzcvqc, [r9], #-24
50 // CHECK-NOSEC: it hi @ encoding: [0x88,0xbf]
51 // CHECK-NOMVE: it hi @ encoding: [0x88,0xbf]
52 // CHECK-NOVFP: it hi @ encoding: [0x88,0xbf]
53 // CHECK: it hi @ encoding: [0x88,0xbf]
54 it hi
56 // ERROR-V8M: instruction requires: armv8.1m.main
57 // ERROR-NONE: instruction requires: fp registers
58 // CHECK-NOSEC: vstrhi fpscr, [r0] @ encoding: [0x80,0xed,0x80,0x2f]
59 // CHECK-NOMVE: vstrhi fpscr, [r0] @ encoding: [0x80,0xed,0x80,0x2f]
60 // CHECK-NOVFP: vstrhi fpscr, [r0] @ encoding: [0x80,0xed,0x80,0x2f]
61 // CHECK: vstrhi fpscr, [r0] @ encoding: [0x80,0xed,0x80,0x2f]
62 vstrhi fpscr, [r0]
64 // ERROR-V8M: instruction requires: armv8.1m.main
65 // ERROR-NONE: instruction requires: fp registers
66 // CHECK-NOSEC: vldr fpscr, [r0] @ encoding: [0x90,0xed,0x80,0x2f]
67 // CHECK-NOMVE: vldr fpscr, [r0] @ encoding: [0x90,0xed,0x80,0x2f]
68 // CHECK-NOVFP: vldr fpscr, [r0] @ encoding: [0x90,0xed,0x80,0x2f]
69 // CHECK: vldr fpscr, [r0] @ encoding: [0x90,0xed,0x80,0x2f]
70 vldr fpscr, [r0]
72 // ERROR-V8M: instruction requires: armv8.1m.main
73 // ERROR-NONE: instruction requires: fp registers
74 // CHECK-NOSEC: vldr fpscr_nzcvqc, [r9, #-24] @ encoding: [0x19,0xed,0x86,0x4f]
75 // CHECK-NOMVE: vldr fpscr_nzcvqc, [r9, #-24] @ encoding: [0x19,0xed,0x86,0x4f]
76 // CHECK-NOVFP: vldr fpscr_nzcvqc, [r9, #-24] @ encoding: [0x19,0xed,0x86,0x4f]
77 // CHECK: vldr fpscr_nzcvqc, [r9, #-24] @ encoding: [0x19,0xed,0x86,0x4f]
78 vldr fpscr_nzcvqc, [r9, #-24]
80 // ERROR-V8M: instruction requires: armv8.1m.main
81 // ERROR-NONE: instruction requires: fp registers
82 // CHECK-NOSEC: vldr fpscr_nzcvqc, [r9, #-24]! @ encoding: [0x39,0xed,0x86,0x4f]
83 // CHECK-NOMVE: vldr fpscr_nzcvqc, [r9, #-24]! @ encoding: [0x39,0xed,0x86,0x4f]
84 // CHECK-NOVFP: vldr fpscr_nzcvqc, [r9, #-24]! @ encoding: [0x39,0xed,0x86,0x4f]
85 // CHECK: vldr fpscr_nzcvqc, [r9, #-24]! @ encoding: [0x39,0xed,0x86,0x4f]
86 vldr fpscr_nzcvqc, [r9, #-24]!
88 // ERROR-V8M: instruction requires: armv8.1m.main
89 // ERROR-NONE: instruction requires: fp registers
90 // CHECK-NOSEC: vldr fpscr_nzcvqc, [r9], #-24 @ encoding: [0x39,0xec,0x86,0x4f]
91 // CHECK-NOMVE: vldr fpscr_nzcvqc, [r9], #-24 @ encoding: [0x39,0xec,0x86,0x4f]
92 // CHECK-NOVFP: vldr fpscr_nzcvqc, [r9], #-24 @ encoding: [0x39,0xec,0x86,0x4f]
93 // CHECK: vldr fpscr_nzcvqc, [r9], #-24 @ encoding: [0x39,0xec,0x86,0x4f]
94 vldr fpscr_nzcvqc, [r9], #-24
96 // ERROR-V8M: instruction requires: armv8.1m.main
97 // ERROR-NONE: instruction requires: fp registers
98 // CHECK-NOSEC: vldr fpscr_nzcvqc, [sp], #-52 @ encoding: [0x3d,0xec,0x8d,0x4f]
99 // CHECK-NOMVE: vldr fpscr_nzcvqc, [sp], #-52 @ encoding: [0x3d,0xec,0x8d,0x4f]
100 // CHECK-NOVFP: vldr fpscr_nzcvqc, [sp], #-52 @ encoding: [0x3d,0xec,0x8d,0x4f]
101 // CHECK: vldr fpscr_nzcvqc, [sp], #-52 @ encoding: [0x3d,0xec,0x8d,0x4f]
102 vldr fpscr_nzcvqc, [sp], #-52
104 // CHECK-NOSEC: it hi @ encoding: [0x88,0xbf]
105 // CHECK-NOMVE: it hi @ encoding: [0x88,0xbf]
106 // CHECK-NOVFP: it hi @ encoding: [0x88,0xbf]
107 // CHECK: it hi @ encoding: [0x88,0xbf]
108 it hi
110 // ERROR-V8M: instruction requires: armv8.1m.main
111 // ERROR-NONE: instruction requires: fp registers
112 // CHECK-NOSEC: vldrhi fpscr, [r0] @ encoding: [0x90,0xed,0x80,0x2f]
113 // CHECK-NOMVE: vldrhi fpscr, [r0] @ encoding: [0x90,0xed,0x80,0x2f]
114 // CHECK-NOVFP: vldrhi fpscr, [r0] @ encoding: [0x90,0xed,0x80,0x2f]
115 // CHECK: vldrhi fpscr, [r0] @ encoding: [0x90,0xed,0x80,0x2f]
116 vldrhi fpscr, [r0]
118 // ERROR-V8M: instruction requires: armv8.1m.main
119 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
120 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
121 // CHECK-NOMVE: vstr fpcxts, [r12, #508] @ encoding: [0xcc,0xed,0xff,0xef]
122 // CHECK-NOVFP: vstr fpcxts, [r12, #508] @ encoding: [0xcc,0xed,0xff,0xef]
123 // CHECK: vstr fpcxts, [r12, #508] @ encoding: [0xcc,0xed,0xff,0xef]
124 vstr fpcxts, [r12, #508]
126 // ERROR-V8M: instruction requires: armv8.1m.main
127 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
128 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
129 // CHECK-NOMVE: vstr fpcxts, [r12, #508]! @ encoding: [0xec,0xed,0xff,0xef]
130 // CHECK-NOVFP: vstr fpcxts, [r12, #508]! @ encoding: [0xec,0xed,0xff,0xef]
131 // CHECK: vstr fpcxts, [r12, #508]! @ encoding: [0xec,0xed,0xff,0xef]
132 vstr fpcxts, [r12, #508]!
134 // ERROR-V8M: instruction requires: armv8.1m.main
135 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
136 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
137 // CHECK-NOMVE: vstr fpcxts, [r12], #508 @ encoding: [0xec,0xec,0xff,0xef]
138 // CHECK-NOVFP: vstr fpcxts, [r12], #508 @ encoding: [0xec,0xec,0xff,0xef]
139 // CHECK: vstr fpcxts, [r12], #508 @ encoding: [0xec,0xec,0xff,0xef]
140 vstr fpcxts, [r12], #508
142 // ERROR-V8M: instruction requires: armv8.1m.main
143 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
144 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
145 // CHECK-NOMVE: vstr fpcxts, [sp], #-24 @ encoding: [0x6d,0xec,0x86,0xef]
146 // CHECK-NOVFP: vstr fpcxts, [sp], #-24 @ encoding: [0x6d,0xec,0x86,0xef]
147 // CHECK: vstr fpcxts, [sp], #-24 @ encoding: [0x6d,0xec,0x86,0xef]
148 vstr fpcxts, [sp], #-24
150 // ERROR-V8M: instruction requires: armv8.1m.main
151 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
152 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
153 // CHECK-NOMVE: vldr fpcxts, [r12, #508] @ encoding: [0xdc,0xed,0xff,0xef]
154 // CHECK-NOVFP: vldr fpcxts, [r12, #508] @ encoding: [0xdc,0xed,0xff,0xef]
155 // CHECK: vldr fpcxts, [r12, #508] @ encoding: [0xdc,0xed,0xff,0xef]
156 vldr fpcxts, [r12, #508]
158 // ERROR-V8M: instruction requires: armv8.1m.main
159 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
160 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
161 // CHECK-NOMVE: vldr fpcxts, [r12, #508]! @ encoding: [0xfc,0xed,0xff,0xef]
162 // CHECK-NOVFP: vldr fpcxts, [r12, #508]! @ encoding: [0xfc,0xed,0xff,0xef]
163 // CHECK: vldr fpcxts, [r12, #508]! @ encoding: [0xfc,0xed,0xff,0xef]
164 vldr fpcxts, [r12, #508]!
166 // ERROR-V8M: instruction requires: armv8.1m.main
167 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
168 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
169 // CHECK-NOMVE: vldr fpcxts, [r12], #508 @ encoding: [0xfc,0xec,0xff,0xef]
170 // CHECK-NOVFP: vldr fpcxts, [r12], #508 @ encoding: [0xfc,0xec,0xff,0xef]
171 // CHECK: vldr fpcxts, [r12], #508 @ encoding: [0xfc,0xec,0xff,0xef]
172 vldr fpcxts, [r12], #508
174 // ERROR-V8M: instruction requires: armv8.1m.main
175 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
176 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
177 // CHECK-NOMVE: vldr fpcxts, [sp], #-24 @ encoding: [0x7d,0xec,0x86,0xef]
178 // CHECK-NOVFP: vldr fpcxts, [sp], #-24 @ encoding: [0x7d,0xec,0x86,0xef]
179 // CHECK: vldr fpcxts, [sp], #-24 @ encoding: [0x7d,0xec,0x86,0xef]
180 vldr fpcxts, [sp], #-24
182 // ERROR-V8M: instruction requires: armv8.1m.main
183 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
184 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
185 // CHECK-NOMVE: vstr fpcxtns, [r0] @ encoding: [0xc0,0xed,0x80,0xcf]
186 // CHECK-NOVFP: vstr fpcxtns, [r0] @ encoding: [0xc0,0xed,0x80,0xcf]
187 // CHECK: vstr fpcxtns, [r0] @ encoding: [0xc0,0xed,0x80,0xcf]
188 vstr fpcxtns, [r0]
190 // ERROR-V8M: instruction requires: armv8.1m.main
191 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
192 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
193 // CHECK-NOMVE: vstr fpcxtns, [r9, #-24] @ encoding: [0x49,0xed,0x86,0xcf]
194 // CHECK-NOVFP: vstr fpcxtns, [r9, #-24] @ encoding: [0x49,0xed,0x86,0xcf]
195 // CHECK: vstr fpcxtns, [r9, #-24] @ encoding: [0x49,0xed,0x86,0xcf]
196 vstr fpcxtns, [r9, #-24]
198 // ERROR-V8M: instruction requires: armv8.1m.main
199 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
200 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
201 // CHECK-NOMVE: vstr fpcxtns, [r6, #500] @ encoding: [0xc6,0xed,0xfd,0xcf]
202 // CHECK-NOVFP: vstr fpcxtns, [r6, #500] @ encoding: [0xc6,0xed,0xfd,0xcf]
203 // CHECK: vstr fpcxtns, [r6, #500] @ encoding: [0xc6,0xed,0xfd,0xcf]
204 vstr fpcxtns, [r6, #500]
206 // ERROR-V8M: instruction requires: armv8.1m.main
207 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
208 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
209 // CHECK-NOMVE: vstr fpcxtns, [lr, #-508] @ encoding: [0x4e,0xed,0xff,0xcf]
210 // CHECK-NOVFP: vstr fpcxtns, [lr, #-508] @ encoding: [0x4e,0xed,0xff,0xcf]
211 // CHECK: vstr fpcxtns, [lr, #-508] @ encoding: [0x4e,0xed,0xff,0xcf]
212 vstr fpcxtns, [lr, #-508]
214 // ERROR-V8M: instruction requires: armv8.1m.main
215 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
216 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
217 // CHECK-NOMVE: vstr fpcxtns, [r12, #508] @ encoding: [0xcc,0xed,0xff,0xcf]
218 // CHECK-NOVFP: vstr fpcxtns, [r12, #508] @ encoding: [0xcc,0xed,0xff,0xcf]
219 // CHECK: vstr fpcxtns, [r12, #508] @ encoding: [0xcc,0xed,0xff,0xcf]
220 vstr fpcxtns, [r12, #508]
222 // ERROR-V8M: instruction requires: armv8.1m.main
223 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
224 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
225 // CHECK-NOMVE: vstr fpcxtns, [sp], #-24 @ encoding: [0x6d,0xec,0x86,0xcf]
226 // CHECK-NOVFP: vstr fpcxtns, [sp], #-24 @ encoding: [0x6d,0xec,0x86,0xcf]
227 // CHECK: vstr fpcxtns, [sp], #-24 @ encoding: [0x6d,0xec,0x86,0xcf]
228 vstr fpcxtns, [sp], #-24
230 // ERROR-V8M: instruction requires: armv8.1m.main
231 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
232 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
233 // CHECK-NOMVE: vldr fpcxtns, [r0] @ encoding: [0xd0,0xed,0x80,0xcf]
234 // CHECK-NOVFP: vldr fpcxtns, [r0] @ encoding: [0xd0,0xed,0x80,0xcf]
235 // CHECK: vldr fpcxtns, [r0] @ encoding: [0xd0,0xed,0x80,0xcf]
236 vldr fpcxtns, [r0]
238 // ERROR-V8M: instruction requires: armv8.1m.main
239 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
240 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
241 // CHECK-NOMVE: vldr fpcxtns, [r9, #-24] @ encoding: [0x59,0xed,0x86,0xcf]
242 // CHECK-NOVFP: vldr fpcxtns, [r9, #-24] @ encoding: [0x59,0xed,0x86,0xcf]
243 // CHECK: vldr fpcxtns, [r9, #-24] @ encoding: [0x59,0xed,0x86,0xcf]
244 vldr fpcxtns, [r9, #-24]
246 // ERROR-V8M: instruction requires: armv8.1m.main
247 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
248 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
249 // CHECK-NOMVE: vldr fpcxtns, [r6, #500] @ encoding: [0xd6,0xed,0xfd,0xcf]
250 // CHECK-NOVFP: vldr fpcxtns, [r6, #500] @ encoding: [0xd6,0xed,0xfd,0xcf]
251 // CHECK: vldr fpcxtns, [r6, #500] @ encoding: [0xd6,0xed,0xfd,0xcf]
252 vldr fpcxtns, [r6, #500]
254 // ERROR-V8M: instruction requires: armv8.1m.main
255 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
256 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
257 // CHECK-NOMVE: vldr fpcxtns, [lr, #-508] @ encoding: [0x5e,0xed,0xff,0xcf]
258 // CHECK-NOVFP: vldr fpcxtns, [lr, #-508] @ encoding: [0x5e,0xed,0xff,0xcf]
259 // CHECK: vldr fpcxtns, [lr, #-508] @ encoding: [0x5e,0xed,0xff,0xcf]
260 vldr fpcxtns, [lr, #-508]
262 // ERROR-V8M: instruction requires: armv8.1m.main
263 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
264 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
265 // CHECK-NOMVE: vldr fpcxtns, [r12, #508] @ encoding: [0xdc,0xed,0xff,0xcf]
266 // CHECK-NOVFP: vldr fpcxtns, [r12, #508] @ encoding: [0xdc,0xed,0xff,0xcf]
267 // CHECK: vldr fpcxtns, [r12, #508] @ encoding: [0xdc,0xed,0xff,0xcf]
268 vldr fpcxtns, [r12, #508]
270 // ERROR-V8M: instruction requires: armv8.1m.main
271 // ERROR-NONE: instruction requires: ARMv8-M Security Extensions
272 // ERROR-NOSEC: instruction requires: ARMv8-M Security Extensions
273 // CHECK-NOMVE: vldr fpcxtns, [sp], #-24 @ encoding: [0x7d,0xec,0x86,0xcf]
274 // CHECK-NOVFP: vldr fpcxtns, [sp], #-24 @ encoding: [0x7d,0xec,0x86,0xcf]
275 // CHECK: vldr fpcxtns, [sp], #-24 @ encoding: [0x7d,0xec,0x86,0xcf]
276 vldr fpcxtns, [sp], #-24
278 // ERROR-V8M: instruction requires: mve armv8.1m.main
279 // ERROR-NONE: instruction requires: mve
280 // CHECK-NOSEC: vstr vpr, [r6, #500] @ encoding: [0xc6,0xed,0xfd,0x8f]
281 // ERROR-NOMVE: instruction requires: mve
282 // CHECK-NOVFP: vstr vpr, [r6, #500] @ encoding: [0xc6,0xed,0xfd,0x8f]
283 // CHECK: vstr vpr, [r6, #500] @ encoding: [0xc6,0xed,0xfd,0x8f]
284 vstr vpr, [r6, #500]
286 // ERROR-V8M: instruction requires: mve armv8.1m.main
287 // ERROR-NONE: instruction requires: mve
288 // CHECK-NOSEC: vstr p0, [lr, #-508] @ encoding: [0x4e,0xed,0xff,0xaf]
289 // ERROR-NOMVE: instruction requires: mve
290 // CHECK-NOVFP: vstr p0, [lr, #-508] @ encoding: [0x4e,0xed,0xff,0xaf]
291 // CHECK: vstr p0, [lr, #-508] @ encoding: [0x4e,0xed,0xff,0xaf]
292 vstr p0, [lr, #-508]
294 // ERROR-V8M: instruction requires: mve armv8.1m.main
295 // ERROR-NONE: instruction requires: mve
296 // CHECK-NOSEC: vstr vpr, [r6, #500]! @ encoding: [0xe6,0xed,0xfd,0x8f]
297 // ERROR-NOMVE: instruction requires: mve
298 // CHECK-NOVFP: vstr vpr, [r6, #500]! @ encoding: [0xe6,0xed,0xfd,0x8f]
299 // CHECK: vstr vpr, [r6, #500]! @ encoding: [0xe6,0xed,0xfd,0x8f]
300 vstr vpr, [r6, #500]!
302 // ERROR-V8M: instruction requires: mve armv8.1m.main
303 // ERROR-NONE: instruction requires: mve
304 // CHECK-NOSEC: vstr p0, [lr, #-508]! @ encoding: [0x6e,0xed,0xff,0xaf]
305 // ERROR-NOMVE: instruction requires: mve
306 // CHECK-NOVFP: vstr p0, [lr, #-508]! @ encoding: [0x6e,0xed,0xff,0xaf]
307 // CHECK: vstr p0, [lr, #-508]! @ encoding: [0x6e,0xed,0xff,0xaf]
308 vstr p0, [lr, #-508]!
310 // ERROR-V8M: instruction requires: mve armv8.1m.main
311 // ERROR-NONE: instruction requires: mve
312 // CHECK-NOSEC: vstr vpr, [r6], #500 @ encoding: [0xe6,0xec,0xfd,0x8f]
313 // ERROR-NOMVE: instruction requires: mve
314 // CHECK-NOVFP: vstr vpr, [r6], #500 @ encoding: [0xe6,0xec,0xfd,0x8f]
315 // CHECK: vstr vpr, [r6], #500 @ encoding: [0xe6,0xec,0xfd,0x8f]
316 vstr vpr, [r6], #500
318 // ERROR-V8M: instruction requires: mve armv8.1m.main
319 // ERROR-NONE: instruction requires: mve
320 // CHECK-NOSEC: vstr p0, [lr], #-508 @ encoding: [0x6e,0xec,0xff,0xaf]
321 // ERROR-NOMVE: instruction requires: mve
322 // CHECK-NOVFP: vstr p0, [lr], #-508 @ encoding: [0x6e,0xec,0xff,0xaf]
323 // CHECK: vstr p0, [lr], #-508 @ encoding: [0x6e,0xec,0xff,0xaf]
324 vstr p0, [lr], #-508
326 // ERROR-V8M: instruction requires: mve armv8.1m.main
327 // ERROR-NONE: instruction requires: mve
328 // CHECK-NOSEC: vstr p0, [sp], #-24 @ encoding: [0x6d,0xec,0x86,0xaf]
329 // ERROR-NOMVE: instruction requires: mve
330 // CHECK-NOVFP: vstr p0, [sp], #-24 @ encoding: [0x6d,0xec,0x86,0xaf]
331 // CHECK: vstr p0, [sp], #-24 @ encoding: [0x6d,0xec,0x86,0xaf]
332 vstr p0, [sp], #-24
334 // ERROR-V8M: instruction requires: mve armv8.1m.main
335 // ERROR-NONE: instruction requires: mve
336 // CHECK-NOSEC: vldr vpr, [r6, #500] @ encoding: [0xd6,0xed,0xfd,0x8f]
337 // ERROR-NOMVE: instruction requires: mve
338 // CHECK-NOVFP: vldr vpr, [r6, #500] @ encoding: [0xd6,0xed,0xfd,0x8f]
339 // CHECK: vldr vpr, [r6, #500] @ encoding: [0xd6,0xed,0xfd,0x8f]
340 vldr vpr, [r6, #500]
342 // ERROR-V8M: instruction requires: mve armv8.1m.main
343 // ERROR-NONE: instruction requires: mve
344 // CHECK-NOSEC: vldr p0, [lr, #-508] @ encoding: [0x5e,0xed,0xff,0xaf]
345 // ERROR-NOMVE: instruction requires: mve
346 // CHECK-NOVFP: vldr p0, [lr, #-508] @ encoding: [0x5e,0xed,0xff,0xaf]
347 // CHECK: vldr p0, [lr, #-508] @ encoding: [0x5e,0xed,0xff,0xaf]
348 vldr p0, [lr, #-508]
350 // ERROR-V8M: instruction requires: mve armv8.1m.main
351 // ERROR-NONE: instruction requires: mve
352 // CHECK-NOSEC: vldr vpr, [r6, #500]! @ encoding: [0xf6,0xed,0xfd,0x8f]
353 // ERROR-NOMVE: instruction requires: mve
354 // CHECK-NOVFP: vldr vpr, [r6, #500]! @ encoding: [0xf6,0xed,0xfd,0x8f]
355 // CHECK: vldr vpr, [r6, #500]! @ encoding: [0xf6,0xed,0xfd,0x8f]
356 vldr vpr, [r6, #500]!
358 // ERROR-V8M: instruction requires: mve armv8.1m.main
359 // ERROR-NONE: instruction requires: mve
360 // CHECK-NOSEC: vldr p0, [lr, #-508]! @ encoding: [0x7e,0xed,0xff,0xaf]
361 // ERROR-NOMVE: instruction requires: mve
362 // CHECK-NOVFP: vldr p0, [lr, #-508]! @ encoding: [0x7e,0xed,0xff,0xaf]
363 // CHECK: vldr p0, [lr, #-508]! @ encoding: [0x7e,0xed,0xff,0xaf]
364 vldr p0, [lr, #-508]!
366 // ERROR-V8M: instruction requires: mve armv8.1m.main
367 // ERROR-NONE: instruction requires: mve
368 // CHECK-NOSEC: vldr vpr, [r6], #500 @ encoding: [0xf6,0xec,0xfd,0x8f]
369 // ERROR-NOMVE: instruction requires: mve
370 // CHECK-NOVFP: vldr vpr, [r6], #500 @ encoding: [0xf6,0xec,0xfd,0x8f]
371 // CHECK: vldr vpr, [r6], #500 @ encoding: [0xf6,0xec,0xfd,0x8f]
372 vldr vpr, [r6], #500
374 // ERROR-V8M: instruction requires: mve armv8.1m.main
375 // ERROR-NONE: instruction requires: mve
376 // CHECK-NOSEC: vldr p0, [lr], #-508 @ encoding: [0x7e,0xec,0xff,0xaf]
377 // ERROR-NOMVE: instruction requires: mve
378 // CHECK-NOVFP: vldr p0, [lr], #-508 @ encoding: [0x7e,0xec,0xff,0xaf]
379 // CHECK: vldr p0, [lr], #-508 @ encoding: [0x7e,0xec,0xff,0xaf]
380 vldr p0, [lr], #-508
382 // ERROR-V8M: instruction requires: mve armv8.1m.main
383 // ERROR-NONE: instruction requires: mve
384 // CHECK-NOSEC: vldr p0, [sp], #-24 @ encoding: [0x7d,0xec,0x86,0xaf]
385 // ERROR-NOMVE: instruction requires: mve
386 // CHECK-NOVFP: vldr p0, [sp], #-24 @ encoding: [0x7d,0xec,0x86,0xaf]
387 // CHECK: vldr p0, [sp], #-24 @ encoding: [0x7d,0xec,0x86,0xaf]
388 vldr p0, [sp], #-24
390 // ERROR-NOSEC: invalid instruction
391 // ERROR-NOMVE: invalid operand for instruction
392 // ERROR-NOVFP: invalid operand for instruction
393 // ERROR: invalid operand for instruction
394 vldr fpcxtns, [pc, #4]!
396 // ERROR-NOSEC: invalid instruction
397 // ERROR-NOMVE: invalid operand for instruction
398 // ERROR-NOVFP: invalid operand for instruction
399 // ERROR: invalid operand for instruction
400 vstr fpcxtns, [r0, #-507]
402 // ERROR-NOSEC: invalid instruction
403 // ERROR-NOMVE: invalid operand for instruction
404 // ERROR-NOVFP: invalid operand for instruction
405 // ERROR: invalid operand for instruction
406 vldr fpcxtns, [r2, #512]
408 // ERROR-NOSEC: invalid instruction
409 // ERROR-NOMVE: invalid operand for instruction
410 // ERROR-NOVFP: invalid operand for instruction
411 // ERROR: invalid operand for instruction
412 vldr fpcxtns, [pc], #-24
414 // ERROR-NOSEC: invalid operand for instruction
415 // ERROR-NOMVE: invalid operand for instruction
416 // ERROR-NOVFP: invalid operand for instruction
417 // ERROR: invalid operand for instruction
418 vstr vpr, [r0, #-507]
420 // ERROR-NOSEC: invalid operand for instruction
421 // ERROR-NOMVE: invalid instruction
422 // ERROR-NOVFP: invalid operand for instruction
423 // ERROR: invalid operand for instruction
424 vldr p0, [r2, #512]
426 // ERROR-NOSEC: invalid operand for instruction
427 // ERROR-NOMVE: invalid instruction
428 // ERROR-NOVFP: invalid operand for instruction
429 // ERROR: invalid operand for instruction
430 vldr p0, [r2, #2]
432 // ERROR-NOSEC: invalid operand for instruction
433 // ERROR-NOMVE: invalid instruction
434 // ERROR-NOVFP: invalid operand for instruction
435 // ERROR: invalid operand for instruction
436 vldr p0, [pc], #4
438 // ERROR-NOSEC: invalid operand for instruction
439 // ERROR-NOMVE: invalid instruction
440 // ERROR-NOVFP: invalid operand for instruction
441 // ERROR: invalid operand for instruction
442 vldr fpscr, [pc, #4]!
444 // ERROR-NOSEC: invalid operand for instruction
445 // ERROR-NOMVE: invalid operand for instruction
446 // ERROR-NOVFP: invalid operand for instruction
447 // ERROR: invalid operand for instruction
448 vldr fpscr_nzcvqc, [r8], #-53
450 // ERROR-NOSEC: invalid operand for instruction
451 // ERROR-NOMVE: invalid operand for instruction
452 // ERROR-NOVFP: invalid operand for instruction
453 // ERROR: invalid operand for instruction
454 vldr fpscr_nzcvqc, [r8], #2
456 // ERROR-NOSEC: invalid operand for instruction
457 // ERROR-NOMVE: invalid operand for instruction
458 // ERROR-NOVFP: invalid operand for instruction
459 // ERROR: invalid operand for instruction
460 vldr fpscr_nzcvqc, [pc], #-52