81 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple thumbv7m-none-eabi -mcpu=cortex-m4 < %s | FileCheck %s3str.w r1, [r0], #164str.w r1, [r0, 16]!5strb.w r1, [r0], #166strb.w r1, [r0, 16]!7strh.w r1, [r0], #168strh.w r1, [r0, 16]!9ldr.w r1, [r0], #1610ldr.w r1, [r0, 16]!11ldrb.w r1, [r0], #1612ldrb.w r1, [r0, 16]!13ldrh.w r1, [r0], #1614ldrh.w r1, [r0, 16]!15ldrsb.w r1, [r0], #1616ldrsb.w r1, [r0, 16]!17ldrsh.w r1, [r0], #1618ldrsh.w r1, [r0, 16]!19 20# CHECK: Iterations: 10021# CHECK-NEXT: Instructions: 160022# CHECK-NEXT: Total Cycles: 260123# CHECK-NEXT: Total uOps: 160024 25# CHECK: Dispatch Width: 126# CHECK-NEXT: uOps Per Cycle: 0.6227# CHECK-NEXT: IPC: 0.6228# CHECK-NEXT: Block RThroughput: 16.029 30# CHECK: Instruction Info:31# CHECK-NEXT: [1]: #uOps32# CHECK-NEXT: [2]: Latency33# CHECK-NEXT: [3]: RThroughput34# CHECK-NEXT: [4]: MayLoad35# CHECK-NEXT: [5]: MayStore36# CHECK-NEXT: [6]: HasSideEffects (U)37 38# CHECK: [1] [2] [3] [4] [5] [6] Instructions:39# CHECK-NEXT: 1 1 1.00 * str r1, [r0], #1640# CHECK-NEXT: 1 1 1.00 * str r1, [r0, #16]!41# CHECK-NEXT: 1 1 1.00 * strb r1, [r0], #1642# CHECK-NEXT: 1 1 1.00 * strb r1, [r0, #16]!43# CHECK-NEXT: 1 1 1.00 * strh r1, [r0], #1644# CHECK-NEXT: 1 1 1.00 * strh r1, [r0, #16]!45# CHECK-NEXT: 1 2 1.00 * ldr r1, [r0], #1646# CHECK-NEXT: 1 2 1.00 * ldr r1, [r0, #16]!47# CHECK-NEXT: 1 2 1.00 * ldrb r1, [r0], #1648# CHECK-NEXT: 1 2 1.00 * ldrb r1, [r0, #16]!49# CHECK-NEXT: 1 2 1.00 * ldrh r1, [r0], #1650# CHECK-NEXT: 1 2 1.00 * ldrh r1, [r0, #16]!51# CHECK-NEXT: 1 2 1.00 * ldrsb r1, [r0], #1652# CHECK-NEXT: 1 2 1.00 * ldrsb r1, [r0, #16]!53# CHECK-NEXT: 1 2 1.00 * ldrsh r1, [r0], #1654# CHECK-NEXT: 1 2 1.00 * ldrsh r1, [r0, #16]!55 56# CHECK: Resources:57# CHECK-NEXT: [0] - M4Unit58 59# CHECK: Resource pressure per iteration:60# CHECK-NEXT: [0]61# CHECK-NEXT: 16.0062 63# CHECK: Resource pressure by instruction:64# CHECK-NEXT: [0] Instructions:65# CHECK-NEXT: 1.00 str r1, [r0], #1666# CHECK-NEXT: 1.00 str r1, [r0, #16]!67# CHECK-NEXT: 1.00 strb r1, [r0], #1668# CHECK-NEXT: 1.00 strb r1, [r0, #16]!69# CHECK-NEXT: 1.00 strh r1, [r0], #1670# CHECK-NEXT: 1.00 strh r1, [r0, #16]!71# CHECK-NEXT: 1.00 ldr r1, [r0], #1672# CHECK-NEXT: 1.00 ldr r1, [r0, #16]!73# CHECK-NEXT: 1.00 ldrb r1, [r0], #1674# CHECK-NEXT: 1.00 ldrb r1, [r0, #16]!75# CHECK-NEXT: 1.00 ldrh r1, [r0], #1676# CHECK-NEXT: 1.00 ldrh r1, [r0, #16]!77# CHECK-NEXT: 1.00 ldrsb r1, [r0], #1678# CHECK-NEXT: 1.00 ldrsb r1, [r0, #16]!79# CHECK-NEXT: 1.00 ldrsh r1, [r0], #1680# CHECK-NEXT: 1.00 ldrsh r1, [r0, #16]!81