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