1# RUN: llc -mtriple=aarch64-none-linux-gnu -mcpu=cortex-a55 -misched-dump-reserved-cycles=true \ 2# RUN: -run-pass=machine-scheduler -debug-only=machine-scheduler -o - %s 2>&1 | FileCheck %s 3 4# RUN: llc -mtriple=aarch64-none-linux-gnu -mcpu=cortex-a55 -misched-dump-reserved-cycles=false\ 5# RUN: -run-pass=machine-scheduler -debug-only=machine-scheduler -o - %s 2>&1 | FileCheck %s --check-prefix=NODUMP 6 7# REQUIRES: asserts 8--- 9name: f 10tracksRegLiveness: true 11body: | 12 bb.0: 13 liveins: $x0, $x1, $x2 14 $x3 = ADDXrr $x0, $x0 15 $x4 = ADDXrr $x1, $x1 16 $x5 = ADDXrr $x2, $x2 17 18# It is enough to check the last one of the printout of the state of 19# the schedule boundary, just before the final schedule is printed. 20 21# CHECK-LABEL: Ready @1c 22# CHECK-NEXT: CortexA55UnitALU +1x1u 23# CHECK-NEXT: BotQ.A @1c 24# CHECK-NEXT: Retired: 3 25# CHECK-NEXT: Executed: 1c 26# CHECK-NEXT: Critical: 1c, 3 MOps 27# CHECK-NEXT: ExpectedLatency: 0c 28# CHECK-NEXT: - Latency limited. 29# CHECK-NEXT: CortexA55UnitALU(0) = 1 30# CHECK-NEXT: CortexA55UnitALU(1) = 0 31# CHECK-NEXT: CortexA55UnitB(0) = 4294967295 32# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295 33# CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295 34# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295 35# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295 36# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295 37# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295 38# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295 39# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295 40# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295 41# CHECK-NEXT: ** ScheduleDAGMILive::schedule picking next node 42# CHECK-NEXT: *** Final schedule for %bb.0 *** 43# CHECK-NEXT: SU(0): $x3 = ADDXrr $x0, $x0 44# CHECK-NEXT: SU(1): $x4 = ADDXrr $x1, $x1 45# CHECK-NEXT: SU(2): $x5 = ADDXrr $x2, $x2 46 47# NODUMP-LABEL: Ready @1c 48# NODUMP-NEXT: CortexA55UnitALU +1x1u 49# NODUMP-NEXT: BotQ.A @1c 50# NODUMP-NEXT: Retired: 3 51# NODUMP-NEXT: Executed: 1c 52# NODUMP-NEXT: Critical: 1c, 3 MOps 53# NODUMP-NEXT: ExpectedLatency: 0c 54# NODUMP-NEXT: - Latency limited. 55# NODUMP-NEXT: ** ScheduleDAGMILive::schedule picking next node 56# NODUMP-NEXT: *** Final schedule for %bb.0 *** 57# NODUMP-NEXT: SU(0): $x3 = ADDXrr $x0, $x0 58# NODUMP-NEXT: SU(1): $x4 = ADDXrr $x1, $x1 59# NODUMP-NEXT: SU(2): $x5 = ADDXrr $x2, $x2 60 61