1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -mtriple=thumbv7-m.main-none-none-eabi -mcpu=cortex-m7 -instruction-tables < %s | FileCheck %s
9 adc.w
r0, r1, r2, LSL
#1
10 adcs.w
r0, r1, r2, LSL
#1
20 add.w
r0, r1, r2, LSL
#1
21 adds.w
r0, r1, r2, LSL
#1
31 add.w
r0, sp
, r1, LSL
#1
32 adds.w
r0, sp
, r1, LSL
#1
39 and.w
r0, r1, r2, LSL
#1
40 ands.w
r0, r1, r2, LSL
#1
54 bic.w
r0, r1, r2, LSL
#1
55 bics.w
r0, r1, r2, LSL
#1
78 eor.w
r0, r1, r2, LSL
#1
79 eors.w
r0, r1, r2, LSL
#1
99 ldr.w
r0, [r1, r2, LSL
#1]
108 ldrb.w
r0, [r1, r2, LSL
#1]
111 ldrd
r0, r2, [r1, #-4]
112 ldrd
r0, r2, [r1], #4
113 ldrd
r0, r2, [r1, #4]!
128 ldrh.w
r0, [r1, r2, LSL
#1]
137 ldrsb.w
r0, [r1, r2, LSL
#1]
146 ldrsh.w
r0, [r1, r2, LSL
#1]
182 mvns.w
r0, r1, LSL
#1
189 orn
r0, r1, r2, LSL
#1
190 orns
r0, r1, r2, LSL
#1
196 orr
r0, r1, r2, LSL
#1
197 orrs
r0, r1, r2, LSL
#1
199 pkhbt
r0, r1, r2, LSL
#1
201 pkhtb
r0, r1, r2, ASR
#1
237 rsb
r0, r1, r2, LSL
#1
238 rsbs
r0, r1, r2, LSL
#1
247 sbc
r0, r1, r2, LSL
#1
248 sbcs
r0, r1, r2, LSL
#1
259 smlabb
r0, r1, r2, r3
260 smlabt
r0, r1, r2, r3
261 smlatb
r0, r1, r2, r3
262 smlatt
r0, r1, r2, r3
264 smladx
r0, r1, r2, r3
266 smlalbb
r0, r1, r2, r3
267 smlalbt
r0, r1, r2, r3
268 smlaltb
r0, r1, r2, r3
269 smlaltt
r0, r1, r2, r3
270 smlald
r0, r1, r2, r3
271 smlaldx
r0, r1, r2, r3
272 smlawb
r0, r1, r2, r3
273 smlawt
r0, r1, r2, r3
275 smlsdx
r0, r1, r2, r3
276 smlsld
r0, r1, r2, r3
277 smlsldx
r0, r1, r2, r3
279 smmlar
r0, r1, r2, r3
281 smmlsr
r0, r1, r2, r3
296 ssat
r0, #1, r2, LSL #1
315 str.w
r0, [ r1, r2, LSL
#1 ]
318 strb.w
r0, [ r1, #1 ]
323 strb.w
r0, [ r1, r2 ]
324 strb.w
r0, [ r1, r2, LSL
#1 ]
326 strd
r0, r1, [ r2, #4 ]
327 strd
r0, r1, [ r2 ], #4
328 strd
r0, r1, [ r2, #4 ]!
330 strex
r0, r1, [ r2, #4 ]
331 strexb
r0, r1, [ r2 ]
332 strexh
r0, r1, [ r2 ]
335 strh.w
r0, [ r1, #2 ]
340 strh.w
r0, [ r1, r2 ]
341 strh.w
r0, [ r1, r2, LSL
#1 ]
352 sub.w
r0, r1, r2, LSL
#1
353 subs.w
r0, r1, r2, LSL
#1
360 sub r0, sp
, r1, LSL
#1
361 subs
r0, sp
, r1, LSL
#1
362 #svc #1 ; treated as a call
364 sxtab
r0, r1, r2, ROR
#8
366 sxtab16
r0, r1, r2, ROR
#8
368 sxtah
r0, r1, r2, ROR
#8
371 sxtb.w
r0, r1, ROR
#8
373 sxtb16
r0, r1, ROR
#8
376 sxth.w
r0, r1, ROR
#8
408 usada8
r0, r1, r2, r3
410 usat
r0, #1, r1, LSL #1
416 uxtab
r0, r1, r2, ROR
#8
418 uxtab16
r0, r1, r2, ROR
#8
420 uxtah
r0, r1, r2, ROR
#8
423 uxtb.w
r0, r1, ROR
#8
425 uxtb16
r0, r1, ROR
#8
428 uxth.w
r0, r1, ROR
#8
433 # CHECK: Instruction Info:
434 # CHECK-NEXT: [1]: #uOps
435 # CHECK-NEXT: [2]: Latency
436 # CHECK-NEXT: [3]: RThroughput
437 # CHECK-NEXT: [4]: MayLoad
438 # CHECK-NEXT: [5]: MayStore
439 # CHECK-NEXT: [6]: HasSideEffects (U)
441 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
442 # CHECK-NEXT: 1 1 0.50 adc r0, r1, #0
443 # CHECK-NEXT: 1 1 0.50 adcs r0, r1, #0
444 # CHECK-NEXT: 1 1 0.50 U adcs r0, r1
445 # CHECK-NEXT: 1 1 0.50 adc.w r0, r1, r2
446 # CHECK-NEXT: 1 1 0.50 adcs.w r0, r1, r2
447 # CHECK-NEXT: 1 2 1.00 adc.w r0, r1, r2, lsl #1
448 # CHECK-NEXT: 1 2 1.00 adcs.w r0, r1, r2, lsl #1
449 # CHECK-NEXT: 1 1 0.50 adds r0, r1, #1
450 # CHECK-NEXT: 1 1 0.50 adds r0, #42
451 # CHECK-NEXT: 1 1 0.50 add.w r0, r1, #1
452 # CHECK-NEXT: 1 1 0.50 adds.w r0, r1, #1
453 # CHECK-NEXT: 1 1 0.50 addw r0, r1, #1
454 # CHECK-NEXT: 1 1 0.50 adds r0, r1, r2
455 # CHECK-NEXT: 1 1 0.50 add r0, r1
456 # CHECK-NEXT: 1 1 0.50 add.w r0, r1, r2
457 # CHECK-NEXT: 1 1 0.50 adds.w r0, r1, r2
458 # CHECK-NEXT: 1 2 1.00 add.w r0, r1, r2, lsl #1
459 # CHECK-NEXT: 1 2 1.00 adds.w r0, r1, r2, lsl #1
460 # CHECK-NEXT: 1 1 0.50 add.w r0, sp, #1
461 # CHECK-NEXT: 1 1 0.50 U add.w sp, sp, #1
462 # CHECK-NEXT: 1 1 0.50 add.w r0, sp, #1
463 # CHECK-NEXT: 1 1 0.50 adds.w r0, sp, #1
464 # CHECK-NEXT: 1 1 0.50 addw r0, sp, #1
465 # CHECK-NEXT: 1 1 0.50 U add r0, sp, r0
466 # CHECK-NEXT: 1 1 0.50 U add sp, r1
467 # CHECK-NEXT: 1 1 0.50 add.w r0, sp, r1
468 # CHECK-NEXT: 1 1 0.50 adds.w r0, sp, r1
469 # CHECK-NEXT: 1 2 1.00 add.w r0, sp, r1, lsl #1
470 # CHECK-NEXT: 1 2 1.00 adds.w r0, sp, r1, lsl #1
471 # CHECK-NEXT: 1 1 0.50 U adr.w r0, #-6
472 # CHECK-NEXT: 1 1 0.50 and r0, r1, #1
473 # CHECK-NEXT: 1 1 0.50 ands r0, r1, #1
474 # CHECK-NEXT: 1 1 0.50 ands r1, r0
475 # CHECK-NEXT: 1 1 0.50 and.w r0, r1, r2
476 # CHECK-NEXT: 1 1 0.50 ands.w r0, r1, r2
477 # CHECK-NEXT: 1 1 1.00 and.w r0, r1, r2, lsl #1
478 # CHECK-NEXT: 1 1 1.00 ands.w r0, r1, r2, lsl #1
479 # CHECK-NEXT: 1 1 1.00 asrs r0, r1, #1
480 # CHECK-NEXT: 1 1 1.00 asr.w r0, r1, #1
481 # CHECK-NEXT: 1 1 1.00 asrs.w r0, r1, #1
482 # CHECK-NEXT: 1 1 1.00 asrs r0, r1
483 # CHECK-NEXT: 1 1 1.00 asr.w r0, r1, r2
484 # CHECK-NEXT: 1 1 1.00 asrs.w r0, r1, r2
485 # CHECK-NEXT: 1 1 1.00 bfc r0, #1, #2
486 # CHECK-NEXT: 1 1 1.00 bfi r0, r1, #1, #2
487 # CHECK-NEXT: 1 1 0.50 bic r0, r1, #1
488 # CHECK-NEXT: 1 1 0.50 bics r0, r1, #1
489 # CHECK-NEXT: 1 1 0.50 bics r0, r1
490 # CHECK-NEXT: 1 1 0.50 bic.w r0, r1, r2
491 # CHECK-NEXT: 1 1 0.50 bics.w r0, r1, r2
492 # CHECK-NEXT: 1 2 1.00 bic.w r0, r1, r2, lsl #1
493 # CHECK-NEXT: 1 2 1.00 bics.w r0, r1, r2, lsl #1
494 # CHECK-NEXT: 1 3 0.50 U bkpt #1
495 # CHECK-NEXT: 1 3 0.50 * * U clrex
496 # CHECK-NEXT: 1 1 0.50 clz r0, r1
497 # CHECK-NEXT: 1 1 0.50 cmn.w r0, #1
498 # CHECK-NEXT: 1 1 0.50 cmn r0, r1
499 # CHECK-NEXT: 1 1 0.50 cmn.w r0, r1
500 # CHECK-NEXT: 1 2 1.00 cmn.w r0, r1, lsl #1
501 # CHECK-NEXT: 1 1 0.50 cmp r0, #1
502 # CHECK-NEXT: 1 1 0.50 cmp.w r0, #1
503 # CHECK-NEXT: 1 1 0.50 cmp r0, r1
504 # CHECK-NEXT: 1 1 0.50 U cmp r0, r10
505 # CHECK-NEXT: 1 1 0.50 cmp.w r0, r1
506 # CHECK-NEXT: 1 2 1.00 cmp.w r0, r1, lsl #1
507 # CHECK-NEXT: 1 3 0.50 * * U dmb sy
508 # CHECK-NEXT: 1 3 0.50 * * U dsb sy
509 # CHECK-NEXT: 1 1 0.50 eor r0, r1, #1
510 # CHECK-NEXT: 1 1 0.50 eors r0, r1, #1
511 # CHECK-NEXT: 1 1 0.50 eors r0, r1
512 # CHECK-NEXT: 1 1 0.50 eor.w r0, r1, r2
513 # CHECK-NEXT: 1 1 0.50 eors.w r0, r1, r2
514 # CHECK-NEXT: 1 2 1.00 eor.w r0, r1, r2, lsl #1
515 # CHECK-NEXT: 1 2 1.00 eors.w r0, r1, r2, lsl #1
516 # CHECK-NEXT: 1 3 0.50 * * U isb sy
517 # CHECK-NEXT: 1 2 0.50 * ldm r0!, {r1}
518 # CHECK-NEXT: 1 2 0.50 * ldm.w r0, {r1}
519 # CHECK-NEXT: 1 2 0.50 * ldm.w r0, {r1}
520 # CHECK-NEXT: 1 2 0.50 * ldr r1, [r0], #4
521 # CHECK-NEXT: 1 2 0.50 * ldmdb r0, {r1}
522 # CHECK-NEXT: 1 2 0.50 * ldmdb r0!, {r1}
523 # CHECK-NEXT: 1 2 0.50 * ldr r0, [r1, #4]
524 # CHECK-NEXT: 1 2 0.50 * ldr r0, [sp, #4]
525 # CHECK-NEXT: 1 2 0.50 * ldr.w r0, [r1, #4]
526 # CHECK-NEXT: 1 2 0.50 * ldr r0, [r1, #-1]
527 # CHECK-NEXT: 1 2 0.50 * ldr r0, [r1], #1
528 # CHECK-NEXT: 1 2 0.50 * ldr r0, [r1, #1]!
529 # CHECK-NEXT: 1 1 0.50 * ldr r0, [pc, #4]
530 # CHECK-NEXT: 1 1 0.50 * ldr.w r0, [pc, #4]
531 # CHECK-NEXT: 1 2 0.50 * ldr r0, [r1, r2]
532 # CHECK-NEXT: 1 2 0.50 * ldr.w r0, [r1, r2]
533 # CHECK-NEXT: 1 2 0.50 * ldr.w r0, [r1, r2, lsl #1]
534 # CHECK-NEXT: 1 3 0.50 * ldrb r0, [r1, #1]
535 # CHECK-NEXT: 1 3 0.50 * ldrb.w r0, [r1, #1]
536 # CHECK-NEXT: 1 3 0.50 * ldrb r0, [r1, #-1]
537 # CHECK-NEXT: 1 3 0.50 * ldrb r0, [r1], #1
538 # CHECK-NEXT: 1 3 0.50 * ldrb r0, [r1, #1]!
539 # CHECK-NEXT: 1 2 0.50 * ldrb.w r0, [pc, #4]
540 # CHECK-NEXT: 1 3 0.50 * ldrb r0, [r1, r2]
541 # CHECK-NEXT: 1 3 0.50 * ldrb.w r0, [r1, r2]
542 # CHECK-NEXT: 1 3 0.50 * ldrb.w r0, [r1, r2, lsl #1]
543 # CHECK-NEXT: 1 3 0.50 U ldrbt r0, [r1, #1]
544 # CHECK-NEXT: 1 2 0.50 * ldrd r0, r2, [r1]
545 # CHECK-NEXT: 1 2 0.50 * ldrd r0, r2, [r1, #-4]
546 # CHECK-NEXT: 1 2 0.50 * ldrd r0, r2, [r1], #4
547 # CHECK-NEXT: 1 2 0.50 * ldrd r0, r2, [r1, #4]!
548 # CHECK-NEXT: 1 2 0.50 * ldrd r0, r2, next
549 # CHECK-NEXT: 1 2 0.50 * * U ldrex r0, [r1]
550 # CHECK-NEXT: 1 2 0.50 * * U ldrex r0, [r1, #4]
551 # CHECK-NEXT: 1 3 0.50 * * U ldrexb r0, [r1]
552 # CHECK-NEXT: 1 3 0.50 * * U ldrexh r0, [r1]
553 # CHECK-NEXT: 1 3 0.50 * ldrh r0, [r1, #2]
554 # CHECK-NEXT: 1 3 0.50 * ldrh.w r0, [r1, #1]
555 # CHECK-NEXT: 1 3 0.50 * ldrh r0, [r1, #-1]
556 # CHECK-NEXT: 1 3 0.50 * ldrh r0, [r1], #1
557 # CHECK-NEXT: 1 3 0.50 * ldrh r0, [r1, #1]!
558 # CHECK-NEXT: 1 2 0.50 * ldrh.w r0, [pc, #4]
559 # CHECK-NEXT: 1 3 0.50 * ldrh r0, [r1, r2]
560 # CHECK-NEXT: 1 3 0.50 * ldrh.w r0, [r1, r2]
561 # CHECK-NEXT: 1 3 0.50 * ldrh.w r0, [r1, r2, lsl #1]
562 # CHECK-NEXT: 1 3 0.50 U ldrht r0, [r1, #1]
563 # CHECK-NEXT: 1 3 0.50 * ldrsb.w r0, [r1, #1]
564 # CHECK-NEXT: 1 3 0.50 * ldrsb r0, [r1, #-1]
565 # CHECK-NEXT: 1 3 0.50 * ldrsb r0, [r1], #1
566 # CHECK-NEXT: 1 3 0.50 * ldrsb r0, [r1, #1]!
567 # CHECK-NEXT: 1 2 0.50 * ldrsb.w r0, [pc, #4]
568 # CHECK-NEXT: 1 3 0.50 * ldrsb r0, [r1, r2]
569 # CHECK-NEXT: 1 3 0.50 * ldrsb.w r0, [r1, r2]
570 # CHECK-NEXT: 1 3 0.50 * ldrsb.w r0, [r1, r2, lsl #1]
571 # CHECK-NEXT: 1 3 0.50 U ldrsbt r0, [r1, #1]
572 # CHECK-NEXT: 1 3 0.50 * ldrsh.w r0, [r1, #2]
573 # CHECK-NEXT: 1 3 0.50 * ldrsh r0, [r1, #-1]
574 # CHECK-NEXT: 1 3 0.50 * ldrsh r0, [r1], #1
575 # CHECK-NEXT: 1 3 0.50 * ldrsh r0, [r1, #1]!
576 # CHECK-NEXT: 1 2 0.50 * ldrsh.w r0, [pc, #4]
577 # CHECK-NEXT: 1 3 0.50 * ldrsh r0, [r1, r2]
578 # CHECK-NEXT: 1 3 0.50 * ldrsh.w r0, [r1, r2]
579 # CHECK-NEXT: 1 3 0.50 * ldrsh.w r0, [r1, r2, lsl #1]
580 # CHECK-NEXT: 1 3 0.50 U ldrsht r0, [r1, #1]
581 # CHECK-NEXT: 1 2 0.50 U ldrt r0, [r1, #1]
582 # CHECK-NEXT: 1 1 1.00 lsls r0, r1, #1
583 # CHECK-NEXT: 1 1 1.00 lsl.w r0, r1, #1
584 # CHECK-NEXT: 1 1 1.00 lsls.w r0, r1, #1
585 # CHECK-NEXT: 1 1 1.00 lsls r0, r1
586 # CHECK-NEXT: 1 1 1.00 lsl.w r0, r1, r2
587 # CHECK-NEXT: 1 1 1.00 lsls.w r0, r1, r2
588 # CHECK-NEXT: 1 1 1.00 lsrs r0, r1, #1
589 # CHECK-NEXT: 1 1 1.00 lsr.w r0, r1, #1
590 # CHECK-NEXT: 1 1 1.00 lsrs.w r0, r1, #1
591 # CHECK-NEXT: 1 1 1.00 lsrs r0, r1
592 # CHECK-NEXT: 1 1 1.00 lsr.w r0, r1, r2
593 # CHECK-NEXT: 1 1 1.00 lsrs.w r0, r1, r2
594 # CHECK-NEXT: 1 2 1.00 mla r0, r1, r2, r3
595 # CHECK-NEXT: 1 2 1.00 mls r0, r1, r2, r3
596 # CHECK-NEXT: 1 1 0.50 movs r0, #1
597 # CHECK-NEXT: 1 1 0.50 mov.w r0, #1
598 # CHECK-NEXT: 1 1 0.50 movs.w r0, #1
599 # CHECK-NEXT: 1 1 0.50 movw r0, #1
600 # CHECK-NEXT: 1 1 0.50 mov r0, r1
601 # CHECK-NEXT: 1 1 0.50 mov.w r0, r1
602 # CHECK-NEXT: 1 1 0.50 movs.w r0, r1
603 # CHECK-NEXT: 1 1 0.50 movt r0, #1
604 # CHECK-NEXT: 1 3 0.50 U mrs r0, apsr
605 # CHECK-NEXT: 1 3 0.50 U msr apsr_nzcvq, r0
606 # CHECK-NEXT: 1 2 1.00 muls r1, r2, r1
607 # CHECK-NEXT: 1 2 1.00 mul r0, r1, r2
608 # CHECK-NEXT: 1 1 0.50 mvn r0, #1
609 # CHECK-NEXT: 1 1 0.50 mvns r0, #1
610 # CHECK-NEXT: 1 1 0.50 mvns r0, r1
611 # CHECK-NEXT: 1 1 0.50 mvn.w r0, r1
612 # CHECK-NEXT: 1 1 0.50 mvns.w r0, r1
613 # CHECK-NEXT: 1 2 1.00 mvn.w r0, r1, lsl #1
614 # CHECK-NEXT: 1 2 1.00 mvns.w r0, r1, lsl #1
615 # CHECK-NEXT: 1 3 0.50 * * U nop
616 # CHECK-NEXT: 1 3 0.50 * * U nop.w
617 # CHECK-NEXT: 1 1 0.50 orn r0, r1, #1
618 # CHECK-NEXT: 1 1 0.50 orns r0, r1, #1
619 # CHECK-NEXT: 1 1 0.50 orn r0, r1, r2
620 # CHECK-NEXT: 1 1 0.50 orns r0, r1, r2
621 # CHECK-NEXT: 1 2 1.00 orn r0, r1, r2, lsl #1
622 # CHECK-NEXT: 1 2 1.00 orns r0, r1, r2, lsl #1
623 # CHECK-NEXT: 1 1 0.50 orr r0, r1, #1
624 # CHECK-NEXT: 1 1 0.50 orrs r0, r1, #1
625 # CHECK-NEXT: 1 1 0.50 orrs r0, r1
626 # CHECK-NEXT: 1 1 0.50 orr.w r0, r1, r2
627 # CHECK-NEXT: 1 1 0.50 orrs.w r0, r1, r2
628 # CHECK-NEXT: 1 2 1.00 orr.w r0, r1, r2, lsl #1
629 # CHECK-NEXT: 1 2 1.00 orrs.w r0, r1, r2, lsl #1
630 # CHECK-NEXT: 1 2 1.00 pkhbt r0, r1, r2
631 # CHECK-NEXT: 1 2 1.00 pkhbt r0, r1, r2, lsl #1
632 # CHECK-NEXT: 1 2 1.00 pkhbt r0, r2, r1
633 # CHECK-NEXT: 1 2 1.00 pkhtb r0, r1, r2, asr #1
634 # CHECK-NEXT: 1 2 0.50 * U pop {r0}
635 # CHECK-NEXT: 1 2 0.50 * pop.w {r0, r1}
636 # CHECK-NEXT: 1 2 0.50 * ldr r0, [sp], #4
637 # CHECK-NEXT: 1 3 1.00 * U push {r0}
638 # CHECK-NEXT: 1 3 1.00 * push.w {r0, r1}
639 # CHECK-NEXT: 1 3 1.00 * str r0, [sp, #-4]!
640 # CHECK-NEXT: 1 2 1.00 qadd r0, r1, r2
641 # CHECK-NEXT: 1 2 1.00 qadd16 r0, r1, r2
642 # CHECK-NEXT: 1 2 1.00 qadd8 r0, r1, r2
643 # CHECK-NEXT: 1 2 1.00 qasx r0, r1, r2
644 # CHECK-NEXT: 1 3 1.00 qdadd r0, r1, r2
645 # CHECK-NEXT: 1 3 1.00 qdsub r0, r1, r2
646 # CHECK-NEXT: 1 2 1.00 qsax r0, r1, r2
647 # CHECK-NEXT: 1 2 1.00 qsub r0, r1, r2
648 # CHECK-NEXT: 1 2 1.00 qsub16 r0, r1, r2
649 # CHECK-NEXT: 1 2 1.00 qsub8 r0, r1, r2
650 # CHECK-NEXT: 1 1 1.00 rbit r0, r1
651 # CHECK-NEXT: 1 1 1.00 rev r0, r1
652 # CHECK-NEXT: 1 1 1.00 rev.w r0, r1
653 # CHECK-NEXT: 1 1 1.00 rev16 r0, r1
654 # CHECK-NEXT: 1 1 1.00 rev16.w r0, r1
655 # CHECK-NEXT: 1 1 1.00 revsh r0, r1
656 # CHECK-NEXT: 1 1 1.00 revsh.w r0, r1
657 # CHECK-NEXT: 1 1 1.00 ror.w r0, r1, #1
658 # CHECK-NEXT: 1 1 1.00 rors.w r0, r1, #1
659 # CHECK-NEXT: 1 1 1.00 rors r0, r1
660 # CHECK-NEXT: 1 1 1.00 ror.w r0, r1, r2
661 # CHECK-NEXT: 1 1 1.00 rors.w r0, r1, r2
662 # CHECK-NEXT: 1 2 1.00 rrx r0, r1
663 # CHECK-NEXT: 1 2 1.00 rrxs r0, r1
664 # CHECK-NEXT: 1 1 0.50 rsbs r0, r1, #0
665 # CHECK-NEXT: 1 1 0.50 rsb.w r0, r1, #1
666 # CHECK-NEXT: 1 1 0.50 rsbs.w r0, r1, #1
667 # CHECK-NEXT: 1 1 0.50 U rsb r0, r1, r2
668 # CHECK-NEXT: 1 1 0.50 U rsbs r0, r1, r2
669 # CHECK-NEXT: 1 2 1.00 rsb r0, r1, r2, lsl #1
670 # CHECK-NEXT: 1 2 1.00 rsbs r0, r1, r2, lsl #1
671 # CHECK-NEXT: 1 1 1.00 * * U sadd16 r0, r1, r2
672 # CHECK-NEXT: 1 1 1.00 * * U sadd8 r0, r1, r2
673 # CHECK-NEXT: 1 1 1.00 * * U sasx r0, r1, r2
674 # CHECK-NEXT: 1 1 0.50 sbc r0, r1, #1
675 # CHECK-NEXT: 1 1 0.50 sbcs r0, r1, #1
676 # CHECK-NEXT: 1 1 0.50 U sbcs r0, r1
677 # CHECK-NEXT: 1 1 0.50 sbc.w r0, r1, r2
678 # CHECK-NEXT: 1 1 0.50 sbcs.w r0, r1, r2
679 # CHECK-NEXT: 1 2 1.00 sbc.w r0, r1, r2, lsl #1
680 # CHECK-NEXT: 1 2 1.00 sbcs.w r0, r1, r2, lsl #1
681 # CHECK-NEXT: 1 2 1.00 sbfx r0, r1, #1, #2
682 # CHECK-NEXT: 2 7 1.00 sdiv r0, r1, r2
683 # CHECK-NEXT: 1 1 1.00 * sel r0, r1, r2
684 # CHECK-NEXT: 1 1 1.00 shadd16 r0, r1, r2
685 # CHECK-NEXT: 1 1 1.00 shadd8 r0, r1, r2
686 # CHECK-NEXT: 1 1 1.00 shasx r0, r1, r2
687 # CHECK-NEXT: 1 1 1.00 shsax r0, r1, r2
688 # CHECK-NEXT: 1 1 1.00 shsub16 r0, r1, r2
689 # CHECK-NEXT: 1 1 1.00 shsub8 r0, r1, r2
690 # CHECK-NEXT: 1 2 1.00 smlabb r0, r1, r2, r3
691 # CHECK-NEXT: 1 2 1.00 smlabt r0, r1, r2, r3
692 # CHECK-NEXT: 1 2 1.00 smlatb r0, r1, r2, r3
693 # CHECK-NEXT: 1 2 1.00 smlatt r0, r1, r2, r3
694 # CHECK-NEXT: 1 2 1.00 smlad r0, r1, r2, r3
695 # CHECK-NEXT: 1 2 1.00 smladx r0, r1, r2, r3
696 # CHECK-NEXT: 1 2 1.00 smlal r0, r1, r2, r3
697 # CHECK-NEXT: 1 2 1.00 smlalbb r0, r1, r2, r3
698 # CHECK-NEXT: 1 2 1.00 smlalbt r0, r1, r2, r3
699 # CHECK-NEXT: 1 2 1.00 smlaltb r0, r1, r2, r3
700 # CHECK-NEXT: 1 2 1.00 smlaltt r0, r1, r2, r3
701 # CHECK-NEXT: 1 2 1.00 smlald r0, r1, r2, r3
702 # CHECK-NEXT: 1 2 1.00 smlaldx r0, r1, r2, r3
703 # CHECK-NEXT: 1 2 1.00 smlawb r0, r1, r2, r3
704 # CHECK-NEXT: 1 2 1.00 smlawt r0, r1, r2, r3
705 # CHECK-NEXT: 1 2 1.00 smlsd r0, r1, r2, r3
706 # CHECK-NEXT: 1 2 1.00 smlsdx r0, r1, r2, r3
707 # CHECK-NEXT: 1 2 1.00 smlsld r0, r1, r2, r3
708 # CHECK-NEXT: 1 2 1.00 smlsldx r0, r1, r2, r3
709 # CHECK-NEXT: 1 2 1.00 smmla r0, r1, r2, r3
710 # CHECK-NEXT: 1 2 1.00 smmlar r0, r1, r2, r3
711 # CHECK-NEXT: 1 2 1.00 U smmls r0, r1, r2, r3
712 # CHECK-NEXT: 1 2 1.00 smmlsr r0, r1, r2, r3
713 # CHECK-NEXT: 1 2 1.00 smmul r0, r1, r2
714 # CHECK-NEXT: 1 2 1.00 smmulr r0, r1, r2
715 # CHECK-NEXT: 1 2 1.00 smuad r0, r1, r2
716 # CHECK-NEXT: 1 2 1.00 smuadx r0, r1, r2
717 # CHECK-NEXT: 1 2 1.00 smulbb r0, r1, r2
718 # CHECK-NEXT: 1 2 1.00 smulbt r0, r1, r2
719 # CHECK-NEXT: 1 2 1.00 smultb r0, r1, r2
720 # CHECK-NEXT: 1 2 1.00 smultt r0, r1, r2
721 # CHECK-NEXT: 1 2 1.00 smull r0, r1, r2, r3
722 # CHECK-NEXT: 1 2 1.00 smulwb r0, r1, r2
723 # CHECK-NEXT: 1 2 1.00 smulwt r0, r1, r2
724 # CHECK-NEXT: 1 2 1.00 smusd r0, r1, r2
725 # CHECK-NEXT: 1 2 1.00 smusdx r0, r1, r2
726 # CHECK-NEXT: 1 3 1.00 ssat r0, #1, r2
727 # CHECK-NEXT: 1 3 1.00 ssat r0, #1, r2, lsl #1
728 # CHECK-NEXT: 1 3 1.00 ssat16 r0, #1, r1
729 # CHECK-NEXT: 1 1 1.00 * * U ssax r0, r1, r2
730 # CHECK-NEXT: 1 1 1.00 * * U ssub16 r0, r1, r2
731 # CHECK-NEXT: 1 1 1.00 * * U ssub8 r0, r1, r2
732 # CHECK-NEXT: 1 3 1.00 * stm r0!, {r1}
733 # CHECK-NEXT: 1 3 1.00 * stm.w r0, {r1}
734 # CHECK-NEXT: 1 3 1.00 * stm.w r0!, {r1}
735 # CHECK-NEXT: 1 3 1.00 * stmdb r0, {r1}
736 # CHECK-NEXT: 1 3 1.00 * str r1, [r0, #-4]!
737 # CHECK-NEXT: 1 3 1.00 * str r0, [r1]
738 # CHECK-NEXT: 1 3 1.00 * str r0, [r1, #4]
739 # CHECK-NEXT: 1 3 1.00 * str r0, [sp, #4]
740 # CHECK-NEXT: 1 3 1.00 * str.w r0, [r1, #1]
741 # CHECK-NEXT: 1 3 1.00 * str r0, [r1, #-1]
742 # CHECK-NEXT: 1 3 1.00 * str r0, [r1], #1
743 # CHECK-NEXT: 1 3 1.00 * str r0, [r1, r2]
744 # CHECK-NEXT: 1 3 1.00 * str.w r0, [r1, r2]
745 # CHECK-NEXT: 1 3 1.00 * str.w r0, [r1, r2, lsl #1]
746 # CHECK-NEXT: 1 3 1.00 * strb r0, [r1]
747 # CHECK-NEXT: 1 3 1.00 * strb r0, [r1, #1]
748 # CHECK-NEXT: 1 3 1.00 * strb.w r0, [r1, #1]
749 # CHECK-NEXT: 1 3 1.00 * strb r0, [r1, #-1]
750 # CHECK-NEXT: 1 3 1.00 * strb r0, [r1], #1
751 # CHECK-NEXT: 1 3 1.00 * strb r0, [r1, #1]!
752 # CHECK-NEXT: 1 3 1.00 * strb r0, [r1, r2]
753 # CHECK-NEXT: 1 3 1.00 * strb.w r0, [r1, r2]
754 # CHECK-NEXT: 1 3 1.00 * strb.w r0, [r1, r2, lsl #1]
755 # CHECK-NEXT: 1 3 1.00 U strbt r0, [r1, #1]
756 # CHECK-NEXT: 1 3 1.00 * strd r0, r1, [r2, #4]
757 # CHECK-NEXT: 1 3 1.00 * strd r0, r1, [r2], #4
758 # CHECK-NEXT: 1 3 1.00 * strd r0, r1, [r2, #4]!
759 # CHECK-NEXT: 1 3 1.00 * * U strex r0, r1, [r2]
760 # CHECK-NEXT: 1 3 1.00 * * U strex r0, r1, [r2, #4]
761 # CHECK-NEXT: 1 3 1.00 * * U strexb r0, r1, [r2]
762 # CHECK-NEXT: 1 3 1.00 * * U strexh r0, r1, [r2]
763 # CHECK-NEXT: 1 3 1.00 * strh r0, [r1]
764 # CHECK-NEXT: 1 3 1.00 * strh r0, [r1, #2]
765 # CHECK-NEXT: 1 3 1.00 * strh.w r0, [r1, #2]
766 # CHECK-NEXT: 1 3 1.00 * strh r0, [r1, #-1]
767 # CHECK-NEXT: 1 3 1.00 * strh r0, [r1], #1
768 # CHECK-NEXT: 1 3 1.00 * strh r0, [r1, #1]!
769 # CHECK-NEXT: 1 3 1.00 * strh r0, [r1, r2]
770 # CHECK-NEXT: 1 3 1.00 * strh.w r0, [r1, r2]
771 # CHECK-NEXT: 1 3 1.00 * strh.w r0, [r1, r2, lsl #1]
772 # CHECK-NEXT: 1 3 1.00 U strht r0, [r1, #1]
773 # CHECK-NEXT: 1 3 1.00 U strt r0, [r1, #1]
774 # CHECK-NEXT: 1 1 0.50 subs r0, r1, #1
775 # CHECK-NEXT: 1 1 0.50 subs r0, #1
776 # CHECK-NEXT: 1 1 0.50 sub.w r0, r1, #1
777 # CHECK-NEXT: 1 1 0.50 subs.w r0, r1, #1
778 # CHECK-NEXT: 1 1 0.50 subw r0, r1, #1
779 # CHECK-NEXT: 1 1 0.50 subs r0, r1, r2
780 # CHECK-NEXT: 1 1 0.50 sub.w r0, r1, r2
781 # CHECK-NEXT: 1 1 0.50 subs.w r0, r1, r2
782 # CHECK-NEXT: 1 2 1.00 sub.w r0, r1, r2, lsl #1
783 # CHECK-NEXT: 1 2 1.00 subs.w r0, r1, r2, lsl #1
784 # CHECK-NEXT: 1 1 0.50 U sub sp, #4
785 # CHECK-NEXT: 1 1 0.50 sub.w r0, sp, #1
786 # CHECK-NEXT: 1 1 0.50 subs.w r0, sp, #1
787 # CHECK-NEXT: 1 1 0.50 subw r0, sp, #1
788 # CHECK-NEXT: 1 1 0.50 sub.w r0, sp, r1
789 # CHECK-NEXT: 1 1 0.50 subs.w r0, sp, r1
790 # CHECK-NEXT: 1 2 1.00 sub.w r0, sp, r1, lsl #1
791 # CHECK-NEXT: 1 2 1.00 subs.w r0, sp, r1, lsl #1
792 # CHECK-NEXT: 1 2 1.00 sxtab r0, r1, r2
793 # CHECK-NEXT: 1 2 1.00 sxtab r0, r1, r2, ror #8
794 # CHECK-NEXT: 1 2 1.00 sxtab16 r0, r1, r2
795 # CHECK-NEXT: 1 2 1.00 sxtab16 r0, r1, r2, ror #8
796 # CHECK-NEXT: 1 2 1.00 sxtah r0, r1, r2
797 # CHECK-NEXT: 1 2 1.00 sxtah r0, r1, r2, ror #8
798 # CHECK-NEXT: 1 1 1.00 sxtb r0, r1
799 # CHECK-NEXT: 1 1 1.00 sxtb.w r0, r1
800 # CHECK-NEXT: 1 1 1.00 sxtb.w r0, r1, ror #8
801 # CHECK-NEXT: 1 1 1.00 sxtb16 r0, r1
802 # CHECK-NEXT: 1 1 1.00 sxtb16 r0, r1, ror #8
803 # CHECK-NEXT: 1 1 1.00 sxth r0, r1
804 # CHECK-NEXT: 1 1 1.00 sxth.w r0, r1
805 # CHECK-NEXT: 1 1 1.00 sxth.w r0, r1, ror #8
806 # CHECK-NEXT: 2 2 0.50 U tbb [r0, r1]
807 # CHECK-NEXT: 2 2 0.50 U tbh [r0, r1, lsl #1]
808 # CHECK-NEXT: 1 1 0.50 teq.w r0, #1
809 # CHECK-NEXT: 1 1 0.50 teq.w r0, r1
810 # CHECK-NEXT: 1 2 1.00 teq.w r0, r1, lsl #1
811 # CHECK-NEXT: 1 1 0.50 tst.w r0, #1
812 # CHECK-NEXT: 1 1 0.50 tst r0, r1
813 # CHECK-NEXT: 1 1 0.50 tst.w r0, r1
814 # CHECK-NEXT: 1 2 1.00 tst.w r0, r1, lsl #1
815 # CHECK-NEXT: 1 1 1.00 * * U uadd16 r0, r1, r2
816 # CHECK-NEXT: 1 1 1.00 * * U uadd8 r0, r1, r2
817 # CHECK-NEXT: 1 1 1.00 * * U uasx r0, r1, r2
818 # CHECK-NEXT: 1 2 1.00 ubfx r0, r1, #1, #2
819 # CHECK-NEXT: 2 7 1.00 udiv r0, r1, r2
820 # CHECK-NEXT: 1 1 1.00 uhadd16 r0, r1, r2
821 # CHECK-NEXT: 1 1 1.00 uhadd8 r0, r1, r2
822 # CHECK-NEXT: 1 1 1.00 uhasx r0, r1, r2
823 # CHECK-NEXT: 1 1 1.00 uhsax r0, r1, r2
824 # CHECK-NEXT: 1 1 1.00 uhsub16 r0, r1, r2
825 # CHECK-NEXT: 1 1 1.00 uhsub8 r0, r1, r2
826 # CHECK-NEXT: 1 2 1.00 umaal r0, r1, r2, r3
827 # CHECK-NEXT: 1 2 1.00 umlal r0, r1, r2, r3
828 # CHECK-NEXT: 1 2 1.00 umull r0, r1, r2, r3
829 # CHECK-NEXT: 1 2 1.00 uqadd16 r0, r1, r2
830 # CHECK-NEXT: 1 2 1.00 uqadd8 r0, r1, r2
831 # CHECK-NEXT: 1 2 1.00 uqasx r0, r1, r2
832 # CHECK-NEXT: 1 2 1.00 uqsax r0, r1, r2
833 # CHECK-NEXT: 1 2 1.00 uqsub16 r0, r1, r2
834 # CHECK-NEXT: 1 2 1.00 uqsub8 r0, r1, r2
835 # CHECK-NEXT: 1 2 1.00 usad8 r0, r1, r2
836 # CHECK-NEXT: 1 2 1.00 usada8 r0, r1, r2, r3
837 # CHECK-NEXT: 1 3 1.00 usat r0, #1, r1
838 # CHECK-NEXT: 1 3 1.00 usat r0, #1, r1, lsl #1
839 # CHECK-NEXT: 1 3 1.00 usat16 r0, #1, r1
840 # CHECK-NEXT: 1 1 1.00 * * U usax r0, r1, r2
841 # CHECK-NEXT: 1 1 1.00 * * U usub16 r0, r1, r2
842 # CHECK-NEXT: 1 1 1.00 * * U usub8 r0, r1, r2
843 # CHECK-NEXT: 1 2 1.00 uxtab r0, r1, r2
844 # CHECK-NEXT: 1 2 1.00 uxtab r0, r1, r2, ror #8
845 # CHECK-NEXT: 1 2 1.00 uxtab16 r0, r1, r2
846 # CHECK-NEXT: 1 2 1.00 uxtab16 r0, r1, r2, ror #8
847 # CHECK-NEXT: 1 2 1.00 uxtah r0, r1, r2
848 # CHECK-NEXT: 1 2 1.00 uxtah r0, r1, r2, ror #8
849 # CHECK-NEXT: 1 1 1.00 uxtb r0, r1
850 # CHECK-NEXT: 1 1 1.00 uxtb.w r0, r1
851 # CHECK-NEXT: 1 1 1.00 uxtb.w r0, r1, ror #8
852 # CHECK-NEXT: 1 1 1.00 uxtb16 r0, r1
853 # CHECK-NEXT: 1 1 1.00 uxtb16 r0, r1, ror #8
854 # CHECK-NEXT: 1 1 1.00 uxth r0, r1
855 # CHECK-NEXT: 1 1 1.00 uxth.w r0, r1
856 # CHECK-NEXT: 1 1 1.00 uxth.w r0, r1, ror #8
857 # CHECK-NEXT: 1 3 0.50 * * U wfe
858 # CHECK-NEXT: 1 3 0.50 * * U wfi
859 # CHECK-NEXT: 1 3 0.50 * * U yield
862 # CHECK-NEXT: [0.0] - M7UnitALU
863 # CHECK-NEXT: [0.1] - M7UnitALU
864 # CHECK-NEXT: [1] - M7UnitBranch
865 # CHECK-NEXT: [2] - M7UnitLoadH
866 # CHECK-NEXT: [3] - M7UnitLoadL
867 # CHECK-NEXT: [4] - M7UnitMAC
868 # CHECK-NEXT: [5] - M7UnitSIMD
869 # CHECK-NEXT: [6] - M7UnitShift1
870 # CHECK-NEXT: [7] - M7UnitShift2
871 # CHECK-NEXT: [8] - M7UnitStore
872 # CHECK-NEXT: [9] - M7UnitVFP
873 # CHECK-NEXT: [10] - M7UnitVPortH
874 # CHECK-NEXT: [11] - M7UnitVPortL
876 # CHECK: Resource pressure per iteration:
877 # CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
878 # CHECK-NEXT: 125.00 125.00 - 35.00 35.00 43.00 90.00 88.00 2.00 45.00 - - -
880 # CHECK: Resource pressure by instruction:
881 # CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
882 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc r0, r1, #0
883 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs r0, r1, #0
884 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs r0, r1
885 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc.w r0, r1, r2
886 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs.w r0, r1, r2
887 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - adc.w r0, r1, r2, lsl #1
888 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - adcs.w r0, r1, r2, lsl #1
889 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds r0, r1, #1
890 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds r0, #42
891 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add.w r0, r1, #1
892 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds.w r0, r1, #1
893 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - addw r0, r1, #1
894 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds r0, r1, r2
895 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add r0, r1
896 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add.w r0, r1, r2
897 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds.w r0, r1, r2
898 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - add.w r0, r1, r2, lsl #1
899 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - adds.w r0, r1, r2, lsl #1
900 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add.w r0, sp, #1
901 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add.w sp, sp, #1
902 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add.w r0, sp, #1
903 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds.w r0, sp, #1
904 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - addw r0, sp, #1
905 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add r0, sp, r0
906 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add sp, r1
907 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add.w r0, sp, r1
908 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds.w r0, sp, r1
909 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - add.w r0, sp, r1, lsl #1
910 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - adds.w r0, sp, r1, lsl #1
911 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adr.w r0, #-6
912 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and r0, r1, #1
913 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ands r0, r1, #1
914 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ands r1, r0
915 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and.w r0, r1, r2
916 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ands.w r0, r1, r2
917 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - and.w r0, r1, r2, lsl #1
918 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - ands.w r0, r1, r2, lsl #1
919 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - asrs r0, r1, #1
920 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - asr.w r0, r1, #1
921 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - asrs.w r0, r1, #1
922 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - asrs r0, r1
923 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - asr.w r0, r1, r2
924 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - asrs.w r0, r1, r2
925 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - bfc r0, #1, #2
926 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - bfi r0, r1, #1, #2
927 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bic r0, r1, #1
928 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bics r0, r1, #1
929 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bics r0, r1
930 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bic.w r0, r1, r2
931 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bics.w r0, r1, r2
932 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - bic.w r0, r1, r2, lsl #1
933 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - bics.w r0, r1, r2, lsl #1
934 # CHECK-NEXT: - - - - - - - - - - - - - bkpt #1
935 # CHECK-NEXT: - - - - - - - - - - - - - clrex
936 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - clz r0, r1
937 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn.w r0, #1
938 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn r0, r1
939 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn.w r0, r1
940 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - cmn.w r0, r1, lsl #1
941 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp r0, #1
942 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp.w r0, #1
943 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp r0, r1
944 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp r0, r10
945 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp.w r0, r1
946 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - cmp.w r0, r1, lsl #1
947 # CHECK-NEXT: - - - - - - - - - - - - - dmb sy
948 # CHECK-NEXT: - - - - - - - - - - - - - dsb sy
949 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - eor r0, r1, #1
950 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - eors r0, r1, #1
951 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - eors r0, r1
952 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - eor.w r0, r1, r2
953 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - eors.w r0, r1, r2
954 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - eor.w r0, r1, r2, lsl #1
955 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - eors.w r0, r1, r2, lsl #1
956 # CHECK-NEXT: - - - - - - - - - - - - - isb sy
957 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldm r0!, {r1}
958 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldm.w r0, {r1}
959 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldm.w r0, {r1}
960 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldr r1, [r0], #4
961 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldmdb r0, {r1}
962 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldmdb r0!, {r1}
963 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldr r0, [r1, #4]
964 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldr r0, [sp, #4]
965 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldr.w r0, [r1, #4]
966 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldr r0, [r1, #-1]
967 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldr r0, [r1], #1
968 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldr r0, [r1, #1]!
969 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldr r0, [pc, #4]
970 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldr.w r0, [pc, #4]
971 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldr r0, [r1, r2]
972 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldr.w r0, [r1, r2]
973 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldr.w r0, [r1, r2, lsl #1]
974 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrb r0, [r1, #1]
975 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrb.w r0, [r1, #1]
976 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrb r0, [r1, #-1]
977 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrb r0, [r1], #1
978 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrb r0, [r1, #1]!
979 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrb.w r0, [pc, #4]
980 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrb r0, [r1, r2]
981 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrb.w r0, [r1, r2]
982 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrb.w r0, [r1, r2, lsl #1]
983 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrbt r0, [r1, #1]
984 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrd r0, r2, [r1]
985 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrd r0, r2, [r1, #-4]
986 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrd r0, r2, [r1], #4
987 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrd r0, r2, [r1, #4]!
988 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrd r0, r2, next
989 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrex r0, [r1]
990 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrex r0, [r1, #4]
991 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrexb r0, [r1]
992 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrexh r0, [r1]
993 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrh r0, [r1, #2]
994 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrh.w r0, [r1, #1]
995 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrh r0, [r1, #-1]
996 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrh r0, [r1], #1
997 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrh r0, [r1, #1]!
998 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrh.w r0, [pc, #4]
999 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrh r0, [r1, r2]
1000 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrh.w r0, [r1, r2]
1001 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrh.w r0, [r1, r2, lsl #1]
1002 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrht r0, [r1, #1]
1003 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrsb.w r0, [r1, #1]
1004 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrsb r0, [r1, #-1]
1005 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrsb r0, [r1], #1
1006 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrsb r0, [r1, #1]!
1007 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrsb.w r0, [pc, #4]
1008 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrsb r0, [r1, r2]
1009 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrsb.w r0, [r1, r2]
1010 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrsb.w r0, [r1, r2, lsl #1]
1011 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrsbt r0, [r1, #1]
1012 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrsh.w r0, [r1, #2]
1013 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrsh r0, [r1, #-1]
1014 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrsh r0, [r1], #1
1015 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrsh r0, [r1, #1]!
1016 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrsh.w r0, [pc, #4]
1017 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrsh r0, [r1, r2]
1018 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrsh.w r0, [r1, r2]
1019 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrsh.w r0, [r1, r2, lsl #1]
1020 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrsht r0, [r1, #1]
1021 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldrt r0, [r1, #1]
1022 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - lsls r0, r1, #1
1023 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - lsl.w r0, r1, #1
1024 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - lsls.w r0, r1, #1
1025 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - lsls r0, r1
1026 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - lsl.w r0, r1, r2
1027 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - lsls.w r0, r1, r2
1028 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - lsrs r0, r1, #1
1029 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - lsr.w r0, r1, #1
1030 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - lsrs.w r0, r1, #1
1031 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - lsrs r0, r1
1032 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - lsr.w r0, r1, r2
1033 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - lsrs.w r0, r1, r2
1034 # CHECK-NEXT: - - - - - 1.00 - - - - - - - mla r0, r1, r2, r3
1035 # CHECK-NEXT: - - - - - 1.00 - - - - - - - mls r0, r1, r2, r3
1036 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - movs r0, #1
1037 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov.w r0, #1
1038 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - movs.w r0, #1
1039 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - movw r0, #1
1040 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov r0, r1
1041 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov.w r0, r1
1042 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - movs.w r0, r1
1043 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - movt r0, #1
1044 # CHECK-NEXT: - - - - - - - - - - - - - mrs r0, apsr
1045 # CHECK-NEXT: - - - - - - - - - - - - - msr apsr_nzcvq, r0
1046 # CHECK-NEXT: - - - - - 1.00 - - - - - - - muls r1, r2, r1
1047 # CHECK-NEXT: - - - - - 1.00 - - - - - - - mul r0, r1, r2
1048 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mvn r0, #1
1049 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mvns r0, #1
1050 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mvns r0, r1
1051 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mvn.w r0, r1
1052 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mvns.w r0, r1
1053 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - mvn.w r0, r1, lsl #1
1054 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - mvns.w r0, r1, lsl #1
1055 # CHECK-NEXT: - - - - - - - - - - - - - nop
1056 # CHECK-NEXT: - - - - - - - - - - - - - nop.w
1057 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - orn r0, r1, #1
1058 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - orns r0, r1, #1
1059 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - orn r0, r1, r2
1060 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - orns r0, r1, r2
1061 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - orn r0, r1, r2, lsl #1
1062 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - orns r0, r1, r2, lsl #1
1063 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - orr r0, r1, #1
1064 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - orrs r0, r1, #1
1065 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - orrs r0, r1
1066 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - orr.w r0, r1, r2
1067 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - orrs.w r0, r1, r2
1068 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - orr.w r0, r1, r2, lsl #1
1069 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - orrs.w r0, r1, r2, lsl #1
1070 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - pkhbt r0, r1, r2
1071 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - pkhbt r0, r1, r2, lsl #1
1072 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - pkhbt r0, r2, r1
1073 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - pkhtb r0, r1, r2, asr #1
1074 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - pop {r0}
1075 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - pop.w {r0, r1}
1076 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - ldr r0, [sp], #4
1077 # CHECK-NEXT: - - - - - - - - - 1.00 - - - push {r0}
1078 # CHECK-NEXT: - - - - - - - - - 1.00 - - - push.w {r0, r1}
1079 # CHECK-NEXT: - - - - - - - - - 1.00 - - - str r0, [sp, #-4]!
1080 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - qadd r0, r1, r2
1081 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - qadd16 r0, r1, r2
1082 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - qadd8 r0, r1, r2
1083 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - qasx r0, r1, r2
1084 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - qdadd r0, r1, r2
1085 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - qdsub r0, r1, r2
1086 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - qsax r0, r1, r2
1087 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - qsub r0, r1, r2
1088 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - qsub16 r0, r1, r2
1089 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - qsub8 r0, r1, r2
1090 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - rbit r0, r1
1091 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - rev r0, r1
1092 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - rev.w r0, r1
1093 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - rev16 r0, r1
1094 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - rev16.w r0, r1
1095 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - revsh r0, r1
1096 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - revsh.w r0, r1
1097 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - ror.w r0, r1, #1
1098 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - rors.w r0, r1, #1
1099 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - rors r0, r1
1100 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - ror.w r0, r1, r2
1101 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - rors.w r0, r1, r2
1102 # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - - - rrx r0, r1
1103 # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - - - rrxs r0, r1
1104 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rsbs r0, r1, #0
1105 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rsb.w r0, r1, #1
1106 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rsbs.w r0, r1, #1
1107 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rsb r0, r1, r2
1108 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rsbs r0, r1, r2
1109 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - rsb r0, r1, r2, lsl #1
1110 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - rsbs r0, r1, r2, lsl #1
1111 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - sadd16 r0, r1, r2
1112 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - sadd8 r0, r1, r2
1113 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - sasx r0, r1, r2
1114 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbc r0, r1, #1
1115 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbcs r0, r1, #1
1116 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbcs r0, r1
1117 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbc.w r0, r1, r2
1118 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbcs.w r0, r1, r2
1119 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - sbc.w r0, r1, r2, lsl #1
1120 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - sbcs.w r0, r1, r2, lsl #1
1121 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - sbfx r0, r1, #1, #2
1122 # CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - sdiv r0, r1, r2
1123 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - sel r0, r1, r2
1124 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - shadd16 r0, r1, r2
1125 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - shadd8 r0, r1, r2
1126 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - shasx r0, r1, r2
1127 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - shsax r0, r1, r2
1128 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - shsub16 r0, r1, r2
1129 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - shsub8 r0, r1, r2
1130 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smlabb r0, r1, r2, r3
1131 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smlabt r0, r1, r2, r3
1132 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smlatb r0, r1, r2, r3
1133 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smlatt r0, r1, r2, r3
1134 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smlad r0, r1, r2, r3
1135 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smladx r0, r1, r2, r3
1136 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smlal r0, r1, r2, r3
1137 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smlalbb r0, r1, r2, r3
1138 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smlalbt r0, r1, r2, r3
1139 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smlaltb r0, r1, r2, r3
1140 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smlaltt r0, r1, r2, r3
1141 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smlald r0, r1, r2, r3
1142 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smlaldx r0, r1, r2, r3
1143 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smlawb r0, r1, r2, r3
1144 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smlawt r0, r1, r2, r3
1145 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smlsd r0, r1, r2, r3
1146 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smlsdx r0, r1, r2, r3
1147 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smlsld r0, r1, r2, r3
1148 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smlsldx r0, r1, r2, r3
1149 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smmla r0, r1, r2, r3
1150 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smmlar r0, r1, r2, r3
1151 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smmls r0, r1, r2, r3
1152 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smmlsr r0, r1, r2, r3
1153 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smmul r0, r1, r2
1154 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smmulr r0, r1, r2
1155 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smuad r0, r1, r2
1156 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smuadx r0, r1, r2
1157 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smulbb r0, r1, r2
1158 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smulbt r0, r1, r2
1159 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smultb r0, r1, r2
1160 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smultt r0, r1, r2
1161 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smull r0, r1, r2, r3
1162 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smulwb r0, r1, r2
1163 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smulwt r0, r1, r2
1164 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smusd r0, r1, r2
1165 # CHECK-NEXT: - - - - - 1.00 - - - - - - - smusdx r0, r1, r2
1166 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - ssat r0, #1, r2
1167 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - ssat r0, #1, r2, lsl #1
1168 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - ssat16 r0, #1, r1
1169 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - ssax r0, r1, r2
1170 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - ssub16 r0, r1, r2
1171 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - ssub8 r0, r1, r2
1172 # CHECK-NEXT: - - - - - - - - - 1.00 - - - stm r0!, {r1}
1173 # CHECK-NEXT: - - - - - - - - - 1.00 - - - stm.w r0, {r1}
1174 # CHECK-NEXT: - - - - - - - - - 1.00 - - - stm.w r0!, {r1}
1175 # CHECK-NEXT: - - - - - - - - - 1.00 - - - stmdb r0, {r1}
1176 # CHECK-NEXT: - - - - - - - - - 1.00 - - - str r1, [r0, #-4]!
1177 # CHECK-NEXT: - - - - - - - - - 1.00 - - - str r0, [r1]
1178 # CHECK-NEXT: - - - - - - - - - 1.00 - - - str r0, [r1, #4]
1179 # CHECK-NEXT: - - - - - - - - - 1.00 - - - str r0, [sp, #4]
1180 # CHECK-NEXT: - - - - - - - - - 1.00 - - - str.w r0, [r1, #1]
1181 # CHECK-NEXT: - - - - - - - - - 1.00 - - - str r0, [r1, #-1]
1182 # CHECK-NEXT: - - - - - - - - - 1.00 - - - str r0, [r1], #1
1183 # CHECK-NEXT: - - - - - - - - - 1.00 - - - str r0, [r1, r2]
1184 # CHECK-NEXT: - - - - - - - - - 1.00 - - - str.w r0, [r1, r2]
1185 # CHECK-NEXT: - - - - - - - - - 1.00 - - - str.w r0, [r1, r2, lsl #1]
1186 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strb r0, [r1]
1187 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strb r0, [r1, #1]
1188 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strb.w r0, [r1, #1]
1189 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strb r0, [r1, #-1]
1190 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strb r0, [r1], #1
1191 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strb r0, [r1, #1]!
1192 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strb r0, [r1, r2]
1193 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strb.w r0, [r1, r2]
1194 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strb.w r0, [r1, r2, lsl #1]
1195 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strbt r0, [r1, #1]
1196 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strd r0, r1, [r2, #4]
1197 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strd r0, r1, [r2], #4
1198 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strd r0, r1, [r2, #4]!
1199 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strex r0, r1, [r2]
1200 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strex r0, r1, [r2, #4]
1201 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strexb r0, r1, [r2]
1202 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strexh r0, r1, [r2]
1203 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strh r0, [r1]
1204 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strh r0, [r1, #2]
1205 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strh.w r0, [r1, #2]
1206 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strh r0, [r1, #-1]
1207 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strh r0, [r1], #1
1208 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strh r0, [r1, #1]!
1209 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strh r0, [r1, r2]
1210 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strh.w r0, [r1, r2]
1211 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strh.w r0, [r1, r2, lsl #1]
1212 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strht r0, [r1, #1]
1213 # CHECK-NEXT: - - - - - - - - - 1.00 - - - strt r0, [r1, #1]
1214 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs r0, r1, #1
1215 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs r0, #1
1216 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub.w r0, r1, #1
1217 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs.w r0, r1, #1
1218 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subw r0, r1, #1
1219 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs r0, r1, r2
1220 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub.w r0, r1, r2
1221 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs.w r0, r1, r2
1222 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - sub.w r0, r1, r2, lsl #1
1223 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - subs.w r0, r1, r2, lsl #1
1224 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub sp, #4
1225 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub.w r0, sp, #1
1226 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs.w r0, sp, #1
1227 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subw r0, sp, #1
1228 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub.w r0, sp, r1
1229 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs.w r0, sp, r1
1230 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - sub.w r0, sp, r1, lsl #1
1231 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - subs.w r0, sp, r1, lsl #1
1232 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - sxtab r0, r1, r2
1233 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - sxtab r0, r1, r2, ror #8
1234 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - sxtab16 r0, r1, r2
1235 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - sxtab16 r0, r1, r2, ror #8
1236 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - sxtah r0, r1, r2
1237 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - sxtah r0, r1, r2, ror #8
1238 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - sxtb r0, r1
1239 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - sxtb.w r0, r1
1240 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - sxtb.w r0, r1, ror #8
1241 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - sxtb16 r0, r1
1242 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - sxtb16 r0, r1, ror #8
1243 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - sxth r0, r1
1244 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - sxth.w r0, r1
1245 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - sxth.w r0, r1, ror #8
1246 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - tbb [r0, r1]
1247 # CHECK-NEXT: - - - 0.50 0.50 - - - - - - - - tbh [r0, r1, lsl #1]
1248 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - teq.w r0, #1
1249 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - teq.w r0, r1
1250 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - teq.w r0, r1, lsl #1
1251 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - tst.w r0, #1
1252 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - tst r0, r1
1253 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - tst.w r0, r1
1254 # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - - tst.w r0, r1, lsl #1
1255 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uadd16 r0, r1, r2
1256 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uadd8 r0, r1, r2
1257 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uasx r0, r1, r2
1258 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - ubfx r0, r1, #1, #2
1259 # CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - udiv r0, r1, r2
1260 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uhadd16 r0, r1, r2
1261 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uhadd8 r0, r1, r2
1262 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uhasx r0, r1, r2
1263 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uhsax r0, r1, r2
1264 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uhsub16 r0, r1, r2
1265 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uhsub8 r0, r1, r2
1266 # CHECK-NEXT: - - - - - 1.00 - - - - - - - umaal r0, r1, r2, r3
1267 # CHECK-NEXT: - - - - - 1.00 - - - - - - - umlal r0, r1, r2, r3
1268 # CHECK-NEXT: - - - - - 1.00 - - - - - - - umull r0, r1, r2, r3
1269 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uqadd16 r0, r1, r2
1270 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uqadd8 r0, r1, r2
1271 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uqasx r0, r1, r2
1272 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uqsax r0, r1, r2
1273 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uqsub16 r0, r1, r2
1274 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uqsub8 r0, r1, r2
1275 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - usad8 r0, r1, r2
1276 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - usada8 r0, r1, r2, r3
1277 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - usat r0, #1, r1
1278 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - usat r0, #1, r1, lsl #1
1279 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - usat16 r0, #1, r1
1280 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - usax r0, r1, r2
1281 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - usub16 r0, r1, r2
1282 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - usub8 r0, r1, r2
1283 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - uxtab r0, r1, r2
1284 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - uxtab r0, r1, r2, ror #8
1285 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - uxtab16 r0, r1, r2
1286 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - uxtab16 r0, r1, r2, ror #8
1287 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - uxtah r0, r1, r2
1288 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 1.00 - - - - - uxtah r0, r1, r2, ror #8
1289 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uxtb r0, r1
1290 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uxtb.w r0, r1
1291 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uxtb.w r0, r1, ror #8
1292 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uxtb16 r0, r1
1293 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uxtb16 r0, r1, ror #8
1294 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uxth r0, r1
1295 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uxth.w r0, r1
1296 # CHECK-NEXT: 0.50 0.50 - - - - 1.00 - - - - - - uxth.w r0, r1, ror #8
1297 # CHECK-NEXT: - - - - - - - - - - - - - wfe
1298 # CHECK-NEXT: - - - - - - - - - - - - - wfi
1299 # CHECK-NEXT: - - - - - - - - - - - - - yield