| # RUN: llc -mtriple=aarch64-none-linux-gnu -mcpu=cortex-a55 -misched-dump-reserved-cycles=true \ |
| # RUN: -run-pass=machine-scheduler -debug-only=machine-scheduler -o - %s 2>&1 | FileCheck %s |
| |
| # RUN: llc -mtriple=aarch64-none-linux-gnu -mcpu=cortex-a55 -misched-dump-reserved-cycles=false\ |
| # RUN: -run-pass=machine-scheduler -debug-only=machine-scheduler -o - %s 2>&1 | FileCheck %s --check-prefix=NODUMP |
| |
| # REQUIRES: asserts |
| --- |
| name: f |
| tracksRegLiveness: true |
| body: | |
| bb.0: |
| liveins: $x0, $x1, $x2 |
| $x3 = ADDXrr $x0, $x0 |
| $x4 = ADDXrr $x1, $x1 |
| $x5 = ADDXrr $x2, $x2 |
| |
| # It is enough to check the last one of the printout of the state of |
| # the schedule boundary, just before the final schedule is printed. |
| |
| # CHECK-LABEL: Ready @1c |
| # CHECK-NEXT: CortexA55UnitALU +1x1u |
| # CHECK-NEXT: BotQ.A @1c |
| # CHECK-NEXT: Retired: 3 |
| # CHECK-NEXT: Executed: 1c |
| # CHECK-NEXT: Critical: 1c, 3 MOps |
| # CHECK-NEXT: ExpectedLatency: 0c |
| # CHECK-NEXT: - Latency limited. |
| # CHECK-NEXT: CortexA55UnitALU(0) = 1 |
| # CHECK-NEXT: CortexA55UnitALU(1) = 0 |
| # CHECK-NEXT: CortexA55UnitB(0) = 4294967295 |
| # CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295 |
| # CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295 |
| # CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295 |
| # CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295 |
| # CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295 |
| # CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295 |
| # CHECK-NEXT: CortexA55UnitLd(0) = 4294967295 |
| # CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295 |
| # CHECK-NEXT: CortexA55UnitSt(0) = 4294967295 |
| # CHECK-NEXT: ** ScheduleDAGMILive::schedule picking next node |
| # CHECK-NEXT: *** Final schedule for %bb.0 *** |
| # CHECK-NEXT: SU(0): $x3 = ADDXrr $x0, $x0 |
| # CHECK-NEXT: SU(1): $x4 = ADDXrr $x1, $x1 |
| # CHECK-NEXT: SU(2): $x5 = ADDXrr $x2, $x2 |
| |
| # NODUMP-LABEL: Ready @1c |
| # NODUMP-NEXT: CortexA55UnitALU +1x1u |
| # NODUMP-NEXT: BotQ.A @1c |
| # NODUMP-NEXT: Retired: 3 |
| # NODUMP-NEXT: Executed: 1c |
| # NODUMP-NEXT: Critical: 1c, 3 MOps |
| # NODUMP-NEXT: ExpectedLatency: 0c |
| # NODUMP-NEXT: - Latency limited. |
| # NODUMP-NEXT: ** ScheduleDAGMILive::schedule picking next node |
| # NODUMP-NEXT: *** Final schedule for %bb.0 *** |
| # NODUMP-NEXT: SU(0): $x3 = ADDXrr $x0, $x0 |
| # NODUMP-NEXT: SU(1): $x4 = ADDXrr $x1, $x1 |
| # NODUMP-NEXT: SU(2): $x5 = ADDXrr $x2, $x2 |
| |