llvm/llvm/test/tools/llvm-mca/ARM/m7-int.s

# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
# RUN: llvm-mca -mtriple=thumbv7-m.main-none-none-eabi -mcpu=cortex-m7 -instruction-tables < %s | FileCheck %s

adc r0, r1, #0
adcs r0, r1, #0
adcs r0, r1
adc.w r0, r1, r2
adcs.w r0, r1, r2
adc.w r0, r1, r2, LSL #1
adcs.w r0, r1, r2, LSL #1
adds r0, r1, #1
adds r0, #42
add.w r0, r1, #1
adds.w r0, r1, #1
addw r0, r1, #1
adds r0, r1, r2
add r0, r1
add.w r0, r1, r2
adds.w r0, r1, r2
add.w r0, r1, r2, LSL #1
adds.w r0, r1, r2, LSL #1
add r0, sp, #1
add sp, sp, #1
add.w r0, sp, #1
adds.w r0, sp, #1
addw r0, sp, #1
add r0, sp, r0
add sp, r1
add.w r0, sp, r1
adds.w r0, sp, r1
add.w r0, sp, r1, LSL #1
adds.w r0, sp, r1, LSL #1
adr r0, #-6
and r0, r1, #1
ands r0, r1, #1
ands r1, r0
and.w r0, r1, r2
ands.w r0, r1, r2
and.w r0, r1, r2, LSL #1
ands.w r0, r1, r2, LSL #1
asrs r0, r1, #1
asr.w r0, r1, #1
asrs.w r0, r1, #1
asrs r0, r1
asr.w r0, r1, r2
asrs.w r0, r1, r2
bfc r0, #1, #2
bfi r0, r1, #1, #2
bic r0, r1, #1
bics r0, r1, #1
bics r0, r1
bic.w r0, r1, r2
bics.w r0, r1, r2
bic.w r0, r1, r2, LSL #1
bics.w r0, r1, r2, LSL #1
bkpt #1
clrex
clz r0, r1
cmn r0, #1
cmn r0, r1
cmn.w r0, r1
cmn.w r0, r1, LSL #1
cmp r0, #1
cmp.w r0, #1
cmp r0, r1
cmp r0, r10
cmp.w r0, r1
cmp.w r0, r1, LSL #1
#cpsie if
#dbg #1
dmb
dsb
eor r0, r1, #1
eors r0, r1, #1
eors r0, r1
eor.w r0, r1, r2
eors.w r0, r1, r2
eor.w r0, r1, r2, LSL #1
eors.w r0, r1, r2, LSL #1
isb
#it eq
#adceq r0, r1, #1
ldm r0!, {r1}
ldm r0, {r1}
ldm.w r0, {r1}
ldm.w r0!, {r1}
ldmdb r0, {r1}
ldmdb r0!, {r1}
ldr r0, [r1, #4]
ldr r0, [sp, #4]
ldr.w r0, [r1, #4]
ldr r0, [r1, #-1]
ldr r0, [r1], #1
ldr r0, [r1, #1]!
ldr r0, #4
ldr.w r0, #4
ldr r0, [r1, r2]
ldr.w r0, [r1, r2]
ldr.w r0, [r1, r2, LSL #1]
ldrb r0, [r1, #1]
ldrb.w r0, [r1, #1]
ldrb r0, [r1, #-1]
ldrb r0, [r1], #1
ldrb r0, [r1, #1]!
ldrb r0, #4
ldrb r0, [r1, r2]
ldrb.w r0, [r1, r2]
ldrb.w r0, [r1, r2, LSL #1]
ldrbt r0, [r1, #1]
ldrd r0, r2, [r1]
ldrd r0, r2, [r1, #-4]
ldrd r0, r2, [r1], #4
ldrd r0, r2, [r1, #4]!
ldrd r0, r2, next
next:
ldrex r0, [r1]
ldrex r0, [r1, #4]
ldrexb r0, [r1]
ldrexh r0, [r1]
ldrh r0, [r1, #2]
ldrh.w r0, [r1, #1]
ldrh r0, [r1, #-1]
ldrh r0, [r1], #1
ldrh r0, [r1, #1]!
ldrh r0, #4
ldrh r0, [r1, r2]
ldrh.w r0, [r1, r2]
ldrh.w r0, [r1, r2, LSL #1]
ldrht r0, [r1, #1]
ldrsb r0, [r1, #1]
ldrsb r0, [r1, #-1]
ldrsb r0, [r1], #1
ldrsb r0, [r1, #1]!
ldrsb r0, #4
ldrsb r0, [r1, r2]
ldrsb.w r0, [r1, r2]
ldrsb.w r0, [r1, r2, LSL #1]
ldrsbt r0, [r1, #1]
ldrsh r0, [r1, #2]
ldrsh r0, [r1, #-1]
ldrsh r0, [r1], #1
ldrsh r0, [r1, #1]!
ldrsh r0, #4
ldrsh r0, [r1, r2]
ldrsh.w r0, [r1, r2]
ldrsh.w r0, [r1, r2, LSL #1]
ldrsht r0, [r1, #1]
ldrt r0, [r1, #1]
lsls r0, r1, #1
lsl.w r0, r1, #1
lsls.w r0, r1, #1
lsls r0, r1
lsl.w r0, r1, r2
lsls.w r0, r1, r2
lsrs r0, r1, #1
lsr.w r0, r1, #1
lsrs.w r0, r1, #1
lsrs r0, r1
lsr.w r0, r1, r2
lsrs.w r0, r1, r2
mla r0, r1, r2, r3
mls r0, r1, r2, r3
movs r0, #1
mov.w r0, #1
movs.w r0, #1
movw r0, #1
mov r0, r1
#movs r0, r1
mov.w r0, r1
movs.w r0, r1
movt r0, #1
mrs r0, apsr
msr apsr, r0
muls r1, r2, r1
mul r0, r1, r2
mvn r0, #1
mvns r0, #1
mvns r0, r1
mvn.w r0, r1
mvns.w r0, r1
mvn.w r0, r1, LSL #1
mvns.w r0, r1, LSL #1
nop
nop.w
orn r0, r1, #1
orns r0, r1, #1
orn r0, r1, r2
orns r0, r1, r2
orn r0, r1, r2, LSL #1
orns r0, r1, r2, LSL #1
orr r0, r1, #1
orrs r0, r1, #1
orrs r0, r1
orr r0, r1, r2
orrs r0, r1, r2
orr r0, r1, r2, LSL #1
orrs r0, r1, r2, LSL #1
pkhbt r0, r1, r2
pkhbt r0, r1, r2, LSL #1
pkhtb r0, r1, r2
pkhtb r0, r1, r2, ASR #1
pop { r0 }
pop.w { r0, r1 }
pop.w { r0 }
push { r0 }
push.w { r0, r1 }
push.w { r0 }
qadd r0, r1, r2
qadd16 r0, r1, r2
qadd8 r0, r1, r2
qasx r0, r1, r2
qdadd r0, r1, r2
qdsub r0, r1, r2
qsax r0, r1, r2
qsub r0, r1, r2
qsub16 r0, r1, r2
qsub8 r0, r1, r2
rbit r0, r1
rev r0, r1
rev.w r0, r1
rev16 r0, r1
rev16.w r0, r1
revsh r0, r1
revsh.w r0, r1
ror r0, r1, #1
rors r0, r1, #1
rors r0, r1
ror.w r0, r1, r2
rors.w r0, r1, r2
rrx r0, r1
rrxs r0, r1
rsbs r0, r1, #0
rsb.w r0, r1, #1
rsbs.w r0, r1, #1
rsb r0, r1, r2
rsbs r0, r1, r2
rsb r0, r1, r2, LSL #1
rsbs r0, r1, r2, LSL #1
sadd16 r0, r1, r2
sadd8 r0, r1, r2
sasx r0, r1, r2
sbc r0, r1, #1
sbcs r0, r1, #1
sbcs r0, r1
sbc r0, r1, r2
sbcs r0, r1, r2
sbc r0, r1, r2, LSL #1
sbcs r0, r1, r2, LSL #1
sbfx r0, r1, #1, #2
sdiv r0, r1, r2
sel r0, r1, r2
#sev
shadd16 r0, r1, r2
shadd8 r0, r1, r2
shasx r0, r1, r2
shsax r0, r1, r2
shsub16 r0, r1, r2
shsub8 r0, r1, r2
smlabb r0, r1, r2, r3
smlabt r0, r1, r2, r3
smlatb r0, r1, r2, r3
smlatt r0, r1, r2, r3
smlad r0, r1, r2, r3
smladx r0, r1, r2, r3
smlal r0, r1, r2, r3
smlalbb r0, r1, r2, r3
smlalbt r0, r1, r2, r3
smlaltb r0, r1, r2, r3
smlaltt r0, r1, r2, r3
smlald r0, r1, r2, r3
smlaldx r0, r1, r2, r3
smlawb r0, r1, r2, r3
smlawt r0, r1, r2, r3
smlsd r0, r1, r2, r3
smlsdx r0, r1, r2, r3
smlsld r0, r1, r2, r3
smlsldx r0, r1, r2, r3
smmla r0, r1, r2, r3
smmlar r0, r1, r2, r3
smmls r0, r1, r2, r3
smmlsr r0, r1, r2, r3
smmul r0, r1, r2
smmulr r0, r1, r2
smuad r0, r1, r2
smuadx r0, r1, r2
smulbb r0, r1, r2
smulbt r0, r1, r2
smultb r0, r1, r2
smultt r0, r1, r2
smull r0, r1, r2, r3
smulwb r0, r1, r2
smulwt r0, r1, r2
smusd r0, r1, r2
smusdx r0, r1, r2
ssat r0, #1, r2
ssat r0, #1, r2, LSL #1
ssat16 r0, #1, r1
ssax r0, r1, r2
ssub16 r0, r1, r2
ssub8 r0, r1, r2
stm r0!, { r1 }
stm.w r0, { r1 }
stm.w r0!, { r1 }
stmdb r0, { r1 }
stmdb r0!, { r1 }
str r0, [ r1 ]
str r0, [ r1, #4 ]
str r0, [ sp, #4 ]
str.w r0, [ r1, #1 ]
str r0, [ r1, #-1 ]
str r0, [ r1 ], #1
#str r0, [ r1, #1 ]!
str r0, [ r1, r2 ]
str.w r0, [ r1, r2 ]
str.w r0, [ r1, r2, LSL #1 ]
strb r0, [ r1 ]
strb r0, [ r1, #1 ]
strb.w r0, [ r1, #1 ]
strb r0, [ r1, #-1 ]
strb r0, [ r1 ], #1
strb r0, [ r1, #1 ]!
strb r0, [ r1, r2 ]
strb.w r0, [ r1, r2 ]
strb.w r0, [ r1, r2, LSL #1 ]
strbt r0, [ r1, #1 ]
strd r0, r1, [ r2, #4 ]
strd r0, r1, [ r2 ], #4
strd r0, r1, [ r2, #4 ]!
strex r0, r1, [ r2 ]
strex r0, r1, [ r2, #4 ]
strexb r0, r1, [ r2 ]
strexh r0, r1, [ r2 ]
strh r0, [ r1 ]
strh r0, [ r1, #2 ]
strh.w r0, [ r1, #2 ]
strh r0, [ r1, #-1 ]
strh r0, [ r1 ], #1
strh r0, [ r1, #1 ]!
strh r0, [ r1, r2 ]
strh.w r0, [ r1, r2 ]
strh.w r0, [ r1, r2, LSL #1 ]
strht r0, [r1, #1 ]
strt r0, [r1, #1 ]
subs r0, r1, #1
subs r0, #1
sub.w r0, r1, #1
subs.w r0, r1, #1
subw r0, r1, #1
subs r0, r1, r2
sub.w r0, r1, r2
subs.w r0, r1, r2
sub.w r0, r1, r2, LSL #1
subs.w r0, r1, r2, LSL #1
sub sp, sp, #4
sub.w r0, sp, #1
subs.w r0, sp, #1
subw r0, sp, #1
sub r0, sp, r1
subs r0, sp, r1
sub r0, sp, r1, LSL #1
subs r0, sp, r1, LSL #1
#svc #1		; treated as a call
sxtab r0, r1, r2
sxtab r0, r1, r2, ROR #8
sxtab16 r0, r1, r2
sxtab16 r0, r1, r2, ROR #8
sxtah r0, r1, r2
sxtah r0, r1, r2, ROR #8
sxtb r0, r1
sxtb.w r0, r1
sxtb.w r0, r1, ROR #8
sxtb16 r0, r1
sxtb16 r0, r1, ROR #8
sxth r0, r1
sxth.w r0, r1
sxth.w r0, r1, ROR #8
tbb [r0, r1]
tbh [r0, r1, LSL #1]
teq r0, #1
teq r0, r1
teq r0, r1, LSL #1
tst r0, #1
tst r0, r1
tst.w r0, r1
tst.w r0, r1, LSL #1
uadd16 r0, r1, r2
uadd8 r0, r1, r2
uasx r0, r1, r2
ubfx r0, r1, #1, #2
#udf #1
udiv r0, r1, r2
uhadd16 r0, r1, r2
uhadd8 r0, r1, r2
uhasx r0, r1, r2
uhsax r0, r1, r2
uhsub16 r0, r1, r2
uhsub8 r0, r1, r2
umaal r0, r1, r2, r3
umlal r0, r1, r2, r3
umull r0, r1, r2, r3
uqadd16 r0, r1, r2
uqadd8 r0, r1, r2
uqasx r0, r1, r2
uqsax r0, r1, r2
uqsub16 r0, r1, r2
uqsub8 r0, r1, r2
usad8 r0, r1, r2
usada8 r0, r1, r2, r3
usat r0, #1, r1
usat r0, #1, r1, LSL #1
usat16 r0, #1, r1
usax r0, r1, r2
usub16 r0, r1, r2
usub8 r0, r1, r2
uxtab r0, r1, r2
uxtab r0, r1, r2, ROR #8
uxtab16 r0, r1, r2
uxtab16 r0, r1, r2, ROR #8
uxtah r0, r1, r2
uxtah r0, r1, r2, ROR #8
uxtb r0, r1
uxtb.w r0, r1
uxtb.w r0, r1, ROR #8
uxtb16 r0, r1
uxtb16 r0, r1, ROR #8
uxth r0, r1
uxth.w r0, r1
uxth.w r0, r1, ROR #8
wfe
wfi
yield

# CHECK:      Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
# CHECK-NEXT: [6]: HasSideEffects (U)

# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
# CHECK-NEXT:  1      1     0.50                        adc	r0, r1, #0
# CHECK-NEXT:  1      1     0.50                        adcs	r0, r1, #0
# CHECK-NEXT:  1      1     0.50                  U     adcs	r0, r1
# CHECK-NEXT:  1      1     0.50                        adc.w	r0, r1, r2
# CHECK-NEXT:  1      1     0.50                        adcs.w	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        adc.w	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      2     1.00                        adcs.w	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      1     0.50                        adds	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        adds	r0, #42
# CHECK-NEXT:  1      1     0.50                        add.w	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        adds.w	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        addw	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        adds	r0, r1, r2
# CHECK-NEXT:  1      1     0.50                        add	r0, r1
# CHECK-NEXT:  1      1     0.50                        add.w	r0, r1, r2
# CHECK-NEXT:  1      1     0.50                        adds.w	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        add.w	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      2     1.00                        adds.w	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      1     0.50                        add.w	r0, sp, #1
# CHECK-NEXT:  1      1     0.50                  U     add.w	sp, sp, #1
# CHECK-NEXT:  1      1     0.50                        add.w	r0, sp, #1
# CHECK-NEXT:  1      1     0.50                        adds.w	r0, sp, #1
# CHECK-NEXT:  1      1     0.50                        addw	r0, sp, #1
# CHECK-NEXT:  1      1     0.50                  U     add	r0, sp, r0
# CHECK-NEXT:  1      1     0.50                  U     add	sp, r1
# CHECK-NEXT:  1      1     0.50                        add.w	r0, sp, r1
# CHECK-NEXT:  1      1     0.50                        adds.w	r0, sp, r1
# CHECK-NEXT:  1      2     1.00                        add.w	r0, sp, r1, lsl #1
# CHECK-NEXT:  1      2     1.00                        adds.w	r0, sp, r1, lsl #1
# CHECK-NEXT:  1      1     0.50                  U     adr.w	r0, #-6
# CHECK-NEXT:  1      1     0.50                        and	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        ands	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        ands	r1, r0
# CHECK-NEXT:  1      1     0.50                        and.w	r0, r1, r2
# CHECK-NEXT:  1      1     0.50                        ands.w	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        and.w	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      1     1.00                        ands.w	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      1     1.00                        asrs	r0, r1, #1
# CHECK-NEXT:  1      1     1.00                        asr.w	r0, r1, #1
# CHECK-NEXT:  1      1     1.00                        asrs.w	r0, r1, #1
# CHECK-NEXT:  1      1     1.00                        asrs	r0, r1
# CHECK-NEXT:  1      1     1.00                        asr.w	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        asrs.w	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        bfc	r0, #1, #2
# CHECK-NEXT:  1      1     1.00                        bfi	r0, r1, #1, #2
# CHECK-NEXT:  1      1     0.50                        bic	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        bics	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        bics	r0, r1
# CHECK-NEXT:  1      1     0.50                        bic.w	r0, r1, r2
# CHECK-NEXT:  1      1     0.50                        bics.w	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        bic.w	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      2     1.00                        bics.w	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      3     0.50                  U     bkpt	#1
# CHECK-NEXT:  1      3     0.50    *      *      U     clrex
# CHECK-NEXT:  1      1     0.50                        clz	r0, r1
# CHECK-NEXT:  1      1     0.50                        cmn.w	r0, #1
# CHECK-NEXT:  1      1     0.50                        cmn	r0, r1
# CHECK-NEXT:  1      1     0.50                        cmn.w	r0, r1
# CHECK-NEXT:  1      2     1.00                        cmn.w	r0, r1, lsl #1
# CHECK-NEXT:  1      1     0.50                        cmp	r0, #1
# CHECK-NEXT:  1      1     0.50                        cmp.w	r0, #1
# CHECK-NEXT:  1      1     0.50                        cmp	r0, r1
# CHECK-NEXT:  1      1     0.50                  U     cmp	r0, r10
# CHECK-NEXT:  1      1     0.50                        cmp.w	r0, r1
# CHECK-NEXT:  1      2     1.00                        cmp.w	r0, r1, lsl #1
# CHECK-NEXT:  1      3     0.50    *      *      U     dmb	sy
# CHECK-NEXT:  1      3     0.50    *      *      U     dsb	sy
# CHECK-NEXT:  1      1     0.50                        eor	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        eors	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        eors	r0, r1
# CHECK-NEXT:  1      1     0.50                        eor.w	r0, r1, r2
# CHECK-NEXT:  1      1     0.50                        eors.w	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        eor.w	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      2     1.00                        eors.w	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      3     0.50    *      *      U     isb	sy
# CHECK-NEXT:  1      2     0.50    *                   ldm	r0!, {r1}
# CHECK-NEXT:  1      2     0.50    *                   ldm.w	r0, {r1}
# CHECK-NEXT:  1      2     0.50    *                   ldm.w	r0, {r1}
# CHECK-NEXT:  1      2     0.50    *                   ldr	r1, [r0], #4
# CHECK-NEXT:  1      2     0.50    *                   ldmdb	r0, {r1}
# CHECK-NEXT:  1      2     0.50    *                   ldmdb	r0!, {r1}
# CHECK-NEXT:  1      2     0.50    *                   ldr	r0, [r1, #4]
# CHECK-NEXT:  1      2     0.50    *                   ldr	r0, [sp, #4]
# CHECK-NEXT:  1      2     0.50    *                   ldr.w	r0, [r1, #4]
# CHECK-NEXT:  1      2     0.50    *                   ldr	r0, [r1, #-1]
# CHECK-NEXT:  1      2     0.50    *                   ldr	r0, [r1], #1
# CHECK-NEXT:  1      2     0.50    *                   ldr	r0, [r1, #1]!
# CHECK-NEXT:  1      1     0.50    *                   ldr	r0, [pc, #4]
# CHECK-NEXT:  1      1     0.50    *                   ldr.w	r0, [pc, #4]
# CHECK-NEXT:  1      2     0.50    *                   ldr	r0, [r1, r2]
# CHECK-NEXT:  1      2     0.50    *                   ldr.w	r0, [r1, r2]
# CHECK-NEXT:  1      2     0.50    *                   ldr.w	r0, [r1, r2, lsl #1]
# CHECK-NEXT:  1      3     0.50    *                   ldrb	r0, [r1, #1]
# CHECK-NEXT:  1      3     0.50    *                   ldrb.w	r0, [r1, #1]
# CHECK-NEXT:  1      3     0.50    *                   ldrb	r0, [r1, #-1]
# CHECK-NEXT:  1      3     0.50    *                   ldrb	r0, [r1], #1
# CHECK-NEXT:  1      3     0.50    *                   ldrb	r0, [r1, #1]!
# CHECK-NEXT:  1      2     0.50    *                   ldrb.w	r0, [pc, #4]
# CHECK-NEXT:  1      3     0.50    *                   ldrb	r0, [r1, r2]
# CHECK-NEXT:  1      3     0.50    *                   ldrb.w	r0, [r1, r2]
# CHECK-NEXT:  1      3     0.50    *                   ldrb.w	r0, [r1, r2, lsl #1]
# CHECK-NEXT:  1      3     0.50                  U     ldrbt	r0, [r1, #1]
# CHECK-NEXT:  1      2     0.50    *                   ldrd	r0, r2, [r1]
# CHECK-NEXT:  1      2     0.50    *                   ldrd	r0, r2, [r1, #-4]
# CHECK-NEXT:  1      2     0.50    *                   ldrd	r0, r2, [r1], #4
# CHECK-NEXT:  1      2     0.50    *                   ldrd	r0, r2, [r1, #4]!
# CHECK-NEXT:  1      2     0.50    *                   ldrd	r0, r2, next
# CHECK-NEXT:  1      2     0.50    *      *      U     ldrex	r0, [r1]
# CHECK-NEXT:  1      2     0.50    *      *      U     ldrex	r0, [r1, #4]
# CHECK-NEXT:  1      3     0.50    *      *      U     ldrexb	r0, [r1]
# CHECK-NEXT:  1      3     0.50    *      *      U     ldrexh	r0, [r1]
# CHECK-NEXT:  1      3     0.50    *                   ldrh	r0, [r1, #2]
# CHECK-NEXT:  1      3     0.50    *                   ldrh.w	r0, [r1, #1]
# CHECK-NEXT:  1      3     0.50    *                   ldrh	r0, [r1, #-1]
# CHECK-NEXT:  1      3     0.50    *                   ldrh	r0, [r1], #1
# CHECK-NEXT:  1      3     0.50    *                   ldrh	r0, [r1, #1]!
# CHECK-NEXT:  1      2     0.50    *                   ldrh.w	r0, [pc, #4]
# CHECK-NEXT:  1      3     0.50    *                   ldrh	r0, [r1, r2]
# CHECK-NEXT:  1      3     0.50    *                   ldrh.w	r0, [r1, r2]
# CHECK-NEXT:  1      3     0.50    *                   ldrh.w	r0, [r1, r2, lsl #1]
# CHECK-NEXT:  1      3     0.50                  U     ldrht	r0, [r1, #1]
# CHECK-NEXT:  1      3     0.50    *                   ldrsb.w	r0, [r1, #1]
# CHECK-NEXT:  1      3     0.50    *                   ldrsb	r0, [r1, #-1]
# CHECK-NEXT:  1      3     0.50    *                   ldrsb	r0, [r1], #1
# CHECK-NEXT:  1      3     0.50    *                   ldrsb	r0, [r1, #1]!
# CHECK-NEXT:  1      2     0.50    *                   ldrsb.w	r0, [pc, #4]
# CHECK-NEXT:  1      3     0.50    *                   ldrsb	r0, [r1, r2]
# CHECK-NEXT:  1      3     0.50    *                   ldrsb.w	r0, [r1, r2]
# CHECK-NEXT:  1      3     0.50    *                   ldrsb.w	r0, [r1, r2, lsl #1]
# CHECK-NEXT:  1      3     0.50                  U     ldrsbt	r0, [r1, #1]
# CHECK-NEXT:  1      3     0.50    *                   ldrsh.w	r0, [r1, #2]
# CHECK-NEXT:  1      3     0.50    *                   ldrsh	r0, [r1, #-1]
# CHECK-NEXT:  1      3     0.50    *                   ldrsh	r0, [r1], #1
# CHECK-NEXT:  1      3     0.50    *                   ldrsh	r0, [r1, #1]!
# CHECK-NEXT:  1      2     0.50    *                   ldrsh.w	r0, [pc, #4]
# CHECK-NEXT:  1      3     0.50    *                   ldrsh	r0, [r1, r2]
# CHECK-NEXT:  1      3     0.50    *                   ldrsh.w	r0, [r1, r2]
# CHECK-NEXT:  1      3     0.50    *                   ldrsh.w	r0, [r1, r2, lsl #1]
# CHECK-NEXT:  1      3     0.50                  U     ldrsht	r0, [r1, #1]
# CHECK-NEXT:  1      2     0.50                  U     ldrt	r0, [r1, #1]
# CHECK-NEXT:  1      1     1.00                        lsls	r0, r1, #1
# CHECK-NEXT:  1      1     1.00                        lsl.w	r0, r1, #1
# CHECK-NEXT:  1      1     1.00                        lsls.w	r0, r1, #1
# CHECK-NEXT:  1      1     1.00                        lsls	r0, r1
# CHECK-NEXT:  1      1     1.00                        lsl.w	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        lsls.w	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        lsrs	r0, r1, #1
# CHECK-NEXT:  1      1     1.00                        lsr.w	r0, r1, #1
# CHECK-NEXT:  1      1     1.00                        lsrs.w	r0, r1, #1
# CHECK-NEXT:  1      1     1.00                        lsrs	r0, r1
# CHECK-NEXT:  1      1     1.00                        lsr.w	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        lsrs.w	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        mla	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        mls	r0, r1, r2, r3
# CHECK-NEXT:  1      1     0.50                        movs	r0, #1
# CHECK-NEXT:  1      1     0.50                        mov.w	r0, #1
# CHECK-NEXT:  1      1     0.50                        movs.w	r0, #1
# CHECK-NEXT:  1      1     0.50                        movw	r0, #1
# CHECK-NEXT:  1      1     0.50                        mov	r0, r1
# CHECK-NEXT:  1      1     0.50                        mov.w	r0, r1
# CHECK-NEXT:  1      1     0.50                        movs.w	r0, r1
# CHECK-NEXT:  1      1     0.50                        movt	r0, #1
# CHECK-NEXT:  1      3     0.50                  U     mrs	r0, apsr
# CHECK-NEXT:  1      3     0.50                  U     msr	apsr_nzcvq, r0
# CHECK-NEXT:  1      2     1.00                        muls	r1, r2, r1
# CHECK-NEXT:  1      2     1.00                        mul	r0, r1, r2
# CHECK-NEXT:  1      1     0.50                        mvn	r0, #1
# CHECK-NEXT:  1      1     0.50                        mvns	r0, #1
# CHECK-NEXT:  1      1     0.50                        mvns	r0, r1
# CHECK-NEXT:  1      1     0.50                        mvn.w	r0, r1
# CHECK-NEXT:  1      1     0.50                        mvns.w	r0, r1
# CHECK-NEXT:  1      2     1.00                        mvn.w	r0, r1, lsl #1
# CHECK-NEXT:  1      2     1.00                        mvns.w	r0, r1, lsl #1
# CHECK-NEXT:  1      3     0.50    *      *      U     nop
# CHECK-NEXT:  1      3     0.50    *      *      U     nop.w
# CHECK-NEXT:  1      1     0.50                        orn	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        orns	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        orn	r0, r1, r2
# CHECK-NEXT:  1      1     0.50                        orns	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        orn	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      2     1.00                        orns	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      1     0.50                        orr	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        orrs	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        orrs	r0, r1
# CHECK-NEXT:  1      1     0.50                        orr.w	r0, r1, r2
# CHECK-NEXT:  1      1     0.50                        orrs.w	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        orr.w	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      2     1.00                        orrs.w	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      2     1.00                        pkhbt	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        pkhbt	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      2     1.00                        pkhbt	r0, r2, r1
# CHECK-NEXT:  1      2     1.00                        pkhtb	r0, r1, r2, asr #1
# CHECK-NEXT:  1      2     0.50    *             U     pop	{r0}
# CHECK-NEXT:  1      2     0.50    *                   pop.w	{r0, r1}
# CHECK-NEXT:  1      2     0.50    *                   ldr	r0, [sp], #4
# CHECK-NEXT:  1      3     1.00           *      U     push	{r0}
# CHECK-NEXT:  1      3     1.00           *            push.w	{r0, r1}
# CHECK-NEXT:  1      3     1.00           *            str	r0, [sp, #-4]!
# CHECK-NEXT:  1      2     1.00                        qadd	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        qadd16	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        qadd8	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        qasx	r0, r1, r2
# CHECK-NEXT:  1      3     1.00                        qdadd	r0, r1, r2
# CHECK-NEXT:  1      3     1.00                        qdsub	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        qsax	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        qsub	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        qsub16	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        qsub8	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        rbit	r0, r1
# CHECK-NEXT:  1      1     1.00                        rev	r0, r1
# CHECK-NEXT:  1      1     1.00                        rev.w	r0, r1
# CHECK-NEXT:  1      1     1.00                        rev16	r0, r1
# CHECK-NEXT:  1      1     1.00                        rev16.w	r0, r1
# CHECK-NEXT:  1      1     1.00                        revsh	r0, r1
# CHECK-NEXT:  1      1     1.00                        revsh.w	r0, r1
# CHECK-NEXT:  1      1     1.00                        ror.w	r0, r1, #1
# CHECK-NEXT:  1      1     1.00                        rors.w	r0, r1, #1
# CHECK-NEXT:  1      1     1.00                        rors	r0, r1
# CHECK-NEXT:  1      1     1.00                        ror.w	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        rors.w	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        rrx	r0, r1
# CHECK-NEXT:  1      2     1.00                        rrxs	r0, r1
# CHECK-NEXT:  1      1     0.50                        rsbs	r0, r1, #0
# CHECK-NEXT:  1      1     0.50                        rsb.w	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        rsbs.w	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                  U     rsb	r0, r1, r2
# CHECK-NEXT:  1      1     0.50                  U     rsbs	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        rsb	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      2     1.00                        rsbs	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      1     1.00    *      *      U     sadd16	r0, r1, r2
# CHECK-NEXT:  1      1     1.00    *      *      U     sadd8	r0, r1, r2
# CHECK-NEXT:  1      1     1.00    *      *      U     sasx	r0, r1, r2
# CHECK-NEXT:  1      1     0.50                        sbc	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        sbcs	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                  U     sbcs	r0, r1
# CHECK-NEXT:  1      1     0.50                        sbc.w	r0, r1, r2
# CHECK-NEXT:  1      1     0.50                        sbcs.w	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        sbc.w	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      2     1.00                        sbcs.w	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      2     1.00                        sbfx	r0, r1, #1, #2
# CHECK-NEXT:  2      7     1.00                        sdiv	r0, r1, r2
# CHECK-NEXT:  1      1     1.00    *                   sel	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        shadd16	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        shadd8	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        shasx	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        shsax	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        shsub16	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        shsub8	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        smlabb	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smlabt	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smlatb	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smlatt	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smlad	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smladx	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smlal	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smlalbb	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smlalbt	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smlaltb	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smlaltt	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smlald	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smlaldx	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smlawb	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smlawt	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smlsd	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smlsdx	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smlsld	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smlsldx	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smmla	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smmlar	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                  U     smmls	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smmlsr	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smmul	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        smmulr	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        smuad	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        smuadx	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        smulbb	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        smulbt	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        smultb	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        smultt	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        smull	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        smulwb	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        smulwt	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        smusd	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        smusdx	r0, r1, r2
# CHECK-NEXT:  1      3     1.00                        ssat	r0, #1, r2
# CHECK-NEXT:  1      3     1.00                        ssat	r0, #1, r2, lsl #1
# CHECK-NEXT:  1      3     1.00                        ssat16	r0, #1, r1
# CHECK-NEXT:  1      1     1.00    *      *      U     ssax	r0, r1, r2
# CHECK-NEXT:  1      1     1.00    *      *      U     ssub16	r0, r1, r2
# CHECK-NEXT:  1      1     1.00    *      *      U     ssub8	r0, r1, r2
# CHECK-NEXT:  1      3     1.00           *            stm	r0!, {r1}
# CHECK-NEXT:  1      3     1.00           *            stm.w	r0, {r1}
# CHECK-NEXT:  1      3     1.00           *            stm.w	r0!, {r1}
# CHECK-NEXT:  1      3     1.00           *            stmdb	r0, {r1}
# CHECK-NEXT:  1      3     1.00           *            str	r1, [r0, #-4]!
# CHECK-NEXT:  1      3     1.00           *            str	r0, [r1]
# CHECK-NEXT:  1      3     1.00           *            str	r0, [r1, #4]
# CHECK-NEXT:  1      3     1.00           *            str	r0, [sp, #4]
# CHECK-NEXT:  1      3     1.00           *            str.w	r0, [r1, #1]
# CHECK-NEXT:  1      3     1.00           *            str	r0, [r1, #-1]
# CHECK-NEXT:  1      3     1.00           *            str	r0, [r1], #1
# CHECK-NEXT:  1      3     1.00           *            str	r0, [r1, r2]
# CHECK-NEXT:  1      3     1.00           *            str.w	r0, [r1, r2]
# CHECK-NEXT:  1      3     1.00           *            str.w	r0, [r1, r2, lsl #1]
# CHECK-NEXT:  1      3     1.00           *            strb	r0, [r1]
# CHECK-NEXT:  1      3     1.00           *            strb	r0, [r1, #1]
# CHECK-NEXT:  1      3     1.00           *            strb.w	r0, [r1, #1]
# CHECK-NEXT:  1      3     1.00           *            strb	r0, [r1, #-1]
# CHECK-NEXT:  1      3     1.00           *            strb	r0, [r1], #1
# CHECK-NEXT:  1      3     1.00           *            strb	r0, [r1, #1]!
# CHECK-NEXT:  1      3     1.00           *            strb	r0, [r1, r2]
# CHECK-NEXT:  1      3     1.00           *            strb.w	r0, [r1, r2]
# CHECK-NEXT:  1      3     1.00           *            strb.w	r0, [r1, r2, lsl #1]
# CHECK-NEXT:  1      3     1.00                  U     strbt	r0, [r1, #1]
# CHECK-NEXT:  1      3     1.00           *            strd	r0, r1, [r2, #4]
# CHECK-NEXT:  1      3     1.00           *            strd	r0, r1, [r2], #4
# CHECK-NEXT:  1      3     1.00           *            strd	r0, r1, [r2, #4]!
# CHECK-NEXT:  1      3     1.00    *      *      U     strex	r0, r1, [r2]
# CHECK-NEXT:  1      3     1.00    *      *      U     strex	r0, r1, [r2, #4]
# CHECK-NEXT:  1      3     1.00    *      *      U     strexb	r0, r1, [r2]
# CHECK-NEXT:  1      3     1.00    *      *      U     strexh	r0, r1, [r2]
# CHECK-NEXT:  1      3     1.00           *            strh	r0, [r1]
# CHECK-NEXT:  1      3     1.00           *            strh	r0, [r1, #2]
# CHECK-NEXT:  1      3     1.00           *            strh.w	r0, [r1, #2]
# CHECK-NEXT:  1      3     1.00           *            strh	r0, [r1, #-1]
# CHECK-NEXT:  1      3     1.00           *            strh	r0, [r1], #1
# CHECK-NEXT:  1      3     1.00           *            strh	r0, [r1, #1]!
# CHECK-NEXT:  1      3     1.00           *            strh	r0, [r1, r2]
# CHECK-NEXT:  1      3     1.00           *            strh.w	r0, [r1, r2]
# CHECK-NEXT:  1      3     1.00           *            strh.w	r0, [r1, r2, lsl #1]
# CHECK-NEXT:  1      3     1.00                  U     strht	r0, [r1, #1]
# CHECK-NEXT:  1      3     1.00                  U     strt	r0, [r1, #1]
# CHECK-NEXT:  1      1     0.50                        subs	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        subs	r0, #1
# CHECK-NEXT:  1      1     0.50                        sub.w	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        subs.w	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        subw	r0, r1, #1
# CHECK-NEXT:  1      1     0.50                        subs	r0, r1, r2
# CHECK-NEXT:  1      1     0.50                        sub.w	r0, r1, r2
# CHECK-NEXT:  1      1     0.50                        subs.w	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        sub.w	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      2     1.00                        subs.w	r0, r1, r2, lsl #1
# CHECK-NEXT:  1      1     0.50                  U     sub	sp, #4
# CHECK-NEXT:  1      1     0.50                        sub.w	r0, sp, #1
# CHECK-NEXT:  1      1     0.50                        subs.w	r0, sp, #1
# CHECK-NEXT:  1      1     0.50                        subw	r0, sp, #1
# CHECK-NEXT:  1      1     0.50                        sub.w	r0, sp, r1
# CHECK-NEXT:  1      1     0.50                        subs.w	r0, sp, r1
# CHECK-NEXT:  1      2     1.00                        sub.w	r0, sp, r1, lsl #1
# CHECK-NEXT:  1      2     1.00                        subs.w	r0, sp, r1, lsl #1
# CHECK-NEXT:  1      2     1.00                        sxtab	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        sxtab	r0, r1, r2, ror #8
# CHECK-NEXT:  1      2     1.00                        sxtab16	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        sxtab16	r0, r1, r2, ror #8
# CHECK-NEXT:  1      2     1.00                        sxtah	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        sxtah	r0, r1, r2, ror #8
# CHECK-NEXT:  1      1     1.00                        sxtb	r0, r1
# CHECK-NEXT:  1      1     1.00                        sxtb.w	r0, r1
# CHECK-NEXT:  1      1     1.00                        sxtb.w	r0, r1, ror #8
# CHECK-NEXT:  1      1     1.00                        sxtb16	r0, r1
# CHECK-NEXT:  1      1     1.00                        sxtb16	r0, r1, ror #8
# CHECK-NEXT:  1      1     1.00                        sxth	r0, r1
# CHECK-NEXT:  1      1     1.00                        sxth.w	r0, r1
# CHECK-NEXT:  1      1     1.00                        sxth.w	r0, r1, ror #8
# CHECK-NEXT:  2      2     0.50                  U     tbb	[r0, r1]
# CHECK-NEXT:  2      2     0.50                  U     tbh	[r0, r1, lsl #1]
# CHECK-NEXT:  1      1     0.50                        teq.w	r0, #1
# CHECK-NEXT:  1      1     0.50                        teq.w	r0, r1
# CHECK-NEXT:  1      2     1.00                        teq.w	r0, r1, lsl #1
# CHECK-NEXT:  1      1     0.50                        tst.w	r0, #1
# CHECK-NEXT:  1      1     0.50                        tst	r0, r1
# CHECK-NEXT:  1      1     0.50                        tst.w	r0, r1
# CHECK-NEXT:  1      2     1.00                        tst.w	r0, r1, lsl #1
# CHECK-NEXT:  1      1     1.00    *      *      U     uadd16	r0, r1, r2
# CHECK-NEXT:  1      1     1.00    *      *      U     uadd8	r0, r1, r2
# CHECK-NEXT:  1      1     1.00    *      *      U     uasx	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        ubfx	r0, r1, #1, #2
# CHECK-NEXT:  2      7     1.00                        udiv	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        uhadd16	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        uhadd8	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        uhasx	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        uhsax	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        uhsub16	r0, r1, r2
# CHECK-NEXT:  1      1     1.00                        uhsub8	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        umaal	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        umlal	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        umull	r0, r1, r2, r3
# CHECK-NEXT:  1      2     1.00                        uqadd16	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        uqadd8	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        uqasx	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        uqsax	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        uqsub16	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        uqsub8	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        usad8	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        usada8	r0, r1, r2, r3
# CHECK-NEXT:  1      3     1.00                        usat	r0, #1, r1
# CHECK-NEXT:  1      3     1.00                        usat	r0, #1, r1, lsl #1
# CHECK-NEXT:  1      3     1.00                        usat16	r0, #1, r1
# CHECK-NEXT:  1      1     1.00    *      *      U     usax	r0, r1, r2
# CHECK-NEXT:  1      1     1.00    *      *      U     usub16	r0, r1, r2
# CHECK-NEXT:  1      1     1.00    *      *      U     usub8	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        uxtab	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        uxtab	r0, r1, r2, ror #8
# CHECK-NEXT:  1      2     1.00                        uxtab16	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        uxtab16	r0, r1, r2, ror #8
# CHECK-NEXT:  1      2     1.00                        uxtah	r0, r1, r2
# CHECK-NEXT:  1      2     1.00                        uxtah	r0, r1, r2, ror #8
# CHECK-NEXT:  1      1     1.00                        uxtb	r0, r1
# CHECK-NEXT:  1      1     1.00                        uxtb.w	r0, r1
# CHECK-NEXT:  1      1     1.00                        uxtb.w	r0, r1, ror #8
# CHECK-NEXT:  1      1     1.00                        uxtb16	r0, r1
# CHECK-NEXT:  1      1     1.00                        uxtb16	r0, r1, ror #8
# CHECK-NEXT:  1      1     1.00                        uxth	r0, r1
# CHECK-NEXT:  1      1     1.00                        uxth.w	r0, r1
# CHECK-NEXT:  1      1     1.00                        uxth.w	r0, r1, ror #8
# CHECK-NEXT:  1      3     0.50    *      *      U     wfe
# CHECK-NEXT:  1      3     0.50    *      *      U     wfi
# CHECK-NEXT:  1      3     0.50    *      *      U     yield

# CHECK:      Resources:
# CHECK-NEXT: [0.0] - M7UnitALU
# CHECK-NEXT: [0.1] - M7UnitALU
# CHECK-NEXT: [1]   - M7UnitBranch
# CHECK-NEXT: [2]   - M7UnitLoadH
# CHECK-NEXT: [3]   - M7UnitLoadL
# CHECK-NEXT: [4]   - M7UnitMAC
# CHECK-NEXT: [5]   - M7UnitSIMD
# CHECK-NEXT: [6]   - M7UnitShift1
# CHECK-NEXT: [7]   - M7UnitShift2
# CHECK-NEXT: [8]   - M7UnitStore
# CHECK-NEXT: [9]   - M7UnitVFP
# CHECK-NEXT: [10]  - M7UnitVPortH
# CHECK-NEXT: [11]  - M7UnitVPortL

# CHECK:      Resource pressure per iteration:
# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]
# CHECK-NEXT: 125.00 125.00  -     35.00  35.00  43.00  90.00  88.00  2.00   45.00   -      -      -

# CHECK:      Resource pressure by instruction:
# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   Instructions:
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     adc	r0, r1, #0
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     adcs	r0, r1, #0
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     adcs	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     adc.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     adcs.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     adc.w	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     adcs.w	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     adds	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     adds	r0, #42
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     add.w	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     adds.w	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     addw	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     adds	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     add	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     add.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     adds.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     add.w	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     adds.w	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     add.w	r0, sp, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     add.w	sp, sp, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     add.w	r0, sp, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     adds.w	r0, sp, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     addw	r0, sp, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     add	r0, sp, r0
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     add	sp, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     add.w	r0, sp, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     adds.w	r0, sp, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     add.w	r0, sp, r1, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     adds.w	r0, sp, r1, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     adr.w	r0, #-6
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     and	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     ands	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     ands	r1, r0
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     and.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     ands.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     and.w	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     ands.w	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     asrs	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     asr.w	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     asrs.w	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     asrs	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     asr.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     asrs.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     bfc	r0, #1, #2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     bfi	r0, r1, #1, #2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     bic	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     bics	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     bics	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     bic.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     bics.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     bic.w	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     bics.w	r0, r1, r2, lsl #1
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     bkpt	#1
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     clrex
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     clz	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     cmn.w	r0, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     cmn	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     cmn.w	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     cmn.w	r0, r1, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     cmp	r0, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     cmp.w	r0, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     cmp	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     cmp	r0, r10
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     cmp.w	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     cmp.w	r0, r1, lsl #1
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     dmb	sy
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     dsb	sy
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     eor	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     eors	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     eors	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     eor.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     eors.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     eor.w	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     eors.w	r0, r1, r2, lsl #1
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     isb	sy
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldm	r0!, {r1}
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldm.w	r0, {r1}
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldm.w	r0, {r1}
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldr	r1, [r0], #4
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldmdb	r0, {r1}
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldmdb	r0!, {r1}
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldr	r0, [r1, #4]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldr	r0, [sp, #4]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldr.w	r0, [r1, #4]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldr	r0, [r1, #-1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldr	r0, [r1], #1
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldr	r0, [r1, #1]!
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldr	r0, [pc, #4]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldr.w	r0, [pc, #4]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldr	r0, [r1, r2]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldr.w	r0, [r1, r2]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldr.w	r0, [r1, r2, lsl #1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrb	r0, [r1, #1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrb.w	r0, [r1, #1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrb	r0, [r1, #-1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrb	r0, [r1], #1
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrb	r0, [r1, #1]!
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrb.w	r0, [pc, #4]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrb	r0, [r1, r2]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrb.w	r0, [r1, r2]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrb.w	r0, [r1, r2, lsl #1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrbt	r0, [r1, #1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrd	r0, r2, [r1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrd	r0, r2, [r1, #-4]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrd	r0, r2, [r1], #4
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrd	r0, r2, [r1, #4]!
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrd	r0, r2, next
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrex	r0, [r1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrex	r0, [r1, #4]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrexb	r0, [r1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrexh	r0, [r1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrh	r0, [r1, #2]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrh.w	r0, [r1, #1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrh	r0, [r1, #-1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrh	r0, [r1], #1
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrh	r0, [r1, #1]!
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrh.w	r0, [pc, #4]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrh	r0, [r1, r2]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrh.w	r0, [r1, r2]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrh.w	r0, [r1, r2, lsl #1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrht	r0, [r1, #1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrsb.w	r0, [r1, #1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrsb	r0, [r1, #-1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrsb	r0, [r1], #1
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrsb	r0, [r1, #1]!
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrsb.w	r0, [pc, #4]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrsb	r0, [r1, r2]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrsb.w	r0, [r1, r2]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrsb.w	r0, [r1, r2, lsl #1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrsbt	r0, [r1, #1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrsh.w	r0, [r1, #2]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrsh	r0, [r1, #-1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrsh	r0, [r1], #1
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrsh	r0, [r1, #1]!
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrsh.w	r0, [pc, #4]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrsh	r0, [r1, r2]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrsh.w	r0, [r1, r2]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrsh.w	r0, [r1, r2, lsl #1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrsht	r0, [r1, #1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldrt	r0, [r1, #1]
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     lsls	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     lsl.w	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     lsls.w	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     lsls	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     lsl.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     lsls.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     lsrs	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     lsr.w	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     lsrs.w	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     lsrs	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     lsr.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     lsrs.w	r0, r1, r2
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     mla	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     mls	r0, r1, r2, r3
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     movs	r0, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     mov.w	r0, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     movs.w	r0, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     movw	r0, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     mov	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     mov.w	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     movs.w	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     movt	r0, #1
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     mrs	r0, apsr
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     msr	apsr_nzcvq, r0
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     muls	r1, r2, r1
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     mul	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     mvn	r0, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     mvns	r0, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     mvns	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     mvn.w	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     mvns.w	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     mvn.w	r0, r1, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     mvns.w	r0, r1, lsl #1
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     nop
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     nop.w
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     orn	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     orns	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     orn	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     orns	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     orn	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     orns	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     orr	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     orrs	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     orrs	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     orr.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     orrs.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     orr.w	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     orrs.w	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     pkhbt	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     pkhbt	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     pkhbt	r0, r2, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     pkhtb	r0, r1, r2, asr #1
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     pop	{r0}
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     pop.w	{r0, r1}
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     ldr	r0, [sp], #4
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     push	{r0}
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     push.w	{r0, r1}
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     str	r0, [sp, #-4]!
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     qadd	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     qadd16	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     qadd8	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     qasx	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     qdadd	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     qdsub	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     qsax	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     qsub	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     qsub16	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     qsub8	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     rbit	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     rev	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     rev.w	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     rev16	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     rev16.w	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     revsh	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     revsh.w	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     ror.w	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     rors.w	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     rors	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     ror.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     rors.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     1.00    -      -      -      -     rrx	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     1.00    -      -      -      -     rrxs	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     rsbs	r0, r1, #0
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     rsb.w	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     rsbs.w	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     rsb	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     rsbs	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     rsb	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     rsbs	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     sadd16	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     sadd8	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     sasx	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     sbc	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     sbcs	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     sbcs	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     sbc.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     sbcs.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     sbc.w	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     sbcs.w	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     sbfx	r0, r1, #1, #2
# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -     sdiv	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     sel	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     shadd16	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     shadd8	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     shasx	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     shsax	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     shsub16	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     shsub8	r0, r1, r2
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smlabb	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smlabt	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smlatb	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smlatt	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smlad	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smladx	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smlal	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smlalbb	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smlalbt	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smlaltb	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smlaltt	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smlald	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smlaldx	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smlawb	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smlawt	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smlsd	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smlsdx	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smlsld	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smlsldx	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smmla	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smmlar	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smmls	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smmlsr	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smmul	r0, r1, r2
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smmulr	r0, r1, r2
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smuad	r0, r1, r2
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smuadx	r0, r1, r2
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smulbb	r0, r1, r2
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smulbt	r0, r1, r2
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smultb	r0, r1, r2
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smultt	r0, r1, r2
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smull	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smulwb	r0, r1, r2
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smulwt	r0, r1, r2
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smusd	r0, r1, r2
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     smusdx	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     ssat	r0, #1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     ssat	r0, #1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     ssat16	r0, #1, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     ssax	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     ssub16	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     ssub8	r0, r1, r2
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     stm	r0!, {r1}
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     stm.w	r0, {r1}
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     stm.w	r0!, {r1}
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     stmdb	r0, {r1}
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     str	r1, [r0, #-4]!
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     str	r0, [r1]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     str	r0, [r1, #4]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     str	r0, [sp, #4]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     str.w	r0, [r1, #1]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     str	r0, [r1, #-1]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     str	r0, [r1], #1
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     str	r0, [r1, r2]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     str.w	r0, [r1, r2]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     str.w	r0, [r1, r2, lsl #1]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strb	r0, [r1]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strb	r0, [r1, #1]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strb.w	r0, [r1, #1]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strb	r0, [r1, #-1]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strb	r0, [r1], #1
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strb	r0, [r1, #1]!
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strb	r0, [r1, r2]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strb.w	r0, [r1, r2]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strb.w	r0, [r1, r2, lsl #1]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strbt	r0, [r1, #1]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strd	r0, r1, [r2, #4]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strd	r0, r1, [r2], #4
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strd	r0, r1, [r2, #4]!
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strex	r0, r1, [r2]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strex	r0, r1, [r2, #4]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strexb	r0, r1, [r2]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strexh	r0, r1, [r2]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strh	r0, [r1]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strh	r0, [r1, #2]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strh.w	r0, [r1, #2]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strh	r0, [r1, #-1]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strh	r0, [r1], #1
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strh	r0, [r1, #1]!
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strh	r0, [r1, r2]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strh.w	r0, [r1, r2]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strh.w	r0, [r1, r2, lsl #1]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strht	r0, [r1, #1]
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00    -      -      -     strt	r0, [r1, #1]
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     subs	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     subs	r0, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     sub.w	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     subs.w	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     subw	r0, r1, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     subs	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     sub.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     subs.w	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     sub.w	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     subs.w	r0, r1, r2, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     sub	sp, #4
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     sub.w	r0, sp, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     subs.w	r0, sp, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     subw	r0, sp, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     sub.w	r0, sp, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     subs.w	r0, sp, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     sub.w	r0, sp, r1, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     subs.w	r0, sp, r1, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     sxtab	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     sxtab	r0, r1, r2, ror #8
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     sxtab16	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     sxtab16	r0, r1, r2, ror #8
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     sxtah	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     sxtah	r0, r1, r2, ror #8
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     sxtb	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     sxtb.w	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     sxtb.w	r0, r1, ror #8
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     sxtb16	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     sxtb16	r0, r1, ror #8
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     sxth	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     sxth.w	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     sxth.w	r0, r1, ror #8
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     tbb	[r0, r1]
# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -      -      -      -      -      -     tbh	[r0, r1, lsl #1]
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     teq.w	r0, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     teq.w	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     teq.w	r0, r1, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     tst.w	r0, #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     tst	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -     tst.w	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -      -     1.00    -      -      -      -      -     tst.w	r0, r1, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uadd16	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uadd8	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uasx	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     ubfx	r0, r1, #1, #2
# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -      -      -      -      -      -     udiv	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uhadd16	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uhadd8	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uhasx	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uhsax	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uhsub16	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uhsub8	r0, r1, r2
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     umaal	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     umlal	r0, r1, r2, r3
# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     umull	r0, r1, r2, r3
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uqadd16	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uqadd8	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uqasx	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uqsax	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uqsub16	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uqsub8	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     usad8	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     usada8	r0, r1, r2, r3
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     usat	r0, #1, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     usat	r0, #1, r1, lsl #1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     usat16	r0, #1, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     usax	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     usub16	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     usub8	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     uxtab	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     uxtab	r0, r1, r2, ror #8
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     uxtab16	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     uxtab16	r0, r1, r2, ror #8
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     uxtah	r0, r1, r2
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00   1.00    -      -      -      -      -     uxtah	r0, r1, r2, ror #8
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uxtb	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uxtb.w	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uxtb.w	r0, r1, ror #8
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uxtb16	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uxtb16	r0, r1, ror #8
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uxth	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uxth.w	r0, r1
# CHECK-NEXT: 0.50   0.50    -      -      -      -     1.00    -      -      -      -      -      -     uxth.w	r0, r1, ror #8
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     wfe
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     wfi
# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -      -      -     yield