1 # RUN: llc -mtriple=aarch64-none-linux-gnu -mcpu=cortex-a55 \
2 # RUN: -misched-dump-reserved-cycles=true \
3 # RUN: -run-pass=machine-scheduler -debug-only=machine-scheduler \
4 # RUN: -o - %s 2>&1 -misched-topdown| FileCheck %s
6 # RUN: llc -mtriple=aarch64-none-linux-gnu -mcpu=cortex-a55 \
7 # RUN: -misched-dump-reserved-cycles=true -sched-model-force-enable-intervals=true \
8 # RUN: -run-pass=machine-scheduler -debug-only=machine-scheduler \
9 # RUN: -o - %s 2>&1 -misched-topdown| FileCheck %s --check-prefix=FORCE
11 # REQUIRES: asserts, aarch64-registered-target
14 tracksRegLiveness: true
21 STRXui $x3, $x10, 1 :: (store (s64))
24 # CHECK-LABEL: Scheduling SU(3) STRXui $x3, $x10, 1 :: (store (s64))
25 # CHECK-NEXT: Ready @5c
26 # CHECK-NEXT: CortexA55UnitSt +1x2u
27 # CHECK-NEXT: TopQ.A TopLatency SU(3) 5c
28 # CHECK-NEXT: TopQ.A @5c
29 # CHECK-NEXT: Retired: 4
30 # CHECK-NEXT: Executed: 5c
31 # CHECK-NEXT: Critical: 2c, 4 MOps
32 # CHECK-NEXT: ExpectedLatency: 5c
33 # CHECK-NEXT: - Latency limited.
34 # CHECK-NEXT: CortexA55UnitALU(0) = 3
35 # CHECK-NEXT: CortexA55UnitALU(1) = 4294967295
36 # CHECK-NEXT: CortexA55UnitB(0) = 4294967295
37 # CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295
38 # CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295
39 # CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295
40 # CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295
41 # CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295
42 # CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295
43 # CHECK-NEXT: CortexA55UnitLd(0) = 4294967295
44 # CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295
45 # CHECK-NEXT: CortexA55UnitSt(0) = 6
48 # FORCE-LABEL: Scheduling SU(3) STRXui $x3, $x10, 1 :: (store (s64))
49 # FORCE-NEXT: Ready @5c
50 # FORCE-NEXT: CortexA55UnitSt +1x2u
51 # FORCE-NEXT: TopQ.A TopLatency SU(3) 5c
52 # FORCE-NEXT: TopQ.A @5c
53 # FORCE-NEXT: Retired: 4
54 # FORCE-NEXT: Executed: 5c
55 # FORCE-NEXT: Critical: 2c, 4 MOps
56 # FORCE-NEXT: ExpectedLatency: 5c
57 # FORCE-NEXT: - Latency limited.
58 # FORCE-NEXT: CortexA55UnitALU(0) = { [0, 3), }
59 # FORCE-NEXT: CortexA55UnitALU(1) = { }
60 # FORCE-NEXT: CortexA55UnitB(0) = { }
61 # FORCE-NEXT: CortexA55UnitDiv(0) = { }
62 # FORCE-NEXT: CortexA55UnitFPALU(0) = { }
63 # FORCE-NEXT: CortexA55UnitFPALU(1) = { }
64 # FORCE-NEXT: CortexA55UnitFPDIV(0) = { }
65 # FORCE-NEXT: CortexA55UnitFPMAC(0) = { }
66 # FORCE-NEXT: CortexA55UnitFPMAC(1) = { }
67 # FORCE-NEXT: CortexA55UnitLd(0) = { }
68 # FORCE-NEXT: CortexA55UnitMAC(0) = { }
69 # FORCE-NEXT: CortexA55UnitSt(0) = { [5, 6), }