| # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py |
| # RUN: llvm-mca -mtriple=thumbv8.1-m.main-none-none-eabi -mcpu=cortex-m85 -mattr=+mve.fp -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 |
| add r0, sp, #1 |
| add 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 |
| 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 |
| adr r0, #-6 |
| adr r8, #-6 |
| adr.w 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 |
| asrl r0, r1, #1 |
| asrl 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 |
| clrm {r1, r2} |
| 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 |
| #cpsdb 1 |
| #cpsie if |
| csdb |
| csel r1, r2, r3, eq |
| csinc r1, r2, r3, eq |
| csinv r1, r2, r3, eq |
| csneg r1, r2, r3, eq |
| #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 |
| esb |
| isb |
| lctp |
| lda r0, [r1] |
| ldab r0, [r1] |
| ldaex r0, [r1] |
| ldaexb r0, [r1] |
| ldaexh r0, [r1] |
| ldah r0, [r1] |
| 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, next |
| ldr.w r0, next |
| 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, next |
| 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, next |
| 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, next |
| 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, next |
| ldrsh r0, [r1, r2] |
| ldrsh.w r0, [r1, r2] |
| ldrsh.w r0, [r1, r2, LSL #1] |
| ldrsht r0, [r1, #1] |
| ldrt r0, [r1, #1] |
| le lr, next |
| le next |
| letp lr, next |
| 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 |
| lsll r0, r1, #2 |
| lsll 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 |
| lsrl r0, r1, #2 |
| 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 } |
| pssbb |
| 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 |
| #sg |
| 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 |
| sqrshr r0, r1 |
| sqrshrl r0, r1, #48, r2 |
| sqshl r0, #7 |
| sqshll r0, r1, #7 |
| srshr r0, #7 |
| srshrl r0, r1, #7 |
| ssat r0, #1, r2 |
| ssat r0, #1, r2, LSL #1 |
| ssat16 r0, #1, r1 |
| ssax r0, r1, r2 |
| ssbb |
| ssub16 r0, r1, r2 |
| ssub8 r0, r1, r2 |
| stl r0, [r1] |
| stlb r0, [r1] |
| stlex r0, r1, [r2] |
| stlexb r0, r1, [r2] |
| stlexh r0, r1, [r2] |
| stlh r0, [r1] |
| 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 ] |
| 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 |
| 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 |
| #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 |
| #tt r0, r1 |
| #ttt r0, r1 |
| #tta r0, r1 |
| #ttat r0, r1 |
| 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 |
| uqrshl r0, r1 |
| uqrshll r0, r1, #48, r2 |
| uqsax r0, r1, r2 |
| uqshl r0, #1 |
| uqshll r0, r1, #1 |
| uqsub16 r0, r1, r2 |
| uqsub8 r0, r1, r2 |
| urshr r0, #1 |
| urshrl r0, r1, #1 |
| 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 |
| wfe.w |
| wfi |
| wfi.w |
| wls lr, r0, forward |
| dls lr, r0 |
| wlstp.8 lr, r0, forward |
| wlstp.16 lr, r0, forward |
| wlstp.32 lr, r0, forward |
| wlstp.64 lr, r0, forward |
| dlstp.8 lr, r0 |
| dlstp.16 lr, r0 |
| dlstp.32 lr, r0 |
| dlstp.64 lr, r0 |
| forward: |
| yield |
| yield.w |
| |
| # 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 2 1.00 adc.w r0, r1, r2 |
| # CHECK-NEXT: 1 2 1.00 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 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 2 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 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 U adr.w r0, #-6 |
| # CHECK-NEXT: 1 1 0.50 U adr.w r8, #-6 |
| # 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 0.50 asrs r0, r1, #1 |
| # CHECK-NEXT: 1 1 0.50 asr.w r0, r1, #1 |
| # CHECK-NEXT: 1 1 0.50 asrs.w r0, r1, #1 |
| # CHECK-NEXT: 1 1 0.50 asrs r0, r1 |
| # CHECK-NEXT: 1 1 0.50 asr.w r0, r1, r2 |
| # CHECK-NEXT: 1 1 0.50 asrs.w r0, r1, r2 |
| # CHECK-NEXT: 1 2 1.00 asrl r0, r1, #1 |
| # CHECK-NEXT: 1 2 1.00 asrl 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 2 1.00 bic.w r0, r1, r2 |
| # CHECK-NEXT: 1 2 1.00 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 3 0.50 U clrm {r1, r2} |
| # CHECK-NEXT: 1 1 1.00 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 2 1.00 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 2 1.00 cmp.w r0, r1 |
| # CHECK-NEXT: 1 2 1.00 cmp.w r0, r1, lsl #1 |
| # CHECK-NEXT: 1 3 0.50 * * U csdb |
| # CHECK-NEXT: 1 2 1.00 csel r1, r2, r3, eq |
| # CHECK-NEXT: 1 2 1.00 csinc r1, r2, r3, eq |
| # CHECK-NEXT: 1 2 1.00 csinv r1, r2, r3, eq |
| # CHECK-NEXT: 1 2 1.00 csneg r1, r2, r3, eq |
| # 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 2 1.00 eor.w r0, r1, r2 |
| # CHECK-NEXT: 1 2 1.00 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 esb.w |
| # CHECK-NEXT: 1 3 0.50 * * U isb sy |
| # CHECK-NEXT: 1 1 0.50 U lctp |
| # CHECK-NEXT: 1 2 0.50 * lda r0, [r1] |
| # CHECK-NEXT: 1 3 0.50 * ldab r0, [r1] |
| # CHECK-NEXT: 1 2 0.50 * * U ldaex r0, [r1] |
| # CHECK-NEXT: 1 3 0.50 * * U ldaexb r0, [r1] |
| # CHECK-NEXT: 1 3 0.50 * * U ldaexh r0, [r1] |
| # CHECK-NEXT: 1 3 0.50 * ldah r0, [r1] |
| # CHECK-NEXT: 1 2 1.00 * ldm r0!, {r1} |
| # CHECK-NEXT: 1 2 1.00 * ldm.w r0, {r1} |
| # CHECK-NEXT: 1 2 1.00 * ldm.w r0, {r1} |
| # CHECK-NEXT: 1 2 0.50 * ldr r1, [r0], #4 |
| # CHECK-NEXT: 1 2 1.00 * ldmdb r0, {r1} |
| # CHECK-NEXT: 1 2 1.00 * ldmdb r0!, {r1} |
| # CHECK-NEXT: 1 2 0.50 * ldr r0, [r1, #4] |
| # CHECK-NEXT: 1 3 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 1 0.50 * ldr r0, next |
| # CHECK-NEXT: 1 1 0.50 * ldr.w r0, next |
| # 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 2 0.50 * ldrb.w r0, next |
| # 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 1.00 * ldrd r0, r2, [r1] |
| # CHECK-NEXT: 1 2 1.00 * ldrd r0, r2, [r1, #-4] |
| # CHECK-NEXT: 1 2 1.00 * ldrd r0, r2, [r1], #4 |
| # CHECK-NEXT: 1 2 1.00 * ldrd r0, r2, [r1, #4]! |
| # CHECK-NEXT: 1 2 1.00 * 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 2 0.50 * ldrh.w r0, next |
| # 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 2 0.50 * ldrsb.w r0, next |
| # 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 2 0.50 * ldrsh.w r0, next |
| # 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: 0 0 0.00 U le lr, next |
| # CHECK-NEXT: 0 4294967294 0.00 U le next |
| # CHECK-NEXT: 0 0 0.00 U letp lr, next |
| # CHECK-NEXT: 1 1 0.50 lsls r0, r1, #1 |
| # CHECK-NEXT: 1 1 0.50 lsl.w r0, r1, #1 |
| # CHECK-NEXT: 1 1 0.50 lsls.w r0, r1, #1 |
| # CHECK-NEXT: 1 1 0.50 lsls r0, r1 |
| # CHECK-NEXT: 1 1 0.50 lsl.w r0, r1, r2 |
| # CHECK-NEXT: 1 1 0.50 lsls.w r0, r1, r2 |
| # CHECK-NEXT: 1 2 1.00 lsll r0, r1, #2 |
| # CHECK-NEXT: 1 2 1.00 lsll r0, r1, r2 |
| # CHECK-NEXT: 1 1 0.50 lsrs r0, r1, #1 |
| # CHECK-NEXT: 1 1 0.50 lsr.w r0, r1, #1 |
| # CHECK-NEXT: 1 1 0.50 lsrs.w r0, r1, #1 |
| # CHECK-NEXT: 1 1 0.50 lsrs r0, r1 |
| # CHECK-NEXT: 1 1 0.50 lsr.w r0, r1, r2 |
| # CHECK-NEXT: 1 1 0.50 lsrs.w r0, r1, r2 |
| # CHECK-NEXT: 1 2 1.00 lsrl r0, r1, #2 |
| # 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 2 1.00 mvn.w r0, r1 |
| # CHECK-NEXT: 1 2 1.00 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 2 1.00 orn r0, r1, r2 |
| # CHECK-NEXT: 1 2 1.00 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 2 1.00 orr.w r0, r1, r2 |
| # CHECK-NEXT: 1 2 1.00 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 1.00 * U pop {r0} |
| # CHECK-NEXT: 1 2 1.00 * pop.w {r0, r1} |
| # CHECK-NEXT: 1 2 0.50 * ldr r0, [sp], #4 |
| # CHECK-NEXT: 1 3 0.50 * * U pssbb |
| # CHECK-NEXT: 1 3 1.00 * U push {r0} |
| # CHECK-NEXT: 1 3 1.00 * push.w {r0, r1} |
| # CHECK-NEXT: 1 3 0.50 * 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 0.50 ror.w r0, r1, #1 |
| # CHECK-NEXT: 1 1 0.50 rors.w r0, r1, #1 |
| # CHECK-NEXT: 1 1 0.50 rors r0, r1 |
| # CHECK-NEXT: 1 1 0.50 ror.w r0, r1, r2 |
| # CHECK-NEXT: 1 1 0.50 rors.w r0, r1, r2 |
| # CHECK-NEXT: 1 1 1.00 rrx r0, r1 |
| # CHECK-NEXT: 1 1 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 2 1.00 U rsb r0, r1, r2 |
| # CHECK-NEXT: 1 2 1.00 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 2 1.00 sbc.w r0, r1, r2 |
| # CHECK-NEXT: 1 2 1.00 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 1 0.50 sbfx r0, r1, #1, #2 |
| # CHECK-NEXT: 2 8 1.00 sdiv r0, r1, r2 |
| # CHECK-NEXT: 1 1 1.00 * sel r0, r1, r2 |
| # CHECK-NEXT: 1 3 0.50 * * U sev |
| # 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 2 1.00 sqrshr r0, r1 |
| # CHECK-NEXT: 1 2 1.00 sqrshrl r0, r1, #48, r2 |
| # CHECK-NEXT: 1 2 1.00 sqshl r0, #7 |
| # CHECK-NEXT: 1 2 1.00 sqshll r0, r1, #7 |
| # CHECK-NEXT: 1 2 1.00 srshr r0, #7 |
| # CHECK-NEXT: 1 2 1.00 srshrl r0, r1, #7 |
| # 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 3 0.50 * * U ssbb |
| # 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 0.50 * stl r0, [r1] |
| # CHECK-NEXT: 1 3 0.50 * stlb r0, [r1] |
| # CHECK-NEXT: 1 3 0.50 * * U stlex r0, r1, [r2] |
| # CHECK-NEXT: 1 3 0.50 * * U stlexb r0, r1, [r2] |
| # CHECK-NEXT: 1 3 0.50 * * U stlexh r0, r1, [r2] |
| # CHECK-NEXT: 1 3 0.50 * stlh r0, [r1] |
| # 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 0.50 * str r1, [r0, #-4]! |
| # CHECK-NEXT: 1 3 0.50 * str r0, [r1] |
| # CHECK-NEXT: 1 3 0.50 * str r0, [r1, #4] |
| # CHECK-NEXT: 1 3 0.50 * str r0, [sp, #4] |
| # CHECK-NEXT: 1 3 0.50 * str.w r0, [r1, #1] |
| # CHECK-NEXT: 1 3 0.50 * str r0, [r1, #-1] |
| # CHECK-NEXT: 1 3 0.50 * str r0, [r1], #1 |
| # CHECK-NEXT: 1 3 0.50 * str r0, [r1, r2] |
| # CHECK-NEXT: 1 3 0.50 * str.w r0, [r1, r2] |
| # CHECK-NEXT: 1 3 0.50 * str.w r0, [r1, r2, lsl #1] |
| # CHECK-NEXT: 1 3 0.50 * strb r0, [r1] |
| # CHECK-NEXT: 1 3 0.50 * strb r0, [r1, #1] |
| # CHECK-NEXT: 1 3 0.50 * strb.w r0, [r1, #1] |
| # CHECK-NEXT: 1 3 0.50 * strb r0, [r1, #-1] |
| # CHECK-NEXT: 1 3 0.50 * strb r0, [r1], #1 |
| # CHECK-NEXT: 1 3 0.50 * strb r0, [r1, #1]! |
| # CHECK-NEXT: 1 3 0.50 * strb r0, [r1, r2] |
| # CHECK-NEXT: 1 3 0.50 * strb.w r0, [r1, r2] |
| # CHECK-NEXT: 1 3 0.50 * strb.w r0, [r1, r2, lsl #1] |
| # CHECK-NEXT: 1 3 0.50 * 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 0.50 * * U strex r0, r1, [r2] |
| # CHECK-NEXT: 1 3 0.50 * * U strex r0, r1, [r2, #4] |
| # CHECK-NEXT: 1 3 0.50 * * U strexb r0, r1, [r2] |
| # CHECK-NEXT: 1 3 0.50 * * U strexh r0, r1, [r2] |
| # CHECK-NEXT: 1 3 0.50 * strh r0, [r1] |
| # CHECK-NEXT: 1 3 0.50 * strh r0, [r1, #2] |
| # CHECK-NEXT: 1 3 0.50 * strh.w r0, [r1, #2] |
| # CHECK-NEXT: 1 3 0.50 * strh r0, [r1, #-1] |
| # CHECK-NEXT: 1 3 0.50 * strh r0, [r1], #1 |
| # CHECK-NEXT: 1 3 0.50 * strh r0, [r1, #1]! |
| # CHECK-NEXT: 1 3 0.50 * strh r0, [r1, r2] |
| # CHECK-NEXT: 1 3 0.50 * strh.w r0, [r1, r2] |
| # CHECK-NEXT: 1 3 0.50 * strh.w r0, [r1, r2, lsl #1] |
| # CHECK-NEXT: 1 3 0.50 * strht r0, [r1, #1] |
| # CHECK-NEXT: 1 3 0.50 * strt r0, [r1, #1] |
| # CHECK-NEXT: 1 2 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 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 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: 1 2 0.50 U tbb [r0, r1] |
| # CHECK-NEXT: 1 2 0.50 U tbh [r0, r1, lsl #1] |
| # CHECK-NEXT: 1 1 0.50 teq.w r0, #1 |
| # CHECK-NEXT: 1 2 1.00 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 2 1.00 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 1 0.50 ubfx r0, r1, #1, #2 |
| # CHECK-NEXT: 2 8 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 uqrshl r0, r1 |
| # CHECK-NEXT: 1 2 1.00 uqrshll r0, r1, #48, r2 |
| # CHECK-NEXT: 1 2 1.00 uqsax r0, r1, r2 |
| # CHECK-NEXT: 1 2 1.00 uqshl r0, #1 |
| # CHECK-NEXT: 1 2 1.00 uqshll r0, r1, #1 |
| # 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 urshr r0, #1 |
| # CHECK-NEXT: 1 2 1.00 urshrl r0, r1, #1 |
| # 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 wfe.w |
| # CHECK-NEXT: 1 3 0.50 * * U wfi |
| # CHECK-NEXT: 1 3 0.50 * * U wfi.w |
| # CHECK-NEXT: 1 1 0.50 U wls lr, r0, forward |
| # CHECK-NEXT: 1 1 0.50 U dls lr, r0 |
| # CHECK-NEXT: 1 1 0.50 U wlstp.8 lr, r0, forward |
| # CHECK-NEXT: 1 1 0.50 U wlstp.16 lr, r0, forward |
| # CHECK-NEXT: 1 1 0.50 U wlstp.32 lr, r0, forward |
| # CHECK-NEXT: 1 1 0.50 U wlstp.64 lr, r0, forward |
| # CHECK-NEXT: 1 1 0.50 U dlstp.8 lr, r0 |
| # CHECK-NEXT: 1 1 0.50 U dlstp.16 lr, r0 |
| # CHECK-NEXT: 1 1 0.50 U dlstp.32 lr, r0 |
| # CHECK-NEXT: 1 1 0.50 U dlstp.64 lr, r0 |
| # CHECK-NEXT: 1 3 0.50 * * U yield |
| # CHECK-NEXT: 1 3 0.50 * * U yield.w |
| |
| # CHECK: Resources: |
| # CHECK-NEXT: [0.0] - M85UnitALU |
| # CHECK-NEXT: [0.1] - M85UnitALU |
| # CHECK-NEXT: [1] - M85UnitBranch |
| # CHECK-NEXT: [2] - M85UnitDiv |
| # CHECK-NEXT: [3] - M85UnitLShift |
| # CHECK-NEXT: [4] - M85UnitLoadH |
| # CHECK-NEXT: [5] - M85UnitLoadL |
| # CHECK-NEXT: [6] - M85UnitMAC |
| # CHECK-NEXT: [7] - M85UnitSIMD |
| # CHECK-NEXT: [8] - M85UnitShift1 |
| # CHECK-NEXT: [9] - M85UnitShift2 |
| # CHECK-NEXT: [10] - M85UnitSlot0 |
| # CHECK-NEXT: [11] - M85UnitStoreH |
| # CHECK-NEXT: [12] - M85UnitStoreL |
| # CHECK-NEXT: [13] - M85UnitVFPAH |
| # CHECK-NEXT: [14] - M85UnitVFPAL |
| # CHECK-NEXT: [15] - M85UnitVFPBH |
| # CHECK-NEXT: [16] - M85UnitVFPBL |
| # CHECK-NEXT: [17] - M85UnitVFPCH |
| # CHECK-NEXT: [18] - M85UnitVFPCL |
| # CHECK-NEXT: [19] - M85UnitVFPD |
| # CHECK-NEXT: [20] - M85UnitVPortH |
| # CHECK-NEXT: [21] - M85UnitVPortL |
| |
| # CHECK: Resource pressure per iteration: |
| # CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] |
| # CHECK-NEXT: 141.00 141.00 - 2.00 21.00 47.00 47.00 43.00 88.00 83.00 2.00 91.00 30.00 30.00 - - - - - - - - - |
| |
| # CHECK: Resource pressure by instruction: |
| # CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] 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 - - - - - - - 1.00 - - - - - - - - - - - - - adc.w r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - - - - - - - - adr.w r0, #-6 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - adr.w r8, #-6 |
| # 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 - - - - - - - - - - - - - - - - - - - - - asrs r0, r1, #1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - asr.w r0, r1, #1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - asrs.w r0, r1, #1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - asrs r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - asr.w r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - asrs.w r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - asrl r0, r1, #1 |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - asrl r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - 1.00 - - - - - - - - - - - bfc r0, #1, #2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - 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 - - - - - - - 1.00 - - - - - - - - - - - - - bic.w r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - - - - - - - - - - - - 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: - - - - - - - - - - - - - - - - - - - - - - - clrm {r1, r2} |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - 1.00 - - - - - - - - - - - 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 - - - - - - - 1.00 - - - - - - - - - - - - - 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 - - - - - - - 1.00 - - - - - - - - - - - - - cmp.w r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - - - - - - - - - - - - cmp.w r0, r1, lsl #1 |
| # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - csdb |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - csel r1, r2, r3, eq |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - csinc r1, r2, r3, eq |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - csinv r1, r2, r3, eq |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - csneg r1, r2, r3, eq |
| # 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 - - - - - - - 1.00 - - - - - - - - - - - - - eor.w r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - - - - - - - - - - - - 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: - - - - - - - - - - - - - - - - - - - - - - - esb.w |
| # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - isb sy |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - lctp |
| # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - lda r0, [r1] |
| # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - ldab r0, [r1] |
| # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - ldaex r0, [r1] |
| # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - ldaexb r0, [r1] |
| # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - ldaexh r0, [r1] |
| # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - ldah r0, [r1] |
| # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - ldm r0!, {r1} |
| # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - ldm.w r0, {r1} |
| # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - ldm.w r0, {r1} |
| # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - ldr r1, [r0], #4 |
| # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - ldmdb r0, {r1} |
| # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - 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, next |
| # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - ldr.w r0, next |
| # 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.w r0, next |
| # 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: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - ldrd r0, r2, [r1] |
| # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - ldrd r0, r2, [r1, #-4] |
| # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - ldrd r0, r2, [r1], #4 |
| # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - ldrd r0, r2, [r1, #4]! |
| # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - 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.w r0, next |
| # 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.w r0, next |
| # 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.w r0, next |
| # 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: - - - - - - - - - - - - - - - - - - - - - - - le lr, next |
| # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - le next |
| # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - letp lr, next |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - lsls r0, r1, #1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - lsl.w r0, r1, #1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - lsls.w r0, r1, #1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - lsls r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - lsl.w r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - lsls.w r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - lsll r0, r1, #2 |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - lsll r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - lsrs r0, r1, #1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - lsr.w r0, r1, #1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - lsrs.w r0, r1, #1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - lsrs r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - lsr.w r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - lsrs.w r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - lsrl r0, r1, #2 |
| # 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 - - - - - - - 1.00 - - - - - - - - - - - - - mvn.w r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - - - - - - - - - - - - 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 - - - - - - - 1.00 - - - - - - - - - - - - - orn r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - - - - - - - - - - - - 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 - - - - - - - 1.00 - - - - - - - - - - - - - orr.w r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - - - - - - - - - - - - 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 - 1.00 - - - - - - - - - - - pkhbt r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - pkhbt r0, r1, r2, lsl #1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - pkhbt r0, r2, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - pkhtb r0, r1, r2, asr #1 |
| # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - pop {r0} |
| # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - pop.w {r0, r1} |
| # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - ldr r0, [sp], #4 |
| # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - pssbb |
| # CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - push {r0} |
| # CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - push.w {r0, r1} |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - str r0, [sp, #-4]! |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - qadd r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - qadd16 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - qadd8 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - qasx r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - qdadd r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - qdsub r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - qsax r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - qsub r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - qsub16 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - qsub8 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - rbit r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - rev r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - rev.w r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - rev16 r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - rev16.w r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - revsh r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - revsh.w r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - ror.w r0, r1, #1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rors.w r0, r1, #1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - rors r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - ror.w r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - 1.00 - - - - - - - - - - - - - rsb r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - - - - - - - - - - - - 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 - - 1.00 - - - - - - - - - - - sadd16 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - sadd8 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 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 - - - - - - - 1.00 - - - - - - - - - - - - - sbc.w r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - 1.00 - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - - - - - - - - sbfx r0, r1, #1, #2 |
| # CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - - - - - - - - - - - - - sdiv r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - sel r0, r1, r2 |
| # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - sev |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - shadd16 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - shadd8 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - shasx r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - shsax r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - shsub16 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 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 - - - - - - - - - - - - - - - - - - sqrshr r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - sqrshrl r0, r1, #48, r2 |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - sqshl r0, #7 |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - sqshll r0, r1, #7 |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - srshr r0, #7 |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - srshrl r0, r1, #7 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - ssat r0, #1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - ssat r0, #1, r2, lsl #1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - ssat16 r0, #1, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - ssax r0, r1, r2 |
| # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - ssbb |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - ssub16 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - ssub8 r0, r1, r2 |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - stl r0, [r1] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - stlb r0, [r1] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - stlex r0, r1, [r2] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - stlexb r0, r1, [r2] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - stlexh r0, r1, [r2] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - stlh r0, [r1] |
| # CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - stm r0!, {r1} |
| # CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - stm.w r0, {r1} |
| # CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - stm.w r0!, {r1} |
| # CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - stmdb r0, {r1} |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - str r1, [r0, #-4]! |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - str r0, [r1] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - str r0, [r1, #4] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - str r0, [sp, #4] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - str.w r0, [r1, #1] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - str r0, [r1, #-1] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - str r0, [r1], #1 |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - str r0, [r1, r2] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - str.w r0, [r1, r2] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - str.w r0, [r1, r2, lsl #1] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strb r0, [r1] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strb r0, [r1, #1] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strb.w r0, [r1, #1] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strb r0, [r1, #-1] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strb r0, [r1], #1 |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strb r0, [r1, #1]! |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strb r0, [r1, r2] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strb.w r0, [r1, r2] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strb.w r0, [r1, r2, lsl #1] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strbt r0, [r1, #1] |
| # CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - strd r0, r1, [r2, #4] |
| # CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - strd r0, r1, [r2], #4 |
| # CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - - - strd r0, r1, [r2, #4]! |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strex r0, r1, [r2] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strex r0, r1, [r2, #4] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strexb r0, r1, [r2] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strexh r0, r1, [r2] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strh r0, [r1] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strh r0, [r1, #2] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strh.w r0, [r1, #2] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strh r0, [r1, #-1] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strh r0, [r1], #1 |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strh r0, [r1, #1]! |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strh r0, [r1, r2] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strh.w r0, [r1, r2] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strh.w r0, [r1, r2, lsl #1] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strht r0, [r1, #1] |
| # CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - - - strt r0, [r1, #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 - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - sxtab r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - sxtab r0, r1, r2, ror #8 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - sxtab16 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - sxtab16 r0, r1, r2, ror #8 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - sxtah r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - sxtah r0, r1, r2, ror #8 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - sxtb r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - sxtb.w r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - sxtb.w r0, r1, ror #8 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - sxtb16 r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - sxtb16 r0, r1, ror #8 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - sxth r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - sxth.w r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 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 - - - - - - - 1.00 - - - - - - - - - - - - - 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 - - - - - - - 1.00 - - - - - - - - - - - - - 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 - - 1.00 - - - - - - - - - - - uadd16 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uadd8 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uasx r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - ubfx r0, r1, #1, #2 |
| # CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - - - - - - - - - - - - - udiv r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uhadd16 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uhadd8 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uhasx r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uhsax r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uhsub16 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 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 - - 1.00 - - - - - - - - - - - uqadd16 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uqadd8 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uqasx r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - uqrshl r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - uqrshll r0, r1, #48, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uqsax r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - uqshl r0, #1 |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - uqshll r0, r1, #1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uqsub16 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uqsub8 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - urshr r0, #1 |
| # CHECK-NEXT: 0.50 0.50 - - 1.00 - - - - - - - - - - - - - - - - - - urshrl r0, r1, #1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - usad8 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - usada8 r0, r1, r2, r3 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - usat r0, #1, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - usat r0, #1, r1, lsl #1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - usat16 r0, #1, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - usax r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - usub16 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - usub8 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - uxtab r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - uxtab r0, r1, r2, ror #8 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - uxtab16 r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - uxtab16 r0, r1, r2, ror #8 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - uxtah r0, r1, r2 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 1.00 - 1.00 - - - - - - - - - - - uxtah r0, r1, r2, ror #8 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uxtb r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uxtb.w r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uxtb.w r0, r1, ror #8 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uxtb16 r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uxtb16 r0, r1, ror #8 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uxth r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uxth.w r0, r1 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - 1.00 - - 1.00 - - - - - - - - - - - uxth.w r0, r1, ror #8 |
| # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - wfe |
| # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - wfe.w |
| # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - wfi |
| # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - wfi.w |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - wls lr, r0, forward |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - dls lr, r0 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - wlstp.8 lr, r0, forward |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - wlstp.16 lr, r0, forward |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - wlstp.32 lr, r0, forward |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - wlstp.64 lr, r0, forward |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - dlstp.8 lr, r0 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - dlstp.16 lr, r0 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - dlstp.32 lr, r0 |
| # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - - dlstp.64 lr, r0 |
| # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - yield |
| # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - - yield.w |