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