Follow up to d0858bffa11, add missing REQUIRES x86
[llvm-project.git] / llvm / test / tools / llvm-mca / ARM / m4-int.s
blobc2468efea20511faf485180ab5becda68cc824f3
1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -mtriple=thumbv7-m-none-none-eabi -mcpu=cortex-m4 -instruction-tables < %s | FileCheck %s
4 adc r0, r1, #0
5 adcs r0, r1, #0
6 adcs r0, r1
7 adc.w r0, r1, r2
8 adcs.w r0, r1, r2
9 adc.w r0, r1, r2, LSL #1
10 adcs.w r0, r1, r2, LSL #1
11 add r0, sp, #1
12 add sp, #1
13 add.w r0, sp, #1
14 adds.w r0, sp, #1
15 addw r0, sp, #1
16 add r0, sp, r0
17 add sp, r1
18 add.w r0, sp, r1
19 adds.w r0, sp, r1
20 add.w r0, sp, r1, LSL #1
21 adds.w r0, sp, r1, LSL #1
22 adds r0, r1, #1
23 adds r0, #42
24 add.w r0, r1, #1
25 adds.w r0, r1, #1
26 addw r0, r1, #1
27 adds r0, r1, r2
28 add r0, r1
29 add.w r0, r1, r2
30 adds.w r0, r1, r2
31 add.w r0, r1, r2, LSL #1
32 adds.w r0, r1, r2, LSL #1
33 adr r0, #-6
34 adr r8, #-6
35 adr.w r0, #-6
36 and r0, r1, #1
37 ands r0, r1, #1
38 ands r1, r0
39 and.w r0, r1, r2
40 ands.w r0, r1, r2
41 and.w r0, r1, r2, LSL #1
42 ands.w r0, r1, r2, LSL #1
43 asrs r0, r1, #1
44 asr.w r0, r1, #1
45 asrs.w r0, r1, #1
46 asrs r0, r1
47 asr.w r0, r1, r2
48 asrs.w r0, r1, r2
49 bfc r0, #1, #2
50 bfi r0, r1, #1, #2
51 bic r0, r1, #1
52 bics r0, r1, #1
53 bics r0, r1
54 bic.w r0, r1, r2
55 bics.w r0, r1, r2
56 bic.w r0, r1, r2, LSL #1
57 bics.w r0, r1, r2, LSL #1
58 bkpt #1
59 clrex
60 clz r0, r1
61 cmn r0, #1
62 cmn r0, r1
63 cmn.w r0, r1
64 cmn.w r0, r1, LSL #1
65 cmp r0, #1
66 cmp.w r0, #1
67 cmp r0, r1
68 cmp r0, r10
69 cmp.w r0, r1
70 cmp.w r0, r1, LSL #1
71 #cpsdb 1
72 #cpsie if
73 #dbg #1
74 dmb
75 dsb
76 eor r0, r1, #1
77 eors r0, r1, #1
78 eors r0, r1
79 eor.w r0, r1, r2
80 eors.w r0, r1, r2
81 eor.w r0, r1, r2, LSL #1
82 eors.w r0, r1, r2, LSL #1
83 isb
84 ldm r0!, {r1}
85 ldm r0, {r1}
86 ldm.w r0, {r1}
87 ldm.w r0!, {r1}
88 ldmdb r0, {r1}
89 ldmdb r0!, {r1}
90 ldr r0, [r1, #4]
91 ldr r0, [sp, #4]
92 ldr.w r0, [r1, #4]
93 ldr r0, [r1, #-1]
94 ldr r0, [r1], #1
95 ldr r0, [r1, #1]!
96 ldr r0, #4
97 ldr.w r0, #4
98 ldr r0, next
99 ldr.w r0, next
100 ldr r0, [r1, r2]
101 ldr.w r0, [r1, r2]
102 ldr.w r0, [r1, r2, LSL #1]
103 ldrb r0, [r1, #1]
104 ldrb.w r0, [r1, #1]
105 ldrb r0, [r1, #-1]
106 ldrb r0, [r1], #1
107 ldrb r0, [r1, #1]!
108 ldrb r0, #4
109 ldrb r0, next
110 ldrb r0, [r1, r2]
111 ldrb.w r0, [r1, r2]
112 ldrb.w r0, [r1, r2, LSL #1]
113 ldrbt r0, [r1, #1]
114 ldrd r0, r2, [r1]
115 ldrd r0, r2, [r1, #-4]
116 ldrd r0, r2, [r1], #4
117 ldrd r0, r2, [r1, #4]!
118 ldrd r0, r2, next
119 next:
120 ldrex r0, [r1]
121 ldrex r0, [r1, #4]
122 ldrexb r0, [r1]
123 ldrexh r0, [r1]
124 ldrh r0, [r1, #2]
125 ldrh.w r0, [r1, #1]
126 ldrh r0, [r1, #-1]
127 ldrh r0, [r1], #1
128 ldrh r0, [r1, #1]!
129 ldrh r0, #4
130 ldrh r0, next
131 ldrh r0, [r1, r2]
132 ldrh.w r0, [r1, r2]
133 ldrh.w r0, [r1, r2, LSL #1]
134 ldrht r0, [r1, #1]
135 ldrsb r0, [r1, #1]
136 ldrsb r0, [r1, #-1]
137 ldrsb r0, [r1], #1
138 ldrsb r0, [r1, #1]!
139 ldrsb r0, #4
140 ldrsb r0, next
141 ldrsb r0, [r1, r2]
142 ldrsb.w r0, [r1, r2]
143 ldrsb.w r0, [r1, r2, LSL #1]
144 ldrsbt r0, [r1, #1]
145 ldrsh r0, [r1, #2]
146 ldrsh r0, [r1, #-1]
147 ldrsh r0, [r1], #1
148 ldrsh r0, [r1, #1]!
149 ldrsh r0, #4
150 ldrsh r0, next
151 ldrsh r0, [r1, r2]
152 ldrsh.w r0, [r1, r2]
153 ldrsh.w r0, [r1, r2, LSL #1]
154 ldrsht r0, [r1, #1]
155 ldrt r0, [r1, #1]
156 lsls r0, r1, #1
157 lsl.w r0, r1, #1
158 lsls.w r0, r1, #1
159 lsls r0, r1
160 lsl.w r0, r1, r2
161 lsls.w r0, r1, r2
162 lsrs r0, r1, #1
163 lsr.w r0, r1, #1
164 lsrs.w r0, r1, #1
165 lsrs r0, r1
166 lsr.w r0, r1, r2
167 lsrs.w r0, r1, r2
168 mla r0, r1, r2, r3
169 mls r0, r1, r2, r3
170 movs r0, #1
171 mov.w r0, #1
172 movs.w r0, #1
173 movw r0, #1
174 mov r0, r1
175 #movs r0, r1
176 mov.w r0, r1
177 movs.w r0, r1
178 movt r0, #1
179 mrs r0, apsr
180 msr apsr, r0
181 muls r1, r2, r1
182 mul r0, r1, r2
183 mvn r0, #1
184 mvns r0, #1
185 mvns r0, r1
186 mvn.w r0, r1
187 mvns.w r0, r1
188 mvn.w r0, r1, LSL #1
189 mvns.w r0, r1, LSL #1
191 orn r0, r1, #1
192 orns r0, r1, #1
193 orn r0, r1, r2
194 orns r0, r1, r2
195 orn r0, r1, r2, LSL #1
196 orns r0, r1, r2, LSL #1
197 orr r0, r1, #1
198 orrs r0, r1, #1
199 orrs r0, r1
200 orr r0, r1, r2
201 orrs r0, r1, r2
202 orr r0, r1, r2, LSL #1
203 orrs r0, r1, r2, LSL #1
204 pkhbt r0, r1, r2
205 pkhbt r0, r1, r2, LSL #1
206 pkhtb r0, r1, r2
207 pkhtb r0, r1, r2, ASR #1
208 pop { r0 }
209 pop.w { r0, r1 }
210 pop.w { r0 }
211 pssbb
212 push { r0 }
213 push.w { r0, r1 }
214 push.w { r0 }
215 qadd r0, r1, r2
216 qadd16 r0, r1, r2
217 qadd8 r0, r1, r2
218 qasx r0, r1, r2
219 qdadd r0, r1, r2
220 qdsub r0, r1, r2
221 qsax r0, r1, r2
222 qsub r0, r1, r2
223 qsub16 r0, r1, r2
224 qsub8 r0, r1, r2
225 rbit r0, r1
226 rev r0, r1
227 rev.w r0, r1
228 rev16 r0, r1
229 rev16.w r0, r1
230 revsh r0, r1
231 revsh.w r0, r1
232 ror r0, r1, #1
233 rors r0, r1, #1
234 rors r0, r1
235 ror.w r0, r1, r2
236 rors.w r0, r1, r2
237 rrx r0, r1
238 rrxs r0, r1
239 rsbs r0, r1, #0
240 rsb.w r0, r1, #1
241 rsbs.w r0, r1, #1
242 rsb r0, r1, r2
243 rsbs r0, r1, r2
244 rsb r0, r1, r2, LSL #1
245 rsbs r0, r1, r2, LSL #1
246 sadd16 r0, r1, r2
247 sadd8 r0, r1, r2
248 sasx r0, r1, r2
249 sbc r0, r1, #1
250 sbcs r0, r1, #1
251 sbcs r0, r1
252 sbc r0, r1, r2
253 sbcs r0, r1, r2
254 sbc r0, r1, r2, LSL #1
255 sbcs r0, r1, r2, LSL #1
256 sbfx r0, r1, #1, #2
257 sdiv r0, r1, r2
258 sel r0, r1, r2
261 shadd16 r0, r1, r2
262 shadd8 r0, r1, r2
263 shasx r0, r1, r2
264 shsax r0, r1, r2
265 shsub16 r0, r1, r2
266 shsub8 r0, r1, r2
267 smlabb r0, r1, r2, r3
268 smlabt r0, r1, r2, r3
269 smlatb r0, r1, r2, r3
270 smlatt r0, r1, r2, r3
271 smlad r0, r1, r2, r3
272 smladx r0, r1, r2, r3
273 smlal r0, r1, r2, r3
274 smlalbb r0, r1, r2, r3
275 smlalbt r0, r1, r2, r3
276 smlaltb r0, r1, r2, r3
277 smlaltt r0, r1, r2, r3
278 smlald r0, r1, r2, r3
279 smlaldx r0, r1, r2, r3
280 smlawb r0, r1, r2, r3
281 smlawt r0, r1, r2, r3
282 smlsd r0, r1, r2, r3
283 smlsdx r0, r1, r2, r3
284 smlsld r0, r1, r2, r3
285 smlsldx r0, r1, r2, r3
286 smmla r0, r1, r2, r3
287 smmlar r0, r1, r2, r3
288 smmls r0, r1, r2, r3
289 smmlsr r0, r1, r2, r3
290 smmul r0, r1, r2
291 smmulr r0, r1, r2
292 smuad r0, r1, r2
293 smuadx r0, r1, r2
294 smulbb r0, r1, r2
295 smulbt r0, r1, r2
296 smultb r0, r1, r2
297 smultt r0, r1, r2
298 smull r0, r1, r2, r3
299 smulwb r0, r1, r2
300 smulwt r0, r1, r2
301 smusd r0, r1, r2
302 smusdx r0, r1, r2
303 ssat r0, #1, r2
304 ssat r0, #1, r2, LSL #1
305 ssat16 r0, #1, r1
306 ssax r0, r1, r2
307 ssbb
308 ssub16 r0, r1, r2
309 ssub8 r0, r1, r2
310 stm r0!, { r1 }
311 stm.w r0, { r1 }
312 stm.w r0!, { r1 }
313 stmdb r0, { r1 }
314 stmdb r0!, { r1 }
315 str r0, [ r1 ]
316 str r0, [ r1, #4 ]
317 str r0, [ sp, #4 ]
318 str.w r0, [ r1, #1 ]
319 str r0, [ r1, #-1 ]
320 str r0, [ r1 ], #1
321 #str r0, [ r1, #1 ]!
322 str r0, [ r1, r2 ]
323 str.w r0, [ r1, r2 ]
324 str.w r0, [ r1, r2, LSL #1 ]
325 strb r0, [ r1 ]
326 strb r0, [ r1, #1 ]
327 strb.w r0, [ r1, #1 ]
328 strb r0, [ r1, #-1 ]
329 strb r0, [ r1 ], #1
330 strb r0, [ r1, #1 ]!
331 strb r0, [ r1, r2 ]
332 strb.w r0, [ r1, r2 ]
333 strb.w r0, [ r1, r2, LSL #1 ]
334 strbt r0, [ r1, #1 ]
335 strd r0, r1, [ r2, #4 ]
336 strd r0, r1, [ r2 ], #4
337 strd r0, r1, [ r2, #4 ]!
338 strex r0, r1, [ r2 ]
339 strex r0, r1, [ r2, #4 ]
340 strexb r0, r1, [ r2 ]
341 strexh r0, r1, [ r2 ]
342 strh r0, [ r1 ]
343 strh r0, [ r1, #2 ]
344 strh.w r0, [ r1, #2 ]
345 strh r0, [ r1, #-1 ]
346 strh r0, [ r1 ], #1
347 strh r0, [ r1, #1 ]!
348 strh r0, [ r1, r2 ]
349 strh.w r0, [ r1, r2 ]
350 strh.w r0, [ r1, r2, LSL #1 ]
351 strht r0, [r1, #1 ]
352 strt r0, [r1, #1 ]
353 sub sp, sp, #4
354 sub.w r0, sp, #1
355 subs.w r0, sp, #1
356 subw r0, sp, #1
357 sub r0, sp, r1
358 subs r0, sp, r1
359 sub r0, sp, r1, LSL #1
360 subs r0, sp, r1, LSL #1
361 subs r0, r1, #1
362 subs r0, #1
363 sub.w r0, r1, #1
364 subs.w r0, r1, #1
365 subw r0, r1, #1
366 subs r0, r1, r2
367 sub.w r0, r1, r2
368 subs.w r0, r1, r2
369 sub.w r0, r1, r2, LSL #1
370 subs.w r0, r1, r2, LSL #1
371 #svc #1 ; treated as a call
372 sxtab r0, r1, r2
373 sxtab r0, r1, r2, ROR #8
374 sxtab16 r0, r1, r2
375 sxtab16 r0, r1, r2, ROR #8
376 sxtah r0, r1, r2
377 sxtah r0, r1, r2, ROR #8
378 sxtb r0, r1
379 sxtb.w r0, r1
380 sxtb.w r0, r1, ROR #8
381 sxtb16 r0, r1
382 sxtb16 r0, r1, ROR #8
383 sxth r0, r1
384 sxth.w r0, r1
385 sxth.w r0, r1, ROR #8
386 tbb [r0, r1]
387 tbh [r0, r1, LSL #1]
388 teq r0, #1
389 teq r0, r1
390 teq r0, r1, LSL #1
391 tst r0, #1
392 tst r0, r1
393 tst.w r0, r1
394 tst.w r0, r1, LSL #1
395 #tt r0, r1
396 #ttt r0, r1
397 #tta r0, r1
398 #ttat r0, r1
399 uadd16 r0, r1, r2
400 uadd8 r0, r1, r2
401 uasx r0, r1, r2
402 ubfx r0, r1, #1, #2
403 #udf #1
404 udiv r0, r1, r2
405 uhadd16 r0, r1, r2
406 uhadd8 r0, r1, r2
407 uhasx r0, r1, r2
408 uhsax r0, r1, r2
409 uhsub16 r0, r1, r2
410 uhsub8 r0, r1, r2
411 umaal r0, r1, r2, r3
412 umlal r0, r1, r2, r3
413 umull r0, r1, r2, r3
414 uqadd16 r0, r1, r2
415 uqadd8 r0, r1, r2
416 uqasx r0, r1, r2
417 uqsax r0, r1, r2
418 uqsub16 r0, r1, r2
419 uqsub8 r0, r1, r2
420 usad8 r0, r1, r2
421 usada8 r0, r1, r2, r3
422 usat r0, #1, r1
423 usat r0, #1, r1, LSL #1
424 usat16 r0, #1, r1
425 usax r0, r1, r2
426 usub16 r0, r1, r2
427 usub8 r0, r1, r2
428 uxtab r0, r1, r2
429 uxtab r0, r1, r2, ROR #8
430 uxtab16 r0, r1, r2
431 uxtab16 r0, r1, r2, ROR #8
432 uxtah r0, r1, r2
433 uxtah r0, r1, r2, ROR #8
434 uxtb r0, r1
435 uxtb.w r0, r1
436 uxtb.w r0, r1, ROR #8
437 uxtb16 r0, r1
438 uxtb16 r0, r1, ROR #8
439 uxth r0, r1
440 uxth.w r0, r1
441 uxth.w r0, r1, ROR #8
444 forward:
445 yield
447 # CHECK: Instruction Info:
448 # CHECK-NEXT: [1]: #uOps
449 # CHECK-NEXT: [2]: Latency
450 # CHECK-NEXT: [3]: RThroughput
451 # CHECK-NEXT: [4]: MayLoad
452 # CHECK-NEXT: [5]: MayStore
453 # CHECK-NEXT: [6]: HasSideEffects (U)
455 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
456 # CHECK-NEXT: 1 1 1.00 adc r0, r1, #0
457 # CHECK-NEXT: 1 1 1.00 adcs r0, r1, #0
458 # CHECK-NEXT: 1 1 1.00 U adcs r0, r1
459 # CHECK-NEXT: 1 1 1.00 adc.w r0, r1, r2
460 # CHECK-NEXT: 1 1 1.00 adcs.w r0, r1, r2
461 # CHECK-NEXT: 1 1 1.00 adc.w r0, r1, r2, lsl #1
462 # CHECK-NEXT: 1 1 1.00 adcs.w r0, r1, r2, lsl #1
463 # CHECK-NEXT: 1 1 1.00 add.w r0, sp, #1
464 # CHECK-NEXT: 1 1 1.00 U add.w sp, sp, #1
465 # CHECK-NEXT: 1 1 1.00 add.w r0, sp, #1
466 # CHECK-NEXT: 1 1 1.00 adds.w r0, sp, #1
467 # CHECK-NEXT: 1 1 1.00 addw r0, sp, #1
468 # CHECK-NEXT: 1 1 1.00 U add r0, sp, r0
469 # CHECK-NEXT: 1 1 1.00 U add sp, r1
470 # CHECK-NEXT: 1 1 1.00 add.w r0, sp, r1
471 # CHECK-NEXT: 1 1 1.00 adds.w r0, sp, r1
472 # CHECK-NEXT: 1 1 1.00 add.w r0, sp, r1, lsl #1
473 # CHECK-NEXT: 1 1 1.00 adds.w r0, sp, r1, lsl #1
474 # CHECK-NEXT: 1 1 1.00 adds r0, r1, #1
475 # CHECK-NEXT: 1 1 1.00 adds r0, #42
476 # CHECK-NEXT: 1 1 1.00 add.w r0, r1, #1
477 # CHECK-NEXT: 1 1 1.00 adds.w r0, r1, #1
478 # CHECK-NEXT: 1 1 1.00 addw r0, r1, #1
479 # CHECK-NEXT: 1 1 1.00 adds r0, r1, r2
480 # CHECK-NEXT: 1 1 1.00 add r0, r1
481 # CHECK-NEXT: 1 1 1.00 add.w r0, r1, r2
482 # CHECK-NEXT: 1 1 1.00 adds.w r0, r1, r2
483 # CHECK-NEXT: 1 1 1.00 add.w r0, r1, r2, lsl #1
484 # CHECK-NEXT: 1 1 1.00 adds.w r0, r1, r2, lsl #1
485 # CHECK-NEXT: 1 1 1.00 U adr.w r0, #-6
486 # CHECK-NEXT: 1 1 1.00 U adr.w r8, #-6
487 # CHECK-NEXT: 1 1 1.00 U adr.w r0, #-6
488 # CHECK-NEXT: 1 1 1.00 and r0, r1, #1
489 # CHECK-NEXT: 1 1 1.00 ands r0, r1, #1
490 # CHECK-NEXT: 1 1 1.00 ands r1, r0
491 # CHECK-NEXT: 1 1 1.00 and.w r0, r1, r2
492 # CHECK-NEXT: 1 1 1.00 ands.w r0, r1, r2
493 # CHECK-NEXT: 1 1 1.00 and.w r0, r1, r2, lsl #1
494 # CHECK-NEXT: 1 1 1.00 ands.w r0, r1, r2, lsl #1
495 # CHECK-NEXT: 1 1 1.00 asrs r0, r1, #1
496 # CHECK-NEXT: 1 1 1.00 asr.w r0, r1, #1
497 # CHECK-NEXT: 1 1 1.00 asrs.w r0, r1, #1
498 # CHECK-NEXT: 1 1 1.00 asrs r0, r1
499 # CHECK-NEXT: 1 1 1.00 asr.w r0, r1, r2
500 # CHECK-NEXT: 1 1 1.00 asrs.w r0, r1, r2
501 # CHECK-NEXT: 1 1 1.00 bfc r0, #1, #2
502 # CHECK-NEXT: 1 1 1.00 bfi r0, r1, #1, #2
503 # CHECK-NEXT: 1 1 1.00 bic r0, r1, #1
504 # CHECK-NEXT: 1 1 1.00 bics r0, r1, #1
505 # CHECK-NEXT: 1 1 1.00 bics r0, r1
506 # CHECK-NEXT: 1 1 1.00 bic.w r0, r1, r2
507 # CHECK-NEXT: 1 1 1.00 bics.w r0, r1, r2
508 # CHECK-NEXT: 1 1 1.00 bic.w r0, r1, r2, lsl #1
509 # CHECK-NEXT: 1 1 1.00 bics.w r0, r1, r2, lsl #1
510 # CHECK-NEXT: 1 1 1.00 U bkpt #1
511 # CHECK-NEXT: 1 1 1.00 * * U clrex
512 # CHECK-NEXT: 1 1 1.00 clz r0, r1
513 # CHECK-NEXT: 1 1 1.00 cmn.w r0, #1
514 # CHECK-NEXT: 1 1 1.00 cmn r0, r1
515 # CHECK-NEXT: 1 1 1.00 cmn.w r0, r1
516 # CHECK-NEXT: 1 1 1.00 cmn.w r0, r1, lsl #1
517 # CHECK-NEXT: 1 1 1.00 cmp r0, #1
518 # CHECK-NEXT: 1 1 1.00 cmp.w r0, #1
519 # CHECK-NEXT: 1 1 1.00 cmp r0, r1
520 # CHECK-NEXT: 1 1 1.00 U cmp r0, r10
521 # CHECK-NEXT: 1 1 1.00 cmp.w r0, r1
522 # CHECK-NEXT: 1 1 1.00 cmp.w r0, r1, lsl #1
523 # CHECK-NEXT: 1 1 1.00 * * U dmb sy
524 # CHECK-NEXT: 1 1 1.00 * * U dsb sy
525 # CHECK-NEXT: 1 1 1.00 eor r0, r1, #1
526 # CHECK-NEXT: 1 1 1.00 eors r0, r1, #1
527 # CHECK-NEXT: 1 1 1.00 eors r0, r1
528 # CHECK-NEXT: 1 1 1.00 eor.w r0, r1, r2
529 # CHECK-NEXT: 1 1 1.00 eors.w r0, r1, r2
530 # CHECK-NEXT: 1 1 1.00 eor.w r0, r1, r2, lsl #1
531 # CHECK-NEXT: 1 1 1.00 eors.w r0, r1, r2, lsl #1
532 # CHECK-NEXT: 1 1 1.00 * * U isb sy
533 # CHECK-NEXT: 1 2 1.00 * ldm r0!, {r1}
534 # CHECK-NEXT: 1 2 1.00 * ldm.w r0, {r1}
535 # CHECK-NEXT: 1 2 1.00 * ldm.w r0, {r1}
536 # CHECK-NEXT: 1 2 1.00 * ldr r1, [r0], #4
537 # CHECK-NEXT: 1 2 1.00 * ldmdb r0, {r1}
538 # CHECK-NEXT: 1 2 1.00 * ldmdb r0!, {r1}
539 # CHECK-NEXT: 1 2 1.00 * ldr r0, [r1, #4]
540 # CHECK-NEXT: 1 2 1.00 * ldr r0, [sp, #4]
541 # CHECK-NEXT: 1 2 1.00 * ldr.w r0, [r1, #4]
542 # CHECK-NEXT: 1 2 1.00 * ldr r0, [r1, #-1]
543 # CHECK-NEXT: 1 2 1.00 * ldr r0, [r1], #1
544 # CHECK-NEXT: 1 2 1.00 * ldr r0, [r1, #1]!
545 # CHECK-NEXT: 1 2 1.00 * ldr r0, [pc, #4]
546 # CHECK-NEXT: 1 2 1.00 * ldr.w r0, [pc, #4]
547 # CHECK-NEXT: 1 2 1.00 * ldr r0, next
548 # CHECK-NEXT: 1 2 1.00 * ldr.w r0, next
549 # CHECK-NEXT: 1 2 1.00 * ldr r0, [r1, r2]
550 # CHECK-NEXT: 1 2 1.00 * ldr.w r0, [r1, r2]
551 # CHECK-NEXT: 1 2 1.00 * ldr.w r0, [r1, r2, lsl #1]
552 # CHECK-NEXT: 1 2 1.00 * ldrb r0, [r1, #1]
553 # CHECK-NEXT: 1 2 1.00 * ldrb.w r0, [r1, #1]
554 # CHECK-NEXT: 1 2 1.00 * ldrb r0, [r1, #-1]
555 # CHECK-NEXT: 1 2 1.00 * ldrb r0, [r1], #1
556 # CHECK-NEXT: 1 2 1.00 * ldrb r0, [r1, #1]!
557 # CHECK-NEXT: 1 2 1.00 * ldrb.w r0, [pc, #4]
558 # CHECK-NEXT: 1 2 1.00 * ldrb.w r0, next
559 # CHECK-NEXT: 1 2 1.00 * ldrb r0, [r1, r2]
560 # CHECK-NEXT: 1 2 1.00 * ldrb.w r0, [r1, r2]
561 # CHECK-NEXT: 1 2 1.00 * ldrb.w r0, [r1, r2, lsl #1]
562 # CHECK-NEXT: 1 2 1.00 U ldrbt r0, [r1, #1]
563 # CHECK-NEXT: 1 2 1.00 * ldrd r0, r2, [r1]
564 # CHECK-NEXT: 1 2 1.00 * ldrd r0, r2, [r1, #-4]
565 # CHECK-NEXT: 1 2 1.00 * ldrd r0, r2, [r1], #4
566 # CHECK-NEXT: 1 2 1.00 * ldrd r0, r2, [r1, #4]!
567 # CHECK-NEXT: 1 2 1.00 * ldrd r0, r2, next
568 # CHECK-NEXT: 1 2 1.00 * * U ldrex r0, [r1]
569 # CHECK-NEXT: 1 2 1.00 * * U ldrex r0, [r1, #4]
570 # CHECK-NEXT: 1 2 1.00 * * U ldrexb r0, [r1]
571 # CHECK-NEXT: 1 2 1.00 * * U ldrexh r0, [r1]
572 # CHECK-NEXT: 1 2 1.00 * ldrh r0, [r1, #2]
573 # CHECK-NEXT: 1 2 1.00 * ldrh.w r0, [r1, #1]
574 # CHECK-NEXT: 1 2 1.00 * ldrh r0, [r1, #-1]
575 # CHECK-NEXT: 1 2 1.00 * ldrh r0, [r1], #1
576 # CHECK-NEXT: 1 2 1.00 * ldrh r0, [r1, #1]!
577 # CHECK-NEXT: 1 2 1.00 * ldrh.w r0, [pc, #4]
578 # CHECK-NEXT: 1 2 1.00 * ldrh.w r0, next
579 # CHECK-NEXT: 1 2 1.00 * ldrh r0, [r1, r2]
580 # CHECK-NEXT: 1 2 1.00 * ldrh.w r0, [r1, r2]
581 # CHECK-NEXT: 1 2 1.00 * ldrh.w r0, [r1, r2, lsl #1]
582 # CHECK-NEXT: 1 2 1.00 U ldrht r0, [r1, #1]
583 # CHECK-NEXT: 1 2 1.00 * ldrsb.w r0, [r1, #1]
584 # CHECK-NEXT: 1 2 1.00 * ldrsb r0, [r1, #-1]
585 # CHECK-NEXT: 1 2 1.00 * ldrsb r0, [r1], #1
586 # CHECK-NEXT: 1 2 1.00 * ldrsb r0, [r1, #1]!
587 # CHECK-NEXT: 1 2 1.00 * ldrsb.w r0, [pc, #4]
588 # CHECK-NEXT: 1 2 1.00 * ldrsb.w r0, next
589 # CHECK-NEXT: 1 2 1.00 * ldrsb r0, [r1, r2]
590 # CHECK-NEXT: 1 2 1.00 * ldrsb.w r0, [r1, r2]
591 # CHECK-NEXT: 1 2 1.00 * ldrsb.w r0, [r1, r2, lsl #1]
592 # CHECK-NEXT: 1 2 1.00 U ldrsbt r0, [r1, #1]
593 # CHECK-NEXT: 1 2 1.00 * ldrsh.w r0, [r1, #2]
594 # CHECK-NEXT: 1 2 1.00 * ldrsh r0, [r1, #-1]
595 # CHECK-NEXT: 1 2 1.00 * ldrsh r0, [r1], #1
596 # CHECK-NEXT: 1 2 1.00 * ldrsh r0, [r1, #1]!
597 # CHECK-NEXT: 1 2 1.00 * ldrsh.w r0, [pc, #4]
598 # CHECK-NEXT: 1 2 1.00 * ldrsh.w r0, next
599 # CHECK-NEXT: 1 2 1.00 * ldrsh r0, [r1, r2]
600 # CHECK-NEXT: 1 2 1.00 * ldrsh.w r0, [r1, r2]
601 # CHECK-NEXT: 1 2 1.00 * ldrsh.w r0, [r1, r2, lsl #1]
602 # CHECK-NEXT: 1 2 1.00 U ldrsht r0, [r1, #1]
603 # CHECK-NEXT: 1 2 1.00 U ldrt r0, [r1, #1]
604 # CHECK-NEXT: 1 1 1.00 lsls r0, r1, #1
605 # CHECK-NEXT: 1 1 1.00 lsl.w r0, r1, #1
606 # CHECK-NEXT: 1 1 1.00 lsls.w r0, r1, #1
607 # CHECK-NEXT: 1 1 1.00 lsls r0, r1
608 # CHECK-NEXT: 1 1 1.00 lsl.w r0, r1, r2
609 # CHECK-NEXT: 1 1 1.00 lsls.w r0, r1, r2
610 # CHECK-NEXT: 1 1 1.00 lsrs r0, r1, #1
611 # CHECK-NEXT: 1 1 1.00 lsr.w r0, r1, #1
612 # CHECK-NEXT: 1 1 1.00 lsrs.w r0, r1, #1
613 # CHECK-NEXT: 1 1 1.00 lsrs r0, r1
614 # CHECK-NEXT: 1 1 1.00 lsr.w r0, r1, r2
615 # CHECK-NEXT: 1 1 1.00 lsrs.w r0, r1, r2
616 # CHECK-NEXT: 1 2 1.00 mla r0, r1, r2, r3
617 # CHECK-NEXT: 1 2 1.00 mls r0, r1, r2, r3
618 # CHECK-NEXT: 1 1 1.00 movs r0, #1
619 # CHECK-NEXT: 1 1 1.00 mov.w r0, #1
620 # CHECK-NEXT: 1 1 1.00 movs.w r0, #1
621 # CHECK-NEXT: 1 1 1.00 movw r0, #1
622 # CHECK-NEXT: 1 1 1.00 mov r0, r1
623 # CHECK-NEXT: 1 1 1.00 mov.w r0, r1
624 # CHECK-NEXT: 1 1 1.00 movs.w r0, r1
625 # CHECK-NEXT: 1 1 1.00 movt r0, #1
626 # CHECK-NEXT: 1 1 1.00 U mrs r0, apsr
627 # CHECK-NEXT: 1 1 1.00 U msr apsr_nzcvq, r0
628 # CHECK-NEXT: 1 1 1.00 muls r1, r2, r1
629 # CHECK-NEXT: 1 1 1.00 mul r0, r1, r2
630 # CHECK-NEXT: 1 1 1.00 mvn r0, #1
631 # CHECK-NEXT: 1 1 1.00 mvns r0, #1
632 # CHECK-NEXT: 1 1 1.00 mvns r0, r1
633 # CHECK-NEXT: 1 1 1.00 mvn.w r0, r1
634 # CHECK-NEXT: 1 1 1.00 mvns.w r0, r1
635 # CHECK-NEXT: 1 1 1.00 mvn.w r0, r1, lsl #1
636 # CHECK-NEXT: 1 1 1.00 mvns.w r0, r1, lsl #1
637 # CHECK-NEXT: 1 1 1.00 * * U nop
638 # CHECK-NEXT: 1 1 1.00 orn r0, r1, #1
639 # CHECK-NEXT: 1 1 1.00 orns r0, r1, #1
640 # CHECK-NEXT: 1 1 1.00 orn r0, r1, r2
641 # CHECK-NEXT: 1 1 1.00 orns r0, r1, r2
642 # CHECK-NEXT: 1 1 1.00 orn r0, r1, r2, lsl #1
643 # CHECK-NEXT: 1 1 1.00 orns r0, r1, r2, lsl #1
644 # CHECK-NEXT: 1 1 1.00 orr r0, r1, #1
645 # CHECK-NEXT: 1 1 1.00 orrs r0, r1, #1
646 # CHECK-NEXT: 1 1 1.00 orrs r0, r1
647 # CHECK-NEXT: 1 1 1.00 orr.w r0, r1, r2
648 # CHECK-NEXT: 1 1 1.00 orrs.w r0, r1, r2
649 # CHECK-NEXT: 1 1 1.00 orr.w r0, r1, r2, lsl #1
650 # CHECK-NEXT: 1 1 1.00 orrs.w r0, r1, r2, lsl #1
651 # CHECK-NEXT: 1 1 1.00 pkhbt r0, r1, r2
652 # CHECK-NEXT: 1 1 1.00 pkhbt r0, r1, r2, lsl #1
653 # CHECK-NEXT: 1 1 1.00 pkhbt r0, r2, r1
654 # CHECK-NEXT: 1 1 1.00 pkhtb r0, r1, r2, asr #1
655 # CHECK-NEXT: 1 2 1.00 * U pop {r0}
656 # CHECK-NEXT: 1 2 1.00 * pop.w {r0, r1}
657 # CHECK-NEXT: 1 2 1.00 * ldr r0, [sp], #4
658 # CHECK-NEXT: 1 1 1.00 * * U pssbb
659 # CHECK-NEXT: 1 1 1.00 * U push {r0}
660 # CHECK-NEXT: 1 1 1.00 * push.w {r0, r1}
661 # CHECK-NEXT: 1 1 1.00 * str r0, [sp, #-4]!
662 # CHECK-NEXT: 1 1 1.00 qadd r0, r1, r2
663 # CHECK-NEXT: 1 1 1.00 qadd16 r0, r1, r2
664 # CHECK-NEXT: 1 1 1.00 qadd8 r0, r1, r2
665 # CHECK-NEXT: 1 1 1.00 qasx r0, r1, r2
666 # CHECK-NEXT: 1 1 1.00 qdadd r0, r1, r2
667 # CHECK-NEXT: 1 1 1.00 qdsub r0, r1, r2
668 # CHECK-NEXT: 1 1 1.00 qsax r0, r1, r2
669 # CHECK-NEXT: 1 1 1.00 qsub r0, r1, r2
670 # CHECK-NEXT: 1 1 1.00 qsub16 r0, r1, r2
671 # CHECK-NEXT: 1 1 1.00 qsub8 r0, r1, r2
672 # CHECK-NEXT: 1 1 1.00 rbit r0, r1
673 # CHECK-NEXT: 1 1 1.00 rev r0, r1
674 # CHECK-NEXT: 1 1 1.00 rev.w r0, r1
675 # CHECK-NEXT: 1 1 1.00 rev16 r0, r1
676 # CHECK-NEXT: 1 1 1.00 rev16.w r0, r1
677 # CHECK-NEXT: 1 1 1.00 revsh r0, r1
678 # CHECK-NEXT: 1 1 1.00 revsh.w r0, r1
679 # CHECK-NEXT: 1 1 1.00 ror.w r0, r1, #1
680 # CHECK-NEXT: 1 1 1.00 rors.w r0, r1, #1
681 # CHECK-NEXT: 1 1 1.00 rors r0, r1
682 # CHECK-NEXT: 1 1 1.00 ror.w r0, r1, r2
683 # CHECK-NEXT: 1 1 1.00 rors.w r0, r1, r2
684 # CHECK-NEXT: 1 1 1.00 rrx r0, r1
685 # CHECK-NEXT: 1 1 1.00 rrxs r0, r1
686 # CHECK-NEXT: 1 1 1.00 rsbs r0, r1, #0
687 # CHECK-NEXT: 1 1 1.00 rsb.w r0, r1, #1
688 # CHECK-NEXT: 1 1 1.00 rsbs.w r0, r1, #1
689 # CHECK-NEXT: 1 1 1.00 U rsb r0, r1, r2
690 # CHECK-NEXT: 1 1 1.00 U rsbs r0, r1, r2
691 # CHECK-NEXT: 1 1 1.00 rsb r0, r1, r2, lsl #1
692 # CHECK-NEXT: 1 1 1.00 rsbs r0, r1, r2, lsl #1
693 # CHECK-NEXT: 1 1 1.00 * * U sadd16 r0, r1, r2
694 # CHECK-NEXT: 1 1 1.00 * * U sadd8 r0, r1, r2
695 # CHECK-NEXT: 1 1 1.00 * * U sasx r0, r1, r2
696 # CHECK-NEXT: 1 1 1.00 sbc r0, r1, #1
697 # CHECK-NEXT: 1 1 1.00 sbcs r0, r1, #1
698 # CHECK-NEXT: 1 1 1.00 U sbcs r0, r1
699 # CHECK-NEXT: 1 1 1.00 sbc.w r0, r1, r2
700 # CHECK-NEXT: 1 1 1.00 sbcs.w r0, r1, r2
701 # CHECK-NEXT: 1 1 1.00 sbc.w r0, r1, r2, lsl #1
702 # CHECK-NEXT: 1 1 1.00 sbcs.w r0, r1, r2, lsl #1
703 # CHECK-NEXT: 1 1 1.00 sbfx r0, r1, #1, #2
704 # CHECK-NEXT: 1 2 1.00 sdiv r0, r1, r2
705 # CHECK-NEXT: 1 1 1.00 * sel r0, r1, r2
706 # CHECK-NEXT: 1 1 1.00 * * U sev
707 # CHECK-NEXT: 1 1 1.00 shadd16 r0, r1, r2
708 # CHECK-NEXT: 1 1 1.00 shadd8 r0, r1, r2
709 # CHECK-NEXT: 1 1 1.00 shasx r0, r1, r2
710 # CHECK-NEXT: 1 1 1.00 shsax r0, r1, r2
711 # CHECK-NEXT: 1 1 1.00 shsub16 r0, r1, r2
712 # CHECK-NEXT: 1 1 1.00 shsub8 r0, r1, r2
713 # CHECK-NEXT: 1 1 1.00 smlabb r0, r1, r2, r3
714 # CHECK-NEXT: 1 1 1.00 smlabt r0, r1, r2, r3
715 # CHECK-NEXT: 1 1 1.00 smlatb r0, r1, r2, r3
716 # CHECK-NEXT: 1 1 1.00 smlatt r0, r1, r2, r3
717 # CHECK-NEXT: 1 1 1.00 smlad r0, r1, r2, r3
718 # CHECK-NEXT: 1 1 1.00 smladx r0, r1, r2, r3
719 # CHECK-NEXT: 1 1 1.00 smlal r0, r1, r2, r3
720 # CHECK-NEXT: 1 1 1.00 smlalbb r0, r1, r2, r3
721 # CHECK-NEXT: 1 1 1.00 smlalbt r0, r1, r2, r3
722 # CHECK-NEXT: 1 1 1.00 smlaltb r0, r1, r2, r3
723 # CHECK-NEXT: 1 1 1.00 smlaltt r0, r1, r2, r3
724 # CHECK-NEXT: 1 1 1.00 smlald r0, r1, r2, r3
725 # CHECK-NEXT: 1 1 1.00 smlaldx r0, r1, r2, r3
726 # CHECK-NEXT: 1 1 1.00 smlawb r0, r1, r2, r3
727 # CHECK-NEXT: 1 1 1.00 smlawt r0, r1, r2, r3
728 # CHECK-NEXT: 1 1 1.00 smlsd r0, r1, r2, r3
729 # CHECK-NEXT: 1 1 1.00 smlsdx r0, r1, r2, r3
730 # CHECK-NEXT: 1 1 1.00 smlsld r0, r1, r2, r3
731 # CHECK-NEXT: 1 1 1.00 smlsldx r0, r1, r2, r3
732 # CHECK-NEXT: 1 2 1.00 smmla r0, r1, r2, r3
733 # CHECK-NEXT: 1 2 1.00 smmlar r0, r1, r2, r3
734 # CHECK-NEXT: 1 2 1.00 U smmls r0, r1, r2, r3
735 # CHECK-NEXT: 1 2 1.00 smmlsr r0, r1, r2, r3
736 # CHECK-NEXT: 1 1 1.00 smmul r0, r1, r2
737 # CHECK-NEXT: 1 1 1.00 smmulr r0, r1, r2
738 # CHECK-NEXT: 1 2 1.00 smuad r0, r1, r2
739 # CHECK-NEXT: 1 2 1.00 smuadx r0, r1, r2
740 # CHECK-NEXT: 1 1 1.00 smulbb r0, r1, r2
741 # CHECK-NEXT: 1 1 1.00 smulbt r0, r1, r2
742 # CHECK-NEXT: 1 1 1.00 smultb r0, r1, r2
743 # CHECK-NEXT: 1 1 1.00 smultt r0, r1, r2
744 # CHECK-NEXT: 2 1 2.00 smull r0, r1, r2, r3
745 # CHECK-NEXT: 1 1 1.00 smulwb r0, r1, r2
746 # CHECK-NEXT: 1 1 1.00 smulwt r0, r1, r2
747 # CHECK-NEXT: 1 2 1.00 smusd r0, r1, r2
748 # CHECK-NEXT: 1 2 1.00 smusdx r0, r1, r2
749 # CHECK-NEXT: 1 1 1.00 ssat r0, #1, r2
750 # CHECK-NEXT: 1 1 1.00 ssat r0, #1, r2, lsl #1
751 # CHECK-NEXT: 1 1 1.00 ssat16 r0, #1, r1
752 # CHECK-NEXT: 1 1 1.00 * * U ssax r0, r1, r2
753 # CHECK-NEXT: 1 1 1.00 * * U ssbb
754 # CHECK-NEXT: 1 1 1.00 * * U ssub16 r0, r1, r2
755 # CHECK-NEXT: 1 1 1.00 * * U ssub8 r0, r1, r2
756 # CHECK-NEXT: 1 1 1.00 * stm r0!, {r1}
757 # CHECK-NEXT: 1 1 1.00 * stm.w r0, {r1}
758 # CHECK-NEXT: 1 1 1.00 * stm.w r0!, {r1}
759 # CHECK-NEXT: 1 1 1.00 * stmdb r0, {r1}
760 # CHECK-NEXT: 1 1 1.00 * str r1, [r0, #-4]!
761 # CHECK-NEXT: 1 1 1.00 * str r0, [r1]
762 # CHECK-NEXT: 1 1 1.00 * str r0, [r1, #4]
763 # CHECK-NEXT: 1 1 1.00 * str r0, [sp, #4]
764 # CHECK-NEXT: 1 1 1.00 * str.w r0, [r1, #1]
765 # CHECK-NEXT: 1 1 1.00 * str r0, [r1, #-1]
766 # CHECK-NEXT: 1 1 1.00 * str r0, [r1], #1
767 # CHECK-NEXT: 1 1 1.00 * str r0, [r1, r2]
768 # CHECK-NEXT: 1 1 1.00 * str.w r0, [r1, r2]
769 # CHECK-NEXT: 1 1 1.00 * str.w r0, [r1, r2, lsl #1]
770 # CHECK-NEXT: 1 1 1.00 * strb r0, [r1]
771 # CHECK-NEXT: 1 1 1.00 * strb r0, [r1, #1]
772 # CHECK-NEXT: 1 1 1.00 * strb.w r0, [r1, #1]
773 # CHECK-NEXT: 1 1 1.00 * strb r0, [r1, #-1]
774 # CHECK-NEXT: 1 1 1.00 * strb r0, [r1], #1
775 # CHECK-NEXT: 1 1 1.00 * strb r0, [r1, #1]!
776 # CHECK-NEXT: 1 1 1.00 * strb r0, [r1, r2]
777 # CHECK-NEXT: 1 1 1.00 * strb.w r0, [r1, r2]
778 # CHECK-NEXT: 1 1 1.00 * strb.w r0, [r1, r2, lsl #1]
779 # CHECK-NEXT: 1 1 1.00 U strbt r0, [r1, #1]
780 # CHECK-NEXT: 1 1 1.00 * strd r0, r1, [r2, #4]
781 # CHECK-NEXT: 1 1 1.00 * strd r0, r1, [r2], #4
782 # CHECK-NEXT: 1 1 1.00 * strd r0, r1, [r2, #4]!
783 # CHECK-NEXT: 1 1 1.00 * * U strex r0, r1, [r2]
784 # CHECK-NEXT: 1 1 1.00 * * U strex r0, r1, [r2, #4]
785 # CHECK-NEXT: 1 1 1.00 * * U strexb r0, r1, [r2]
786 # CHECK-NEXT: 1 1 1.00 * * U strexh r0, r1, [r2]
787 # CHECK-NEXT: 1 1 1.00 * strh r0, [r1]
788 # CHECK-NEXT: 1 1 1.00 * strh r0, [r1, #2]
789 # CHECK-NEXT: 1 1 1.00 * strh.w r0, [r1, #2]
790 # CHECK-NEXT: 1 1 1.00 * strh r0, [r1, #-1]
791 # CHECK-NEXT: 1 1 1.00 * strh r0, [r1], #1
792 # CHECK-NEXT: 1 1 1.00 * strh r0, [r1, #1]!
793 # CHECK-NEXT: 1 1 1.00 * strh r0, [r1, r2]
794 # CHECK-NEXT: 1 1 1.00 * strh.w r0, [r1, r2]
795 # CHECK-NEXT: 1 1 1.00 * strh.w r0, [r1, r2, lsl #1]
796 # CHECK-NEXT: 1 1 1.00 U strht r0, [r1, #1]
797 # CHECK-NEXT: 1 1 1.00 U strt r0, [r1, #1]
798 # CHECK-NEXT: 1 1 1.00 U sub sp, #4
799 # CHECK-NEXT: 1 1 1.00 sub.w r0, sp, #1
800 # CHECK-NEXT: 1 1 1.00 subs.w r0, sp, #1
801 # CHECK-NEXT: 1 1 1.00 subw r0, sp, #1
802 # CHECK-NEXT: 1 1 1.00 sub.w r0, sp, r1
803 # CHECK-NEXT: 1 1 1.00 subs.w r0, sp, r1
804 # CHECK-NEXT: 1 1 1.00 sub.w r0, sp, r1, lsl #1
805 # CHECK-NEXT: 1 1 1.00 subs.w r0, sp, r1, lsl #1
806 # CHECK-NEXT: 1 1 1.00 subs r0, r1, #1
807 # CHECK-NEXT: 1 1 1.00 subs r0, #1
808 # CHECK-NEXT: 1 1 1.00 sub.w r0, r1, #1
809 # CHECK-NEXT: 1 1 1.00 subs.w r0, r1, #1
810 # CHECK-NEXT: 1 1 1.00 subw r0, r1, #1
811 # CHECK-NEXT: 1 1 1.00 subs r0, r1, r2
812 # CHECK-NEXT: 1 1 1.00 sub.w r0, r1, r2
813 # CHECK-NEXT: 1 1 1.00 subs.w r0, r1, r2
814 # CHECK-NEXT: 1 1 1.00 sub.w r0, r1, r2, lsl #1
815 # CHECK-NEXT: 1 1 1.00 subs.w r0, r1, r2, lsl #1
816 # CHECK-NEXT: 1 1 1.00 sxtab r0, r1, r2
817 # CHECK-NEXT: 1 1 1.00 sxtab r0, r1, r2, ror #8
818 # CHECK-NEXT: 1 1 1.00 sxtab16 r0, r1, r2
819 # CHECK-NEXT: 1 1 1.00 sxtab16 r0, r1, r2, ror #8
820 # CHECK-NEXT: 1 1 1.00 sxtah r0, r1, r2
821 # CHECK-NEXT: 1 1 1.00 sxtah r0, r1, r2, ror #8
822 # CHECK-NEXT: 1 1 1.00 sxtb r0, r1
823 # CHECK-NEXT: 1 1 1.00 sxtb.w r0, r1
824 # CHECK-NEXT: 1 1 1.00 sxtb.w r0, r1, ror #8
825 # CHECK-NEXT: 1 1 1.00 sxtb16 r0, r1
826 # CHECK-NEXT: 1 1 1.00 sxtb16 r0, r1, ror #8
827 # CHECK-NEXT: 1 1 1.00 sxth r0, r1
828 # CHECK-NEXT: 1 1 1.00 sxth.w r0, r1
829 # CHECK-NEXT: 1 1 1.00 sxth.w r0, r1, ror #8
830 # CHECK-NEXT: 1 1 1.00 U tbb [r0, r1]
831 # CHECK-NEXT: 1 1 1.00 U tbh [r0, r1, lsl #1]
832 # CHECK-NEXT: 1 1 1.00 teq.w r0, #1
833 # CHECK-NEXT: 1 1 1.00 teq.w r0, r1
834 # CHECK-NEXT: 1 1 1.00 teq.w r0, r1, lsl #1
835 # CHECK-NEXT: 1 1 1.00 tst.w r0, #1
836 # CHECK-NEXT: 1 1 1.00 tst r0, r1
837 # CHECK-NEXT: 1 1 1.00 tst.w r0, r1
838 # CHECK-NEXT: 1 1 1.00 tst.w r0, r1, lsl #1
839 # CHECK-NEXT: 1 1 1.00 * * U uadd16 r0, r1, r2
840 # CHECK-NEXT: 1 1 1.00 * * U uadd8 r0, r1, r2
841 # CHECK-NEXT: 1 1 1.00 * * U uasx r0, r1, r2
842 # CHECK-NEXT: 1 1 1.00 ubfx r0, r1, #1, #2
843 # CHECK-NEXT: 1 2 1.00 udiv r0, r1, r2
844 # CHECK-NEXT: 1 1 1.00 uhadd16 r0, r1, r2
845 # CHECK-NEXT: 1 1 1.00 uhadd8 r0, r1, r2
846 # CHECK-NEXT: 1 1 1.00 uhasx r0, r1, r2
847 # CHECK-NEXT: 1 1 1.00 uhsax r0, r1, r2
848 # CHECK-NEXT: 1 1 1.00 uhsub16 r0, r1, r2
849 # CHECK-NEXT: 1 1 1.00 uhsub8 r0, r1, r2
850 # CHECK-NEXT: 2 2 2.00 umaal r0, r1, r2, r3
851 # CHECK-NEXT: 2 2 2.00 umlal r0, r1, r2, r3
852 # CHECK-NEXT: 2 1 2.00 umull r0, r1, r2, r3
853 # CHECK-NEXT: 1 1 1.00 uqadd16 r0, r1, r2
854 # CHECK-NEXT: 1 1 1.00 uqadd8 r0, r1, r2
855 # CHECK-NEXT: 1 1 1.00 uqasx r0, r1, r2
856 # CHECK-NEXT: 1 1 1.00 uqsax r0, r1, r2
857 # CHECK-NEXT: 1 1 1.00 uqsub16 r0, r1, r2
858 # CHECK-NEXT: 1 1 1.00 uqsub8 r0, r1, r2
859 # CHECK-NEXT: 1 1 1.00 usad8 r0, r1, r2
860 # CHECK-NEXT: 1 1 1.00 usada8 r0, r1, r2, r3
861 # CHECK-NEXT: 1 1 1.00 usat r0, #1, r1
862 # CHECK-NEXT: 1 1 1.00 usat r0, #1, r1, lsl #1
863 # CHECK-NEXT: 1 1 1.00 usat16 r0, #1, r1
864 # CHECK-NEXT: 1 1 1.00 * * U usax r0, r1, r2
865 # CHECK-NEXT: 1 1 1.00 * * U usub16 r0, r1, r2
866 # CHECK-NEXT: 1 1 1.00 * * U usub8 r0, r1, r2
867 # CHECK-NEXT: 1 1 1.00 uxtab r0, r1, r2
868 # CHECK-NEXT: 1 1 1.00 uxtab r0, r1, r2, ror #8
869 # CHECK-NEXT: 1 1 1.00 uxtab16 r0, r1, r2
870 # CHECK-NEXT: 1 1 1.00 uxtab16 r0, r1, r2, ror #8
871 # CHECK-NEXT: 1 1 1.00 uxtah r0, r1, r2
872 # CHECK-NEXT: 1 1 1.00 uxtah r0, r1, r2, ror #8
873 # CHECK-NEXT: 1 1 1.00 uxtb r0, r1
874 # CHECK-NEXT: 1 1 1.00 uxtb.w r0, r1
875 # CHECK-NEXT: 1 1 1.00 uxtb.w r0, r1, ror #8
876 # CHECK-NEXT: 1 1 1.00 uxtb16 r0, r1
877 # CHECK-NEXT: 1 1 1.00 uxtb16 r0, r1, ror #8
878 # CHECK-NEXT: 1 1 1.00 uxth r0, r1
879 # CHECK-NEXT: 1 1 1.00 uxth.w r0, r1
880 # CHECK-NEXT: 1 1 1.00 uxth.w r0, r1, ror #8
881 # CHECK-NEXT: 1 1 1.00 * * U wfe
882 # CHECK-NEXT: 1 1 1.00 * * U wfi
883 # CHECK-NEXT: 1 1 1.00 * * U yield
885 # CHECK: Resources:
886 # CHECK-NEXT: [0] - M4Unit
888 # CHECK: Resource pressure per iteration:
889 # CHECK-NEXT: [0]
890 # CHECK-NEXT: 432.00
892 # CHECK: Resource pressure by instruction:
893 # CHECK-NEXT: [0] Instructions:
894 # CHECK-NEXT: 1.00 adc r0, r1, #0
895 # CHECK-NEXT: 1.00 adcs r0, r1, #0
896 # CHECK-NEXT: 1.00 adcs r0, r1
897 # CHECK-NEXT: 1.00 adc.w r0, r1, r2
898 # CHECK-NEXT: 1.00 adcs.w r0, r1, r2
899 # CHECK-NEXT: 1.00 adc.w r0, r1, r2, lsl #1
900 # CHECK-NEXT: 1.00 adcs.w r0, r1, r2, lsl #1
901 # CHECK-NEXT: 1.00 add.w r0, sp, #1
902 # CHECK-NEXT: 1.00 add.w sp, sp, #1
903 # CHECK-NEXT: 1.00 add.w r0, sp, #1
904 # CHECK-NEXT: 1.00 adds.w r0, sp, #1
905 # CHECK-NEXT: 1.00 addw r0, sp, #1
906 # CHECK-NEXT: 1.00 add r0, sp, r0
907 # CHECK-NEXT: 1.00 add sp, r1
908 # CHECK-NEXT: 1.00 add.w r0, sp, r1
909 # CHECK-NEXT: 1.00 adds.w r0, sp, r1
910 # CHECK-NEXT: 1.00 add.w r0, sp, r1, lsl #1
911 # CHECK-NEXT: 1.00 adds.w r0, sp, r1, lsl #1
912 # CHECK-NEXT: 1.00 adds r0, r1, #1
913 # CHECK-NEXT: 1.00 adds r0, #42
914 # CHECK-NEXT: 1.00 add.w r0, r1, #1
915 # CHECK-NEXT: 1.00 adds.w r0, r1, #1
916 # CHECK-NEXT: 1.00 addw r0, r1, #1
917 # CHECK-NEXT: 1.00 adds r0, r1, r2
918 # CHECK-NEXT: 1.00 add r0, r1
919 # CHECK-NEXT: 1.00 add.w r0, r1, r2
920 # CHECK-NEXT: 1.00 adds.w r0, r1, r2
921 # CHECK-NEXT: 1.00 add.w r0, r1, r2, lsl #1
922 # CHECK-NEXT: 1.00 adds.w r0, r1, r2, lsl #1
923 # CHECK-NEXT: 1.00 adr.w r0, #-6
924 # CHECK-NEXT: 1.00 adr.w r8, #-6
925 # CHECK-NEXT: 1.00 adr.w r0, #-6
926 # CHECK-NEXT: 1.00 and r0, r1, #1
927 # CHECK-NEXT: 1.00 ands r0, r1, #1
928 # CHECK-NEXT: 1.00 ands r1, r0
929 # CHECK-NEXT: 1.00 and.w r0, r1, r2
930 # CHECK-NEXT: 1.00 ands.w r0, r1, r2
931 # CHECK-NEXT: 1.00 and.w r0, r1, r2, lsl #1
932 # CHECK-NEXT: 1.00 ands.w r0, r1, r2, lsl #1
933 # CHECK-NEXT: 1.00 asrs r0, r1, #1
934 # CHECK-NEXT: 1.00 asr.w r0, r1, #1
935 # CHECK-NEXT: 1.00 asrs.w r0, r1, #1
936 # CHECK-NEXT: 1.00 asrs r0, r1
937 # CHECK-NEXT: 1.00 asr.w r0, r1, r2
938 # CHECK-NEXT: 1.00 asrs.w r0, r1, r2
939 # CHECK-NEXT: 1.00 bfc r0, #1, #2
940 # CHECK-NEXT: 1.00 bfi r0, r1, #1, #2
941 # CHECK-NEXT: 1.00 bic r0, r1, #1
942 # CHECK-NEXT: 1.00 bics r0, r1, #1
943 # CHECK-NEXT: 1.00 bics r0, r1
944 # CHECK-NEXT: 1.00 bic.w r0, r1, r2
945 # CHECK-NEXT: 1.00 bics.w r0, r1, r2
946 # CHECK-NEXT: 1.00 bic.w r0, r1, r2, lsl #1
947 # CHECK-NEXT: 1.00 bics.w r0, r1, r2, lsl #1
948 # CHECK-NEXT: 1.00 bkpt #1
949 # CHECK-NEXT: 1.00 clrex
950 # CHECK-NEXT: 1.00 clz r0, r1
951 # CHECK-NEXT: 1.00 cmn.w r0, #1
952 # CHECK-NEXT: 1.00 cmn r0, r1
953 # CHECK-NEXT: 1.00 cmn.w r0, r1
954 # CHECK-NEXT: 1.00 cmn.w r0, r1, lsl #1
955 # CHECK-NEXT: 1.00 cmp r0, #1
956 # CHECK-NEXT: 1.00 cmp.w r0, #1
957 # CHECK-NEXT: 1.00 cmp r0, r1
958 # CHECK-NEXT: 1.00 cmp r0, r10
959 # CHECK-NEXT: 1.00 cmp.w r0, r1
960 # CHECK-NEXT: 1.00 cmp.w r0, r1, lsl #1
961 # CHECK-NEXT: 1.00 dmb sy
962 # CHECK-NEXT: 1.00 dsb sy
963 # CHECK-NEXT: 1.00 eor r0, r1, #1
964 # CHECK-NEXT: 1.00 eors r0, r1, #1
965 # CHECK-NEXT: 1.00 eors r0, r1
966 # CHECK-NEXT: 1.00 eor.w r0, r1, r2
967 # CHECK-NEXT: 1.00 eors.w r0, r1, r2
968 # CHECK-NEXT: 1.00 eor.w r0, r1, r2, lsl #1
969 # CHECK-NEXT: 1.00 eors.w r0, r1, r2, lsl #1
970 # CHECK-NEXT: 1.00 isb sy
971 # CHECK-NEXT: 1.00 ldm r0!, {r1}
972 # CHECK-NEXT: 1.00 ldm.w r0, {r1}
973 # CHECK-NEXT: 1.00 ldm.w r0, {r1}
974 # CHECK-NEXT: 1.00 ldr r1, [r0], #4
975 # CHECK-NEXT: 1.00 ldmdb r0, {r1}
976 # CHECK-NEXT: 1.00 ldmdb r0!, {r1}
977 # CHECK-NEXT: 1.00 ldr r0, [r1, #4]
978 # CHECK-NEXT: 1.00 ldr r0, [sp, #4]
979 # CHECK-NEXT: 1.00 ldr.w r0, [r1, #4]
980 # CHECK-NEXT: 1.00 ldr r0, [r1, #-1]
981 # CHECK-NEXT: 1.00 ldr r0, [r1], #1
982 # CHECK-NEXT: 1.00 ldr r0, [r1, #1]!
983 # CHECK-NEXT: 1.00 ldr r0, [pc, #4]
984 # CHECK-NEXT: 1.00 ldr.w r0, [pc, #4]
985 # CHECK-NEXT: 1.00 ldr r0, next
986 # CHECK-NEXT: 1.00 ldr.w r0, next
987 # CHECK-NEXT: 1.00 ldr r0, [r1, r2]
988 # CHECK-NEXT: 1.00 ldr.w r0, [r1, r2]
989 # CHECK-NEXT: 1.00 ldr.w r0, [r1, r2, lsl #1]
990 # CHECK-NEXT: 1.00 ldrb r0, [r1, #1]
991 # CHECK-NEXT: 1.00 ldrb.w r0, [r1, #1]
992 # CHECK-NEXT: 1.00 ldrb r0, [r1, #-1]
993 # CHECK-NEXT: 1.00 ldrb r0, [r1], #1
994 # CHECK-NEXT: 1.00 ldrb r0, [r1, #1]!
995 # CHECK-NEXT: 1.00 ldrb.w r0, [pc, #4]
996 # CHECK-NEXT: 1.00 ldrb.w r0, next
997 # CHECK-NEXT: 1.00 ldrb r0, [r1, r2]
998 # CHECK-NEXT: 1.00 ldrb.w r0, [r1, r2]
999 # CHECK-NEXT: 1.00 ldrb.w r0, [r1, r2, lsl #1]
1000 # CHECK-NEXT: 1.00 ldrbt r0, [r1, #1]
1001 # CHECK-NEXT: 1.00 ldrd r0, r2, [r1]
1002 # CHECK-NEXT: 1.00 ldrd r0, r2, [r1, #-4]
1003 # CHECK-NEXT: 1.00 ldrd r0, r2, [r1], #4
1004 # CHECK-NEXT: 1.00 ldrd r0, r2, [r1, #4]!
1005 # CHECK-NEXT: 1.00 ldrd r0, r2, next
1006 # CHECK-NEXT: 1.00 ldrex r0, [r1]
1007 # CHECK-NEXT: 1.00 ldrex r0, [r1, #4]
1008 # CHECK-NEXT: 1.00 ldrexb r0, [r1]
1009 # CHECK-NEXT: 1.00 ldrexh r0, [r1]
1010 # CHECK-NEXT: 1.00 ldrh r0, [r1, #2]
1011 # CHECK-NEXT: 1.00 ldrh.w r0, [r1, #1]
1012 # CHECK-NEXT: 1.00 ldrh r0, [r1, #-1]
1013 # CHECK-NEXT: 1.00 ldrh r0, [r1], #1
1014 # CHECK-NEXT: 1.00 ldrh r0, [r1, #1]!
1015 # CHECK-NEXT: 1.00 ldrh.w r0, [pc, #4]
1016 # CHECK-NEXT: 1.00 ldrh.w r0, next
1017 # CHECK-NEXT: 1.00 ldrh r0, [r1, r2]
1018 # CHECK-NEXT: 1.00 ldrh.w r0, [r1, r2]
1019 # CHECK-NEXT: 1.00 ldrh.w r0, [r1, r2, lsl #1]
1020 # CHECK-NEXT: 1.00 ldrht r0, [r1, #1]
1021 # CHECK-NEXT: 1.00 ldrsb.w r0, [r1, #1]
1022 # CHECK-NEXT: 1.00 ldrsb r0, [r1, #-1]
1023 # CHECK-NEXT: 1.00 ldrsb r0, [r1], #1
1024 # CHECK-NEXT: 1.00 ldrsb r0, [r1, #1]!
1025 # CHECK-NEXT: 1.00 ldrsb.w r0, [pc, #4]
1026 # CHECK-NEXT: 1.00 ldrsb.w r0, next
1027 # CHECK-NEXT: 1.00 ldrsb r0, [r1, r2]
1028 # CHECK-NEXT: 1.00 ldrsb.w r0, [r1, r2]
1029 # CHECK-NEXT: 1.00 ldrsb.w r0, [r1, r2, lsl #1]
1030 # CHECK-NEXT: 1.00 ldrsbt r0, [r1, #1]
1031 # CHECK-NEXT: 1.00 ldrsh.w r0, [r1, #2]
1032 # CHECK-NEXT: 1.00 ldrsh r0, [r1, #-1]
1033 # CHECK-NEXT: 1.00 ldrsh r0, [r1], #1
1034 # CHECK-NEXT: 1.00 ldrsh r0, [r1, #1]!
1035 # CHECK-NEXT: 1.00 ldrsh.w r0, [pc, #4]
1036 # CHECK-NEXT: 1.00 ldrsh.w r0, next
1037 # CHECK-NEXT: 1.00 ldrsh r0, [r1, r2]
1038 # CHECK-NEXT: 1.00 ldrsh.w r0, [r1, r2]
1039 # CHECK-NEXT: 1.00 ldrsh.w r0, [r1, r2, lsl #1]
1040 # CHECK-NEXT: 1.00 ldrsht r0, [r1, #1]
1041 # CHECK-NEXT: 1.00 ldrt r0, [r1, #1]
1042 # CHECK-NEXT: 1.00 lsls r0, r1, #1
1043 # CHECK-NEXT: 1.00 lsl.w r0, r1, #1
1044 # CHECK-NEXT: 1.00 lsls.w r0, r1, #1
1045 # CHECK-NEXT: 1.00 lsls r0, r1
1046 # CHECK-NEXT: 1.00 lsl.w r0, r1, r2
1047 # CHECK-NEXT: 1.00 lsls.w r0, r1, r2
1048 # CHECK-NEXT: 1.00 lsrs r0, r1, #1
1049 # CHECK-NEXT: 1.00 lsr.w r0, r1, #1
1050 # CHECK-NEXT: 1.00 lsrs.w r0, r1, #1
1051 # CHECK-NEXT: 1.00 lsrs r0, r1
1052 # CHECK-NEXT: 1.00 lsr.w r0, r1, r2
1053 # CHECK-NEXT: 1.00 lsrs.w r0, r1, r2
1054 # CHECK-NEXT: 1.00 mla r0, r1, r2, r3
1055 # CHECK-NEXT: 1.00 mls r0, r1, r2, r3
1056 # CHECK-NEXT: 1.00 movs r0, #1
1057 # CHECK-NEXT: 1.00 mov.w r0, #1
1058 # CHECK-NEXT: 1.00 movs.w r0, #1
1059 # CHECK-NEXT: 1.00 movw r0, #1
1060 # CHECK-NEXT: 1.00 mov r0, r1
1061 # CHECK-NEXT: 1.00 mov.w r0, r1
1062 # CHECK-NEXT: 1.00 movs.w r0, r1
1063 # CHECK-NEXT: 1.00 movt r0, #1
1064 # CHECK-NEXT: 1.00 mrs r0, apsr
1065 # CHECK-NEXT: 1.00 msr apsr_nzcvq, r0
1066 # CHECK-NEXT: 1.00 muls r1, r2, r1
1067 # CHECK-NEXT: 1.00 mul r0, r1, r2
1068 # CHECK-NEXT: 1.00 mvn r0, #1
1069 # CHECK-NEXT: 1.00 mvns r0, #1
1070 # CHECK-NEXT: 1.00 mvns r0, r1
1071 # CHECK-NEXT: 1.00 mvn.w r0, r1
1072 # CHECK-NEXT: 1.00 mvns.w r0, r1
1073 # CHECK-NEXT: 1.00 mvn.w r0, r1, lsl #1
1074 # CHECK-NEXT: 1.00 mvns.w r0, r1, lsl #1
1075 # CHECK-NEXT: 1.00 nop
1076 # CHECK-NEXT: 1.00 orn r0, r1, #1
1077 # CHECK-NEXT: 1.00 orns r0, r1, #1
1078 # CHECK-NEXT: 1.00 orn r0, r1, r2
1079 # CHECK-NEXT: 1.00 orns r0, r1, r2
1080 # CHECK-NEXT: 1.00 orn r0, r1, r2, lsl #1
1081 # CHECK-NEXT: 1.00 orns r0, r1, r2, lsl #1
1082 # CHECK-NEXT: 1.00 orr r0, r1, #1
1083 # CHECK-NEXT: 1.00 orrs r0, r1, #1
1084 # CHECK-NEXT: 1.00 orrs r0, r1
1085 # CHECK-NEXT: 1.00 orr.w r0, r1, r2
1086 # CHECK-NEXT: 1.00 orrs.w r0, r1, r2
1087 # CHECK-NEXT: 1.00 orr.w r0, r1, r2, lsl #1
1088 # CHECK-NEXT: 1.00 orrs.w r0, r1, r2, lsl #1
1089 # CHECK-NEXT: 1.00 pkhbt r0, r1, r2
1090 # CHECK-NEXT: 1.00 pkhbt r0, r1, r2, lsl #1
1091 # CHECK-NEXT: 1.00 pkhbt r0, r2, r1
1092 # CHECK-NEXT: 1.00 pkhtb r0, r1, r2, asr #1
1093 # CHECK-NEXT: 1.00 pop {r0}
1094 # CHECK-NEXT: 1.00 pop.w {r0, r1}
1095 # CHECK-NEXT: 1.00 ldr r0, [sp], #4
1096 # CHECK-NEXT: 1.00 pssbb
1097 # CHECK-NEXT: 1.00 push {r0}
1098 # CHECK-NEXT: 1.00 push.w {r0, r1}
1099 # CHECK-NEXT: 1.00 str r0, [sp, #-4]!
1100 # CHECK-NEXT: 1.00 qadd r0, r1, r2
1101 # CHECK-NEXT: 1.00 qadd16 r0, r1, r2
1102 # CHECK-NEXT: 1.00 qadd8 r0, r1, r2
1103 # CHECK-NEXT: 1.00 qasx r0, r1, r2
1104 # CHECK-NEXT: 1.00 qdadd r0, r1, r2
1105 # CHECK-NEXT: 1.00 qdsub r0, r1, r2
1106 # CHECK-NEXT: 1.00 qsax r0, r1, r2
1107 # CHECK-NEXT: 1.00 qsub r0, r1, r2
1108 # CHECK-NEXT: 1.00 qsub16 r0, r1, r2
1109 # CHECK-NEXT: 1.00 qsub8 r0, r1, r2
1110 # CHECK-NEXT: 1.00 rbit r0, r1
1111 # CHECK-NEXT: 1.00 rev r0, r1
1112 # CHECK-NEXT: 1.00 rev.w r0, r1
1113 # CHECK-NEXT: 1.00 rev16 r0, r1
1114 # CHECK-NEXT: 1.00 rev16.w r0, r1
1115 # CHECK-NEXT: 1.00 revsh r0, r1
1116 # CHECK-NEXT: 1.00 revsh.w r0, r1
1117 # CHECK-NEXT: 1.00 ror.w r0, r1, #1
1118 # CHECK-NEXT: 1.00 rors.w r0, r1, #1
1119 # CHECK-NEXT: 1.00 rors r0, r1
1120 # CHECK-NEXT: 1.00 ror.w r0, r1, r2
1121 # CHECK-NEXT: 1.00 rors.w r0, r1, r2
1122 # CHECK-NEXT: 1.00 rrx r0, r1
1123 # CHECK-NEXT: 1.00 rrxs r0, r1
1124 # CHECK-NEXT: 1.00 rsbs r0, r1, #0
1125 # CHECK-NEXT: 1.00 rsb.w r0, r1, #1
1126 # CHECK-NEXT: 1.00 rsbs.w r0, r1, #1
1127 # CHECK-NEXT: 1.00 rsb r0, r1, r2
1128 # CHECK-NEXT: 1.00 rsbs r0, r1, r2
1129 # CHECK-NEXT: 1.00 rsb r0, r1, r2, lsl #1
1130 # CHECK-NEXT: 1.00 rsbs r0, r1, r2, lsl #1
1131 # CHECK-NEXT: 1.00 sadd16 r0, r1, r2
1132 # CHECK-NEXT: 1.00 sadd8 r0, r1, r2
1133 # CHECK-NEXT: 1.00 sasx r0, r1, r2
1134 # CHECK-NEXT: 1.00 sbc r0, r1, #1
1135 # CHECK-NEXT: 1.00 sbcs r0, r1, #1
1136 # CHECK-NEXT: 1.00 sbcs r0, r1
1137 # CHECK-NEXT: 1.00 sbc.w r0, r1, r2
1138 # CHECK-NEXT: 1.00 sbcs.w r0, r1, r2
1139 # CHECK-NEXT: 1.00 sbc.w r0, r1, r2, lsl #1
1140 # CHECK-NEXT: 1.00 sbcs.w r0, r1, r2, lsl #1
1141 # CHECK-NEXT: 1.00 sbfx r0, r1, #1, #2
1142 # CHECK-NEXT: 1.00 sdiv r0, r1, r2
1143 # CHECK-NEXT: 1.00 sel r0, r1, r2
1144 # CHECK-NEXT: 1.00 sev
1145 # CHECK-NEXT: 1.00 shadd16 r0, r1, r2
1146 # CHECK-NEXT: 1.00 shadd8 r0, r1, r2
1147 # CHECK-NEXT: 1.00 shasx r0, r1, r2
1148 # CHECK-NEXT: 1.00 shsax r0, r1, r2
1149 # CHECK-NEXT: 1.00 shsub16 r0, r1, r2
1150 # CHECK-NEXT: 1.00 shsub8 r0, r1, r2
1151 # CHECK-NEXT: 1.00 smlabb r0, r1, r2, r3
1152 # CHECK-NEXT: 1.00 smlabt r0, r1, r2, r3
1153 # CHECK-NEXT: 1.00 smlatb r0, r1, r2, r3
1154 # CHECK-NEXT: 1.00 smlatt r0, r1, r2, r3
1155 # CHECK-NEXT: 1.00 smlad r0, r1, r2, r3
1156 # CHECK-NEXT: 1.00 smladx r0, r1, r2, r3
1157 # CHECK-NEXT: 1.00 smlal r0, r1, r2, r3
1158 # CHECK-NEXT: 1.00 smlalbb r0, r1, r2, r3
1159 # CHECK-NEXT: 1.00 smlalbt r0, r1, r2, r3
1160 # CHECK-NEXT: 1.00 smlaltb r0, r1, r2, r3
1161 # CHECK-NEXT: 1.00 smlaltt r0, r1, r2, r3
1162 # CHECK-NEXT: 1.00 smlald r0, r1, r2, r3
1163 # CHECK-NEXT: 1.00 smlaldx r0, r1, r2, r3
1164 # CHECK-NEXT: 1.00 smlawb r0, r1, r2, r3
1165 # CHECK-NEXT: 1.00 smlawt r0, r1, r2, r3
1166 # CHECK-NEXT: 1.00 smlsd r0, r1, r2, r3
1167 # CHECK-NEXT: 1.00 smlsdx r0, r1, r2, r3
1168 # CHECK-NEXT: 1.00 smlsld r0, r1, r2, r3
1169 # CHECK-NEXT: 1.00 smlsldx r0, r1, r2, r3
1170 # CHECK-NEXT: 1.00 smmla r0, r1, r2, r3
1171 # CHECK-NEXT: 1.00 smmlar r0, r1, r2, r3
1172 # CHECK-NEXT: 1.00 smmls r0, r1, r2, r3
1173 # CHECK-NEXT: 1.00 smmlsr r0, r1, r2, r3
1174 # CHECK-NEXT: 1.00 smmul r0, r1, r2
1175 # CHECK-NEXT: 1.00 smmulr r0, r1, r2
1176 # CHECK-NEXT: 1.00 smuad r0, r1, r2
1177 # CHECK-NEXT: 1.00 smuadx r0, r1, r2
1178 # CHECK-NEXT: 1.00 smulbb r0, r1, r2
1179 # CHECK-NEXT: 1.00 smulbt r0, r1, r2
1180 # CHECK-NEXT: 1.00 smultb r0, r1, r2
1181 # CHECK-NEXT: 1.00 smultt r0, r1, r2
1182 # CHECK-NEXT: 2.00 smull r0, r1, r2, r3
1183 # CHECK-NEXT: 1.00 smulwb r0, r1, r2
1184 # CHECK-NEXT: 1.00 smulwt r0, r1, r2
1185 # CHECK-NEXT: 1.00 smusd r0, r1, r2
1186 # CHECK-NEXT: 1.00 smusdx r0, r1, r2
1187 # CHECK-NEXT: 1.00 ssat r0, #1, r2
1188 # CHECK-NEXT: 1.00 ssat r0, #1, r2, lsl #1
1189 # CHECK-NEXT: 1.00 ssat16 r0, #1, r1
1190 # CHECK-NEXT: 1.00 ssax r0, r1, r2
1191 # CHECK-NEXT: 1.00 ssbb
1192 # CHECK-NEXT: 1.00 ssub16 r0, r1, r2
1193 # CHECK-NEXT: 1.00 ssub8 r0, r1, r2
1194 # CHECK-NEXT: 1.00 stm r0!, {r1}
1195 # CHECK-NEXT: 1.00 stm.w r0, {r1}
1196 # CHECK-NEXT: 1.00 stm.w r0!, {r1}
1197 # CHECK-NEXT: 1.00 stmdb r0, {r1}
1198 # CHECK-NEXT: 1.00 str r1, [r0, #-4]!
1199 # CHECK-NEXT: 1.00 str r0, [r1]
1200 # CHECK-NEXT: 1.00 str r0, [r1, #4]
1201 # CHECK-NEXT: 1.00 str r0, [sp, #4]
1202 # CHECK-NEXT: 1.00 str.w r0, [r1, #1]
1203 # CHECK-NEXT: 1.00 str r0, [r1, #-1]
1204 # CHECK-NEXT: 1.00 str r0, [r1], #1
1205 # CHECK-NEXT: 1.00 str r0, [r1, r2]
1206 # CHECK-NEXT: 1.00 str.w r0, [r1, r2]
1207 # CHECK-NEXT: 1.00 str.w r0, [r1, r2, lsl #1]
1208 # CHECK-NEXT: 1.00 strb r0, [r1]
1209 # CHECK-NEXT: 1.00 strb r0, [r1, #1]
1210 # CHECK-NEXT: 1.00 strb.w r0, [r1, #1]
1211 # CHECK-NEXT: 1.00 strb r0, [r1, #-1]
1212 # CHECK-NEXT: 1.00 strb r0, [r1], #1
1213 # CHECK-NEXT: 1.00 strb r0, [r1, #1]!
1214 # CHECK-NEXT: 1.00 strb r0, [r1, r2]
1215 # CHECK-NEXT: 1.00 strb.w r0, [r1, r2]
1216 # CHECK-NEXT: 1.00 strb.w r0, [r1, r2, lsl #1]
1217 # CHECK-NEXT: 1.00 strbt r0, [r1, #1]
1218 # CHECK-NEXT: 1.00 strd r0, r1, [r2, #4]
1219 # CHECK-NEXT: 1.00 strd r0, r1, [r2], #4
1220 # CHECK-NEXT: 1.00 strd r0, r1, [r2, #4]!
1221 # CHECK-NEXT: 1.00 strex r0, r1, [r2]
1222 # CHECK-NEXT: 1.00 strex r0, r1, [r2, #4]
1223 # CHECK-NEXT: 1.00 strexb r0, r1, [r2]
1224 # CHECK-NEXT: 1.00 strexh r0, r1, [r2]
1225 # CHECK-NEXT: 1.00 strh r0, [r1]
1226 # CHECK-NEXT: 1.00 strh r0, [r1, #2]
1227 # CHECK-NEXT: 1.00 strh.w r0, [r1, #2]
1228 # CHECK-NEXT: 1.00 strh r0, [r1, #-1]
1229 # CHECK-NEXT: 1.00 strh r0, [r1], #1
1230 # CHECK-NEXT: 1.00 strh r0, [r1, #1]!
1231 # CHECK-NEXT: 1.00 strh r0, [r1, r2]
1232 # CHECK-NEXT: 1.00 strh.w r0, [r1, r2]
1233 # CHECK-NEXT: 1.00 strh.w r0, [r1, r2, lsl #1]
1234 # CHECK-NEXT: 1.00 strht r0, [r1, #1]
1235 # CHECK-NEXT: 1.00 strt r0, [r1, #1]
1236 # CHECK-NEXT: 1.00 sub sp, #4
1237 # CHECK-NEXT: 1.00 sub.w r0, sp, #1
1238 # CHECK-NEXT: 1.00 subs.w r0, sp, #1
1239 # CHECK-NEXT: 1.00 subw r0, sp, #1
1240 # CHECK-NEXT: 1.00 sub.w r0, sp, r1
1241 # CHECK-NEXT: 1.00 subs.w r0, sp, r1
1242 # CHECK-NEXT: 1.00 sub.w r0, sp, r1, lsl #1
1243 # CHECK-NEXT: 1.00 subs.w r0, sp, r1, lsl #1
1244 # CHECK-NEXT: 1.00 subs r0, r1, #1
1245 # CHECK-NEXT: 1.00 subs r0, #1
1246 # CHECK-NEXT: 1.00 sub.w r0, r1, #1
1247 # CHECK-NEXT: 1.00 subs.w r0, r1, #1
1248 # CHECK-NEXT: 1.00 subw r0, r1, #1
1249 # CHECK-NEXT: 1.00 subs r0, r1, r2
1250 # CHECK-NEXT: 1.00 sub.w r0, r1, r2
1251 # CHECK-NEXT: 1.00 subs.w r0, r1, r2
1252 # CHECK-NEXT: 1.00 sub.w r0, r1, r2, lsl #1
1253 # CHECK-NEXT: 1.00 subs.w r0, r1, r2, lsl #1
1254 # CHECK-NEXT: 1.00 sxtab r0, r1, r2
1255 # CHECK-NEXT: 1.00 sxtab r0, r1, r2, ror #8
1256 # CHECK-NEXT: 1.00 sxtab16 r0, r1, r2
1257 # CHECK-NEXT: 1.00 sxtab16 r0, r1, r2, ror #8
1258 # CHECK-NEXT: 1.00 sxtah r0, r1, r2
1259 # CHECK-NEXT: 1.00 sxtah r0, r1, r2, ror #8
1260 # CHECK-NEXT: 1.00 sxtb r0, r1
1261 # CHECK-NEXT: 1.00 sxtb.w r0, r1
1262 # CHECK-NEXT: 1.00 sxtb.w r0, r1, ror #8
1263 # CHECK-NEXT: 1.00 sxtb16 r0, r1
1264 # CHECK-NEXT: 1.00 sxtb16 r0, r1, ror #8
1265 # CHECK-NEXT: 1.00 sxth r0, r1
1266 # CHECK-NEXT: 1.00 sxth.w r0, r1
1267 # CHECK-NEXT: 1.00 sxth.w r0, r1, ror #8
1268 # CHECK-NEXT: 1.00 tbb [r0, r1]
1269 # CHECK-NEXT: 1.00 tbh [r0, r1, lsl #1]
1270 # CHECK-NEXT: 1.00 teq.w r0, #1
1271 # CHECK-NEXT: 1.00 teq.w r0, r1
1272 # CHECK-NEXT: 1.00 teq.w r0, r1, lsl #1
1273 # CHECK-NEXT: 1.00 tst.w r0, #1
1274 # CHECK-NEXT: 1.00 tst r0, r1
1275 # CHECK-NEXT: 1.00 tst.w r0, r1
1276 # CHECK-NEXT: 1.00 tst.w r0, r1, lsl #1
1277 # CHECK-NEXT: 1.00 uadd16 r0, r1, r2
1278 # CHECK-NEXT: 1.00 uadd8 r0, r1, r2
1279 # CHECK-NEXT: 1.00 uasx r0, r1, r2
1280 # CHECK-NEXT: 1.00 ubfx r0, r1, #1, #2
1281 # CHECK-NEXT: 1.00 udiv r0, r1, r2
1282 # CHECK-NEXT: 1.00 uhadd16 r0, r1, r2
1283 # CHECK-NEXT: 1.00 uhadd8 r0, r1, r2
1284 # CHECK-NEXT: 1.00 uhasx r0, r1, r2
1285 # CHECK-NEXT: 1.00 uhsax r0, r1, r2
1286 # CHECK-NEXT: 1.00 uhsub16 r0, r1, r2
1287 # CHECK-NEXT: 1.00 uhsub8 r0, r1, r2
1288 # CHECK-NEXT: 2.00 umaal r0, r1, r2, r3
1289 # CHECK-NEXT: 2.00 umlal r0, r1, r2, r3
1290 # CHECK-NEXT: 2.00 umull r0, r1, r2, r3
1291 # CHECK-NEXT: 1.00 uqadd16 r0, r1, r2
1292 # CHECK-NEXT: 1.00 uqadd8 r0, r1, r2
1293 # CHECK-NEXT: 1.00 uqasx r0, r1, r2
1294 # CHECK-NEXT: 1.00 uqsax r0, r1, r2
1295 # CHECK-NEXT: 1.00 uqsub16 r0, r1, r2
1296 # CHECK-NEXT: 1.00 uqsub8 r0, r1, r2
1297 # CHECK-NEXT: 1.00 usad8 r0, r1, r2
1298 # CHECK-NEXT: 1.00 usada8 r0, r1, r2, r3
1299 # CHECK-NEXT: 1.00 usat r0, #1, r1
1300 # CHECK-NEXT: 1.00 usat r0, #1, r1, lsl #1
1301 # CHECK-NEXT: 1.00 usat16 r0, #1, r1
1302 # CHECK-NEXT: 1.00 usax r0, r1, r2
1303 # CHECK-NEXT: 1.00 usub16 r0, r1, r2
1304 # CHECK-NEXT: 1.00 usub8 r0, r1, r2
1305 # CHECK-NEXT: 1.00 uxtab r0, r1, r2
1306 # CHECK-NEXT: 1.00 uxtab r0, r1, r2, ror #8
1307 # CHECK-NEXT: 1.00 uxtab16 r0, r1, r2
1308 # CHECK-NEXT: 1.00 uxtab16 r0, r1, r2, ror #8
1309 # CHECK-NEXT: 1.00 uxtah r0, r1, r2
1310 # CHECK-NEXT: 1.00 uxtah r0, r1, r2, ror #8
1311 # CHECK-NEXT: 1.00 uxtb r0, r1
1312 # CHECK-NEXT: 1.00 uxtb.w r0, r1
1313 # CHECK-NEXT: 1.00 uxtb.w r0, r1, ror #8
1314 # CHECK-NEXT: 1.00 uxtb16 r0, r1
1315 # CHECK-NEXT: 1.00 uxtb16 r0, r1, ror #8
1316 # CHECK-NEXT: 1.00 uxth r0, r1
1317 # CHECK-NEXT: 1.00 uxth.w r0, r1
1318 # CHECK-NEXT: 1.00 uxth.w r0, r1, ror #8
1319 # CHECK-NEXT: 1.00 wfe
1320 # CHECK-NEXT: 1.00 wfi
1321 # CHECK-NEXT: 1.00 yield