xref: /llvm-project/llvm/test/tools/llvm-mca/ARM/m4-int.s (revision a10ce71ac4ef55cc9a80c0aece501a09bd39cc9a)
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
3
4adc r0, r1, #0
5adcs r0, r1, #0
6adcs r0, r1
7adc.w r0, r1, r2
8adcs.w r0, r1, r2
9adc.w r0, r1, r2, LSL #1
10adcs.w r0, r1, r2, LSL #1
11add r0, sp, #1
12add sp, #1
13add.w r0, sp, #1
14adds.w r0, sp, #1
15addw r0, sp, #1
16add r0, sp, r0
17add sp, r1
18add.w r0, sp, r1
19adds.w r0, sp, r1
20add.w r0, sp, r1, LSL #1
21adds.w r0, sp, r1, LSL #1
22adds r0, r1, #1
23adds r0, #42
24add.w r0, r1, #1
25adds.w r0, r1, #1
26addw r0, r1, #1
27adds r0, r1, r2
28add r0, r1
29add.w r0, r1, r2
30adds.w r0, r1, r2
31add.w r0, r1, r2, LSL #1
32adds.w r0, r1, r2, LSL #1
33adr r0, #-6
34adr r8, #-6
35adr.w r0, #-6
36and r0, r1, #1
37ands r0, r1, #1
38ands r1, r0
39and.w r0, r1, r2
40ands.w r0, r1, r2
41and.w r0, r1, r2, LSL #1
42ands.w r0, r1, r2, LSL #1
43asrs r0, r1, #1
44asr.w r0, r1, #1
45asrs.w r0, r1, #1
46asrs r0, r1
47asr.w r0, r1, r2
48asrs.w r0, r1, r2
49bfc r0, #1, #2
50bfi r0, r1, #1, #2
51bic r0, r1, #1
52bics r0, r1, #1
53bics r0, r1
54bic.w r0, r1, r2
55bics.w r0, r1, r2
56bic.w r0, r1, r2, LSL #1
57bics.w r0, r1, r2, LSL #1
58bkpt #1
59clrex
60clz r0, r1
61cmn r0, #1
62cmn r0, r1
63cmn.w r0, r1
64cmn.w r0, r1, LSL #1
65cmp r0, #1
66cmp.w r0, #1
67cmp r0, r1
68cmp r0, r10
69cmp.w r0, r1
70cmp.w r0, r1, LSL #1
71#cpsdb 1
72#cpsie if
73#dbg #1
74dmb
75dsb
76eor r0, r1, #1
77eors r0, r1, #1
78eors r0, r1
79eor.w r0, r1, r2
80eors.w r0, r1, r2
81eor.w r0, r1, r2, LSL #1
82eors.w r0, r1, r2, LSL #1
83isb
84ldm r0!, {r1}
85ldm r0, {r1}
86ldm.w r0, {r1}
87ldm.w r0!, {r1}
88ldmdb r0, {r1}
89ldmdb r0!, {r1}
90ldr r0, [r1, #4]
91ldr r0, [sp, #4]
92ldr.w r0, [r1, #4]
93ldr r0, [r1, #-1]
94ldr r0, [r1], #1
95ldr r0, [r1, #1]!
96ldr r0, #4
97ldr.w r0, #4
98ldr r0, next
99ldr.w r0, next
100ldr r0, [r1, r2]
101ldr.w r0, [r1, r2]
102ldr.w r0, [r1, r2, LSL #1]
103ldrb r0, [r1, #1]
104ldrb.w r0, [r1, #1]
105ldrb r0, [r1, #-1]
106ldrb r0, [r1], #1
107ldrb r0, [r1, #1]!
108ldrb r0, #4
109ldrb r0, next
110ldrb r0, [r1, r2]
111ldrb.w r0, [r1, r2]
112ldrb.w r0, [r1, r2, LSL #1]
113ldrbt r0, [r1, #1]
114ldrd r0, r2, [r1]
115ldrd r0, r2, [r1, #-4]
116ldrd r0, r2, [r1], #4
117ldrd r0, r2, [r1, #4]!
118ldrd r0, r2, next
119next:
120ldrex r0, [r1]
121ldrex r0, [r1, #4]
122ldrexb r0, [r1]
123ldrexh r0, [r1]
124ldrh r0, [r1, #2]
125ldrh.w r0, [r1, #1]
126ldrh r0, [r1, #-1]
127ldrh r0, [r1], #1
128ldrh r0, [r1, #1]!
129ldrh r0, #4
130ldrh r0, next
131ldrh r0, [r1, r2]
132ldrh.w r0, [r1, r2]
133ldrh.w r0, [r1, r2, LSL #1]
134ldrht r0, [r1, #1]
135ldrsb r0, [r1, #1]
136ldrsb r0, [r1, #-1]
137ldrsb r0, [r1], #1
138ldrsb r0, [r1, #1]!
139ldrsb r0, #4
140ldrsb r0, next
141ldrsb r0, [r1, r2]
142ldrsb.w r0, [r1, r2]
143ldrsb.w r0, [r1, r2, LSL #1]
144ldrsbt r0, [r1, #1]
145ldrsh r0, [r1, #2]
146ldrsh r0, [r1, #-1]
147ldrsh r0, [r1], #1
148ldrsh r0, [r1, #1]!
149ldrsh r0, #4
150ldrsh r0, next
151ldrsh r0, [r1, r2]
152ldrsh.w r0, [r1, r2]
153ldrsh.w r0, [r1, r2, LSL #1]
154ldrsht r0, [r1, #1]
155ldrt r0, [r1, #1]
156lsls r0, r1, #1
157lsl.w r0, r1, #1
158lsls.w r0, r1, #1
159lsls r0, r1
160lsl.w r0, r1, r2
161lsls.w r0, r1, r2
162lsrs r0, r1, #1
163lsr.w r0, r1, #1
164lsrs.w r0, r1, #1
165lsrs r0, r1
166lsr.w r0, r1, r2
167lsrs.w r0, r1, r2
168mla r0, r1, r2, r3
169mls r0, r1, r2, r3
170movs r0, #1
171mov.w r0, #1
172movs.w r0, #1
173movw r0, #1
174mov r0, r1
175#movs r0, r1
176mov.w r0, r1
177movs.w r0, r1
178movt r0, #1
179mrs r0, apsr
180msr apsr, r0
181muls r1, r2, r1
182mul r0, r1, r2
183mvn r0, #1
184mvns r0, #1
185mvns r0, r1
186mvn.w r0, r1
187mvns.w r0, r1
188mvn.w r0, r1, LSL #1
189mvns.w r0, r1, LSL #1
190nop
191orn r0, r1, #1
192orns r0, r1, #1
193orn r0, r1, r2
194orns r0, r1, r2
195orn r0, r1, r2, LSL #1
196orns r0, r1, r2, LSL #1
197orr r0, r1, #1
198orrs r0, r1, #1
199orrs r0, r1
200orr r0, r1, r2
201orrs r0, r1, r2
202orr r0, r1, r2, LSL #1
203orrs r0, r1, r2, LSL #1
204pkhbt r0, r1, r2
205pkhbt r0, r1, r2, LSL #1
206pkhtb r0, r1, r2
207pkhtb r0, r1, r2, ASR #1
208pop { r0 }
209pop.w { r0, r1 }
210pop.w { r0 }
211pssbb
212push { r0 }
213push.w { r0, r1 }
214push.w { r0 }
215qadd r0, r1, r2
216qadd16 r0, r1, r2
217qadd8 r0, r1, r2
218qasx r0, r1, r2
219qdadd r0, r1, r2
220qdsub r0, r1, r2
221qsax r0, r1, r2
222qsub r0, r1, r2
223qsub16 r0, r1, r2
224qsub8 r0, r1, r2
225rbit r0, r1
226rev r0, r1
227rev.w r0, r1
228rev16 r0, r1
229rev16.w r0, r1
230revsh r0, r1
231revsh.w r0, r1
232ror r0, r1, #1
233rors r0, r1, #1
234rors r0, r1
235ror.w r0, r1, r2
236rors.w r0, r1, r2
237rrx r0, r1
238rrxs r0, r1
239rsbs r0, r1, #0
240rsb.w r0, r1, #1
241rsbs.w r0, r1, #1
242rsb r0, r1, r2
243rsbs r0, r1, r2
244rsb r0, r1, r2, LSL #1
245rsbs r0, r1, r2, LSL #1
246sadd16 r0, r1, r2
247sadd8 r0, r1, r2
248sasx r0, r1, r2
249sbc r0, r1, #1
250sbcs r0, r1, #1
251sbcs r0, r1
252sbc r0, r1, r2
253sbcs r0, r1, r2
254sbc r0, r1, r2, LSL #1
255sbcs r0, r1, r2, LSL #1
256sbfx r0, r1, #1, #2
257sdiv r0, r1, r2
258sel r0, r1, r2
259sev
260#sg
261shadd16 r0, r1, r2
262shadd8 r0, r1, r2
263shasx r0, r1, r2
264shsax r0, r1, r2
265shsub16 r0, r1, r2
266shsub8 r0, r1, r2
267smlabb r0, r1, r2, r3
268smlabt r0, r1, r2, r3
269smlatb r0, r1, r2, r3
270smlatt r0, r1, r2, r3
271smlad r0, r1, r2, r3
272smladx r0, r1, r2, r3
273smlal r0, r1, r2, r3
274smlalbb r0, r1, r2, r3
275smlalbt r0, r1, r2, r3
276smlaltb r0, r1, r2, r3
277smlaltt r0, r1, r2, r3
278smlald r0, r1, r2, r3
279smlaldx r0, r1, r2, r3
280smlawb r0, r1, r2, r3
281smlawt r0, r1, r2, r3
282smlsd r0, r1, r2, r3
283smlsdx r0, r1, r2, r3
284smlsld r0, r1, r2, r3
285smlsldx r0, r1, r2, r3
286smmla r0, r1, r2, r3
287smmlar r0, r1, r2, r3
288smmls r0, r1, r2, r3
289smmlsr r0, r1, r2, r3
290smmul r0, r1, r2
291smmulr r0, r1, r2
292smuad r0, r1, r2
293smuadx r0, r1, r2
294smulbb r0, r1, r2
295smulbt r0, r1, r2
296smultb r0, r1, r2
297smultt r0, r1, r2
298smull r0, r1, r2, r3
299smulwb r0, r1, r2
300smulwt r0, r1, r2
301smusd r0, r1, r2
302smusdx r0, r1, r2
303ssat r0, #1, r2
304ssat r0, #1, r2, LSL #1
305ssat16 r0, #1, r1
306ssax r0, r1, r2
307ssbb
308ssub16 r0, r1, r2
309ssub8 r0, r1, r2
310stm r0!, { r1 }
311stm.w r0, { r1 }
312stm.w r0!, { r1 }
313stmdb r0, { r1 }
314stmdb r0!, { r1 }
315str r0, [ r1 ]
316str r0, [ r1, #4 ]
317str r0, [ sp, #4 ]
318str.w r0, [ r1, #1 ]
319str r0, [ r1, #-1 ]
320str r0, [ r1 ], #1
321#str r0, [ r1, #1 ]!
322str r0, [ r1, r2 ]
323str.w r0, [ r1, r2 ]
324str.w r0, [ r1, r2, LSL #1 ]
325strb r0, [ r1 ]
326strb r0, [ r1, #1 ]
327strb.w r0, [ r1, #1 ]
328strb r0, [ r1, #-1 ]
329strb r0, [ r1 ], #1
330strb r0, [ r1, #1 ]!
331strb r0, [ r1, r2 ]
332strb.w r0, [ r1, r2 ]
333strb.w r0, [ r1, r2, LSL #1 ]
334strbt r0, [ r1, #1 ]
335strd r0, r1, [ r2, #4 ]
336strd r0, r1, [ r2 ], #4
337strd r0, r1, [ r2, #4 ]!
338strex r0, r1, [ r2 ]
339strex r0, r1, [ r2, #4 ]
340strexb r0, r1, [ r2 ]
341strexh r0, r1, [ r2 ]
342strh r0, [ r1 ]
343strh r0, [ r1, #2 ]
344strh.w r0, [ r1, #2 ]
345strh r0, [ r1, #-1 ]
346strh r0, [ r1 ], #1
347strh r0, [ r1, #1 ]!
348strh r0, [ r1, r2 ]
349strh.w r0, [ r1, r2 ]
350strh.w r0, [ r1, r2, LSL #1 ]
351strht r0, [r1, #1 ]
352strt r0, [r1, #1 ]
353sub sp, sp, #4
354sub.w r0, sp, #1
355subs.w r0, sp, #1
356subw r0, sp, #1
357sub r0, sp, r1
358subs r0, sp, r1
359sub r0, sp, r1, LSL #1
360subs r0, sp, r1, LSL #1
361subs r0, r1, #1
362subs r0, #1
363sub.w r0, r1, #1
364subs.w r0, r1, #1
365subw r0, r1, #1
366subs r0, r1, r2
367sub.w r0, r1, r2
368subs.w r0, r1, r2
369sub.w r0, r1, r2, LSL #1
370subs.w r0, r1, r2, LSL #1
371#svc #1		; treated as a call
372sxtab r0, r1, r2
373sxtab r0, r1, r2, ROR #8
374sxtab16 r0, r1, r2
375sxtab16 r0, r1, r2, ROR #8
376sxtah r0, r1, r2
377sxtah r0, r1, r2, ROR #8
378sxtb r0, r1
379sxtb.w r0, r1
380sxtb.w r0, r1, ROR #8
381sxtb16 r0, r1
382sxtb16 r0, r1, ROR #8
383sxth r0, r1
384sxth.w r0, r1
385sxth.w r0, r1, ROR #8
386tbb [r0, r1]
387tbh [r0, r1, LSL #1]
388teq r0, #1
389teq r0, r1
390teq r0, r1, LSL #1
391tst r0, #1
392tst r0, r1
393tst.w r0, r1
394tst.w r0, r1, LSL #1
395#tt r0, r1
396#ttt r0, r1
397#tta r0, r1
398#ttat r0, r1
399uadd16 r0, r1, r2
400uadd8 r0, r1, r2
401uasx r0, r1, r2
402ubfx r0, r1, #1, #2
403#udf #1
404udiv r0, r1, r2
405uhadd16 r0, r1, r2
406uhadd8 r0, r1, r2
407uhasx r0, r1, r2
408uhsax r0, r1, r2
409uhsub16 r0, r1, r2
410uhsub8 r0, r1, r2
411umaal r0, r1, r2, r3
412umlal r0, r1, r2, r3
413umull r0, r1, r2, r3
414uqadd16 r0, r1, r2
415uqadd8 r0, r1, r2
416uqasx r0, r1, r2
417uqsax r0, r1, r2
418uqsub16 r0, r1, r2
419uqsub8 r0, r1, r2
420usad8 r0, r1, r2
421usada8 r0, r1, r2, r3
422usat r0, #1, r1
423usat r0, #1, r1, LSL #1
424usat16 r0, #1, r1
425usax r0, r1, r2
426usub16 r0, r1, r2
427usub8 r0, r1, r2
428uxtab r0, r1, r2
429uxtab r0, r1, r2, ROR #8
430uxtab16 r0, r1, r2
431uxtab16 r0, r1, r2, ROR #8
432uxtah r0, r1, r2
433uxtah r0, r1, r2, ROR #8
434uxtb r0, r1
435uxtb.w r0, r1
436uxtb.w r0, r1, ROR #8
437uxtb16 r0, r1
438uxtb16 r0, r1, ROR #8
439uxth r0, r1
440uxth.w r0, r1
441uxth.w r0, r1, ROR #8
442wfe
443wfi
444forward:
445yield
446
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)
454
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           *            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           *            strht	r0, [r1, #1]
797# CHECK-NEXT:  1      1     1.00           *            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
884
885# CHECK:      Resources:
886# CHECK-NEXT: [0]   - M4Unit
887
888# CHECK:      Resource pressure per iteration:
889# CHECK-NEXT: [0]
890# CHECK-NEXT: 432.00
891
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
1322