1717 lines · plain
1# RUN: llc -mtriple=aarch64-none-linux-gnu -mattr=+neon -mcpu=cortex-a55 %s -o - 2>&1 \2# RUN: -misched-dump-reserved-cycles=true \3# RUN: -run-pass=machine-scheduler -debug-only=machine-scheduler \4# RUN: -misched-prera-direction=bottomup -sched-print-cycles=true \5# RUN: -misched-detail-resource-booking=true \6# RUN: -misched-dump-schedule-trace=true -misched-dump-schedule-trace-col-header-width=21 \7# RUN: | FileCheck %s8 9# RUN: llc -mtriple=aarch64-none-linux-gnu -mattr=+neon -mcpu=cortex-a55 %s -o - 2>&1 \10# RUN: -misched-dump-reserved-cycles=true \11# RUN: -passes=machine-scheduler -debug-only=machine-scheduler \12# RUN: -misched-prera-direction=bottomup -sched-print-cycles=true \13# RUN: -misched-detail-resource-booking=true \14# RUN: -misched-dump-schedule-trace=true -misched-dump-schedule-trace-col-header-width=21 \15# RUN: | FileCheck %s16 17# REQUIRES: asserts18 19--- |20 ; ModuleID = '../llvm-project/llvm/test/CodeGen/AArch64/aarch64-smull.failing.ll'21 source_filename = "../llvm-project/llvm/test/CodeGen/AArch64/aarch64-smull.failing.ll"22 target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"23 target triple = "aarch64-none-linux-gnu"24 25 define <8 x i32> @umull_and_v8i32(<8 x i16> %src1, <8 x i32> %src2) #0 {26 entry:27 %in1 = zext <8 x i16> %src1 to <8 x i32>28 %in2 = and <8 x i32> %src2, <i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255, i32 255>29 %out = mul nsw <8 x i32> %in1, %in230 ret <8 x i32> %out31 }32 33 attributes #0 = { "target-features"="+neon" }34 35...36---37name: umull_and_v8i3238alignment: 439tracksRegLiveness: true40registers:41 - { id: 0, class: fpr128 }42 - { id: 1, class: fpr128 }43 - { id: 2, class: fpr128 }44 - { id: 3, class: fpr128 }45 - { id: 4, class: fpr64 }46 - { id: 5, class: fpr64 }47 - { id: 6, class: fpr128 }48 - { id: 7, class: fpr128 }49 - { id: 8, class: fpr128 }50 - { id: 9, class: fpr64 }51 - { id: 10, class: fpr128 }52 - { id: 11, class: fpr64 }53 - { id: 12, class: fpr128 }54liveins:55 - { reg: '$q0', virtual-reg: '%0' }56 - { reg: '$q1', virtual-reg: '%1' }57 - { reg: '$q2', virtual-reg: '%2' }58frameInfo:59 maxAlignment: 160 maxCallFrameSize: 061machineFunctionInfo: {}62body: |63 bb.0.entry:64 liveins: $q0, $q1, $q265 66 %2:fpr128 = COPY $q267 %1:fpr128 = COPY $q168 %0:fpr128 = COPY $q069 %3:fpr128 = EXTv16i8 %0, %0, 870 %6:fpr128 = MOVIv2d_ns 1771 %7:fpr128 = ANDv16i8 %2, %672 %8:fpr128 = ANDv16i8 %1, %673 %9:fpr64 = XTNv4i16 %874 %10:fpr128 = UMULLv4i16_v4i32 %0.dsub, %975 %11:fpr64 = XTNv4i16 %776 %12:fpr128 = UMULLv4i16_v4i32 %3.dsub, %1177 $q0 = COPY %1078 $q1 = COPY %1279 RET_ReallyLR implicit $q0, implicit $q180 81...82 83# CHECK-LABEL: Before MISched:84# CHECK-NEXT: # Machine code for function umull_and_v8i32: IsSSA, NoPHIs, TracksLiveness85# CHECK-NEXT: Function Live Ins: $q0 in %0, $q1 in %1, $q2 in %286# CHECK-EMPTY:87# CHECK-NEXT: bb.0.entry:88# CHECK-NEXT: liveins: $q0, $q1, $q289# CHECK-NEXT: %2:fpr128 = COPY $q290# CHECK-NEXT: %1:fpr128 = COPY $q191# CHECK-NEXT: %0:fpr128 = COPY $q092# CHECK-NEXT: %3:fpr128 = EXTv16i8 %0:fpr128, %0:fpr128, 893# CHECK-NEXT: %6:fpr128 = MOVIv2d_ns 1794# CHECK-NEXT: %7:fpr128 = ANDv16i8 %2:fpr128, %6:fpr12895# CHECK-NEXT: %8:fpr128 = ANDv16i8 %1:fpr128, %6:fpr12896# CHECK-NEXT: %9:fpr64 = XTNv4i16 %8:fpr12897# CHECK-NEXT: %10:fpr128 = UMULLv4i16_v4i32 %0.dsub:fpr128, %9:fpr6498# CHECK-NEXT: %11:fpr64 = XTNv4i16 %7:fpr12899# CHECK-NEXT: %12:fpr128 = UMULLv4i16_v4i32 %3.dsub:fpr128, %11:fpr64100# CHECK-NEXT: $q0 = COPY %10:fpr128101# CHECK-NEXT: $q1 = COPY %12:fpr128102# CHECK-NEXT: RET_ReallyLR implicit $q0, implicit $q1103# CHECK-EMPTY:104# CHECK-NEXT: # End machine code for function umull_and_v8i32.105# CHECK-EMPTY:106# CHECK-NEXT: ********** MI Scheduling **********107# CHECK-NEXT: umull_and_v8i32:%bb.0 entry108# CHECK-NEXT: From: %2:fpr128 = COPY $q2109# CHECK-NEXT: To: RET_ReallyLR implicit $q0, implicit $q1110# CHECK-NEXT: RegionInstrs: 13111# CHECK-NEXT: ScheduleDAGMILive::schedule starting112# CHECK-NEXT: GenericScheduler RegionPolicy: ShouldTrackPressure=0 OnlyTopDown=0 OnlyBottomUp=1113# CHECK-NEXT: Disabled scoreboard hazard recognizer114# CHECK-NEXT: Disabled scoreboard hazard recognizer115# CHECK-NEXT: SU(0) [TopReadyCycle = 0, BottomReadyCycle = 0]: %2:fpr128 = COPY $q2116# CHECK-NEXT: # preds left : 0117# CHECK-NEXT: # succs left : 1118# CHECK-NEXT: # rdefs left : 0119# CHECK-NEXT: Latency : 3120# CHECK-NEXT: Depth : 0121# CHECK-NEXT: Height : 13122# CHECK-NEXT: Successors:123# CHECK-NEXT: SU(5): Data Latency=3 Reg=%2124# CHECK-NEXT: Single Issue : false;125# CHECK-NEXT: SU(1) [TopReadyCycle = 0, BottomReadyCycle = 0]: %1:fpr128 = COPY $q1126# CHECK-NEXT: # preds left : 0127# CHECK-NEXT: # succs left : 2128# CHECK-NEXT: # rdefs left : 0129# CHECK-NEXT: Latency : 3130# CHECK-NEXT: Depth : 0131# CHECK-NEXT: Height : 13132# CHECK-NEXT: Successors:133# CHECK-NEXT: SU(6): Data Latency=3 Reg=%1134# CHECK-NEXT: SU(12): Anti Latency=0135# CHECK-NEXT: Single Issue : false;136# CHECK-NEXT: SU(2) [TopReadyCycle = 0, BottomReadyCycle = 0]: %0:fpr128 = COPY $q0137# CHECK-NEXT: # preds left : 0138# CHECK-NEXT: # succs left : 3139# CHECK-NEXT: # rdefs left : 0140# CHECK-NEXT: Latency : 3141# CHECK-NEXT: Depth : 0142# CHECK-NEXT: Height : 14143# CHECK-NEXT: Successors:144# CHECK-NEXT: SU(8): Data Latency=3 Reg=%0145# CHECK-NEXT: SU(3): Data Latency=3 Reg=%0146# CHECK-NEXT: SU(11): Anti Latency=0147# CHECK-NEXT: Single Issue : false;148# CHECK-NEXT: SU(3) [TopReadyCycle = 0, BottomReadyCycle = 0]: %3:fpr128 = EXTv16i8 %0:fpr128, %0:fpr128, 8149# CHECK-NEXT: # preds left : 1150# CHECK-NEXT: # succs left : 1151# CHECK-NEXT: # rdefs left : 0152# CHECK-NEXT: Latency : 4153# CHECK-NEXT: Depth : 3154# CHECK-NEXT: Height : 11155# CHECK-NEXT: Predecessors:156# CHECK-NEXT: SU(2): Data Latency=3 Reg=%0157# CHECK-NEXT: Successors:158# CHECK-NEXT: SU(10): Data Latency=4 Reg=%3159# CHECK-NEXT: Single Issue : false;160# CHECK-NEXT: SU(4) [TopReadyCycle = 0, BottomReadyCycle = 0]: %6:fpr128 = MOVIv2d_ns 17161# CHECK-NEXT: # preds left : 0162# CHECK-NEXT: # succs left : 2163# CHECK-NEXT: # rdefs left : 0164# CHECK-NEXT: Latency : 4165# CHECK-NEXT: Depth : 0166# CHECK-NEXT: Height : 14167# CHECK-NEXT: Successors:168# CHECK-NEXT: SU(6): Data Latency=4 Reg=%6169# CHECK-NEXT: SU(5): Data Latency=4 Reg=%6170# CHECK-NEXT: Single Issue : false;171# CHECK-NEXT: SU(5) [TopReadyCycle = 0, BottomReadyCycle = 0]: %7:fpr128 = ANDv16i8 %2:fpr128, %6:fpr128172# CHECK-NEXT: # preds left : 2173# CHECK-NEXT: # succs left : 1174# CHECK-NEXT: # rdefs left : 0175# CHECK-NEXT: Latency : 1176# CHECK-NEXT: Depth : 4177# CHECK-NEXT: Height : 10178# CHECK-NEXT: Predecessors:179# CHECK-NEXT: SU(4): Data Latency=4 Reg=%6180# CHECK-NEXT: SU(0): Data Latency=3 Reg=%2181# CHECK-NEXT: Successors:182# CHECK-NEXT: SU(9): Data Latency=1 Reg=%7183# CHECK-NEXT: Single Issue : false;184# CHECK-NEXT: SU(6) [TopReadyCycle = 0, BottomReadyCycle = 0]: %8:fpr128 = ANDv16i8 %1:fpr128, %6:fpr128185# CHECK-NEXT: # preds left : 2186# CHECK-NEXT: # succs left : 1187# CHECK-NEXT: # rdefs left : 0188# CHECK-NEXT: Latency : 1189# CHECK-NEXT: Depth : 4190# CHECK-NEXT: Height : 10191# CHECK-NEXT: Predecessors:192# CHECK-NEXT: SU(4): Data Latency=4 Reg=%6193# CHECK-NEXT: SU(1): Data Latency=3 Reg=%1194# CHECK-NEXT: Successors:195# CHECK-NEXT: SU(7): Data Latency=1 Reg=%8196# CHECK-NEXT: Single Issue : false;197# CHECK-NEXT: SU(7) [TopReadyCycle = 0, BottomReadyCycle = 0]: %9:fpr64 = XTNv4i16 %8:fpr128198# CHECK-NEXT: # preds left : 1199# CHECK-NEXT: # succs left : 1200# CHECK-NEXT: # rdefs left : 0201# CHECK-NEXT: Latency : 2202# CHECK-NEXT: Depth : 5203# CHECK-NEXT: Height : 9204# CHECK-NEXT: Predecessors:205# CHECK-NEXT: SU(6): Data Latency=1 Reg=%8206# CHECK-NEXT: Successors:207# CHECK-NEXT: SU(8): Data Latency=2 Reg=%9208# CHECK-NEXT: Single Issue : false;209# CHECK-NEXT: SU(8) [TopReadyCycle = 0, BottomReadyCycle = 0]: %10:fpr128 = UMULLv4i16_v4i32 %0.dsub:fpr128, %9:fpr64210# CHECK-NEXT: # preds left : 2211# CHECK-NEXT: # succs left : 1212# CHECK-NEXT: # rdefs left : 0213# CHECK-NEXT: Latency : 4214# CHECK-NEXT: Depth : 7215# CHECK-NEXT: Height : 7216# CHECK-NEXT: Predecessors:217# CHECK-NEXT: SU(7): Data Latency=2 Reg=%9218# CHECK-NEXT: SU(2): Data Latency=3 Reg=%0219# CHECK-NEXT: Successors:220# CHECK-NEXT: SU(11): Data Latency=4 Reg=%10221# CHECK-NEXT: Single Issue : false;222# CHECK-NEXT: SU(9) [TopReadyCycle = 0, BottomReadyCycle = 0]: %11:fpr64 = XTNv4i16 %7:fpr128223# CHECK-NEXT: # preds left : 1224# CHECK-NEXT: # succs left : 1225# CHECK-NEXT: # rdefs left : 0226# CHECK-NEXT: Latency : 2227# CHECK-NEXT: Depth : 5228# CHECK-NEXT: Height : 9229# CHECK-NEXT: Predecessors:230# CHECK-NEXT: SU(5): Data Latency=1 Reg=%7231# CHECK-NEXT: Successors:232# CHECK-NEXT: SU(10): Data Latency=2 Reg=%11233# CHECK-NEXT: Single Issue : false;234# CHECK-NEXT: SU(10) [TopReadyCycle = 0, BottomReadyCycle = 0]: %12:fpr128 = UMULLv4i16_v4i32 %3.dsub:fpr128, %11:fpr64235# CHECK-NEXT: # preds left : 2236# CHECK-NEXT: # succs left : 1237# CHECK-NEXT: # rdefs left : 0238# CHECK-NEXT: Latency : 4239# CHECK-NEXT: Depth : 7240# CHECK-NEXT: Height : 7241# CHECK-NEXT: Predecessors:242# CHECK-NEXT: SU(9): Data Latency=2 Reg=%11243# CHECK-NEXT: SU(3): Data Latency=4 Reg=%3244# CHECK-NEXT: Successors:245# CHECK-NEXT: SU(12): Data Latency=4 Reg=%12246# CHECK-NEXT: Single Issue : false;247# CHECK-NEXT: SU(11) [TopReadyCycle = 0, BottomReadyCycle = 0]: $q0 = COPY %10:fpr128248# CHECK-NEXT: # preds left : 2249# CHECK-NEXT: # succs left : 1250# CHECK-NEXT: # rdefs left : 0251# CHECK-NEXT: Latency : 3252# CHECK-NEXT: Depth : 11253# CHECK-NEXT: Height : 3254# CHECK-NEXT: Predecessors:255# CHECK-NEXT: SU(8): Data Latency=4 Reg=%10256# CHECK-NEXT: SU(2): Anti Latency=0257# CHECK-NEXT: Successors:258# CHECK-NEXT: ExitSU: Ord Latency=3 Artificial259# CHECK-NEXT: Single Issue : false;260# CHECK-NEXT: SU(12) [TopReadyCycle = 0, BottomReadyCycle = 0]: $q1 = COPY %12:fpr128261# CHECK-NEXT: # preds left : 2262# CHECK-NEXT: # succs left : 1263# CHECK-NEXT: # rdefs left : 0264# CHECK-NEXT: Latency : 3265# CHECK-NEXT: Depth : 11266# CHECK-NEXT: Height : 3267# CHECK-NEXT: Predecessors:268# CHECK-NEXT: SU(10): Data Latency=4 Reg=%12269# CHECK-NEXT: SU(1): Anti Latency=0270# CHECK-NEXT: Successors:271# CHECK-NEXT: ExitSU: Ord Latency=3 Artificial272# CHECK-NEXT: Single Issue : false;273# CHECK-NEXT: ExitSU [TopReadyCycle = 0, BottomReadyCycle = 0]: RET_ReallyLR implicit $q0, implicit $q1274# CHECK-NEXT: # preds left : 2275# CHECK-NEXT: # succs left : 0276# CHECK-NEXT: # rdefs left : 0277# CHECK-NEXT: Latency : 0278# CHECK-NEXT: Depth : 14279# CHECK-NEXT: Height : 0280# CHECK-NEXT: Predecessors:281# CHECK-NEXT: SU(12): Ord Latency=3 Artificial282# CHECK-NEXT: SU(11): Ord Latency=3 Artificial283# CHECK-NEXT: Resource booking (@0c):284# CHECK-NEXT: CortexA55UnitALU(0) = 4294967295285# CHECK-NEXT: CortexA55UnitALU(1) = 4294967295286# CHECK-NEXT: CortexA55UnitB(0) = 4294967295287# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295288# CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295289# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295290# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295291# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295292# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295293# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295294# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295295# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295296# CHECK-NEXT: getNextResourceCycle (@0c):297# CHECK-NEXT: Instance 0 available @0c298# CHECK-NEXT: Instance 1 available @0c299# CHECK-NEXT: selecting CortexA55UnitALU[0] available @0c300# CHECK-NEXT: Move SU(0) into Available Q301# CHECK-NEXT: Resource booking (@0c):302# CHECK-NEXT: CortexA55UnitALU(0) = 4294967295303# CHECK-NEXT: CortexA55UnitALU(1) = 4294967295304# CHECK-NEXT: CortexA55UnitB(0) = 4294967295305# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295306# CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295307# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295308# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295309# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295310# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295311# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295312# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295313# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295314# CHECK-NEXT: getNextResourceCycle (@0c):315# CHECK-NEXT: Instance 0 available @0c316# CHECK-NEXT: Instance 1 available @0c317# CHECK-NEXT: selecting CortexA55UnitALU[0] available @0c318# CHECK-NEXT: Move SU(1) into Available Q319# CHECK-NEXT: Resource booking (@0c):320# CHECK-NEXT: CortexA55UnitALU(0) = 4294967295321# CHECK-NEXT: CortexA55UnitALU(1) = 4294967295322# CHECK-NEXT: CortexA55UnitB(0) = 4294967295323# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295324# CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295325# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295326# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295327# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295328# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295329# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295330# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295331# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295332# CHECK-NEXT: getNextResourceCycle (@0c):333# CHECK-NEXT: Instance 0 available @0c334# CHECK-NEXT: Instance 1 available @0c335# CHECK-NEXT: selecting CortexA55UnitALU[0] available @0c336# CHECK-NEXT: Move SU(2) into Available Q337# CHECK-NEXT: Resource booking (@0c):338# CHECK-NEXT: CortexA55UnitALU(0) = 4294967295339# CHECK-NEXT: CortexA55UnitALU(1) = 4294967295340# CHECK-NEXT: CortexA55UnitB(0) = 4294967295341# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295342# CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295343# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295344# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295345# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295346# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295347# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295348# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295349# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295350# CHECK-NEXT: getNextResourceCycle (@0c):351# CHECK-NEXT: Instance 0 available @0c352# CHECK-NEXT: Instance 1 available @0c353# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @0c354# CHECK-NEXT: Move SU(4) into Available Q355# CHECK-NEXT: hazard: SU(12) ReadyCycle = 3 is later than CurrCycle = 0 on an unbuffered resource356# CHECK-NEXT: hazard: SU(11) ReadyCycle = 3 is later than CurrCycle = 0 on an unbuffered resource357# CHECK-NEXT: Critical Path(GS-RR ): 14358# CHECK-NEXT: ** ScheduleDAGMILive::schedule picking next node359# CHECK-NEXT: Cycle: 3 BotQ.A360# CHECK-NEXT: Checking pending node SU(12)361# CHECK-NEXT: Resource booking (@3c):362# CHECK-NEXT: CortexA55UnitALU(0) = 4294967295363# CHECK-NEXT: CortexA55UnitALU(1) = 4294967295364# CHECK-NEXT: CortexA55UnitB(0) = 4294967295365# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295366# CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295367# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295368# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295369# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295370# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295371# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295372# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295373# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295374# CHECK-NEXT: getNextResourceCycle (@3c):375# CHECK-NEXT: Instance 0 available @3c376# CHECK-NEXT: Instance 1 available @3c377# CHECK-NEXT: selecting CortexA55UnitALU[0] available @3c378# CHECK-NEXT: Move SU(12) into Available Q379# CHECK-NEXT: Checking pending node SU(11)380# CHECK-NEXT: Resource booking (@3c):381# CHECK-NEXT: CortexA55UnitALU(0) = 4294967295382# CHECK-NEXT: CortexA55UnitALU(1) = 4294967295383# CHECK-NEXT: CortexA55UnitB(0) = 4294967295384# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295385# CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295386# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295387# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295388# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295389# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295390# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295391# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295392# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295393# CHECK-NEXT: getNextResourceCycle (@3c):394# CHECK-NEXT: Instance 0 available @3c395# CHECK-NEXT: Instance 1 available @3c396# CHECK-NEXT: selecting CortexA55UnitALU[0] available @3c397# CHECK-NEXT: Move SU(11) into Available Q398# CHECK-NEXT: Queue BotQ.P:399# CHECK-NEXT: Queue BotQ.A: 12 11400# CHECK-NEXT: Cand SU(12) FIRST401# CHECK-NEXT: Pick Bot FIRST402# CHECK-NEXT: Scheduling SU(12) $q1 = COPY %12:fpr128403# CHECK-NEXT: Ready @3c404# CHECK-NEXT: CortexA55UnitALU +1x1u405# CHECK-NEXT: Resource booking (@3c):406# CHECK-NEXT: CortexA55UnitALU(0) = 4294967295407# CHECK-NEXT: CortexA55UnitALU(1) = 4294967295408# CHECK-NEXT: CortexA55UnitB(0) = 4294967295409# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295410# CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295411# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295412# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295413# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295414# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295415# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295416# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295417# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295418# CHECK-NEXT: getNextResourceCycle (@3c):419# CHECK-NEXT: Instance 0 available @3c420# CHECK-NEXT: Instance 1 available @3c421# CHECK-NEXT: selecting CortexA55UnitALU[0] available @3c422# CHECK-NEXT: Resource booking (@3c):423# CHECK-NEXT: CortexA55UnitALU(0) = 4294967295424# CHECK-NEXT: CortexA55UnitALU(1) = 4294967295425# CHECK-NEXT: CortexA55UnitB(0) = 4294967295426# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295427# CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295428# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295429# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295430# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295431# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295432# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295433# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295434# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295435# CHECK-NEXT: getNextResourceCycle (@3c):436# CHECK-NEXT: Instance 0 available @3c437# CHECK-NEXT: Instance 1 available @3c438# CHECK-NEXT: selecting CortexA55UnitALU[0] available @3c439# CHECK-NEXT: BotQ.A TopLatency SU(12) 11c440# CHECK-NEXT: BotQ.A BotLatency SU(12) 3c441# CHECK-NEXT: BotQ.A @3c442# CHECK-NEXT: Retired: 1443# CHECK-NEXT: Executed: 3c444# CHECK-NEXT: Critical: 0c, 1 MOps445# CHECK-NEXT: ExpectedLatency: 3c446# CHECK-NEXT: - Latency limited.447# CHECK-NEXT: CortexA55UnitALU(0) = 3448# CHECK-NEXT: CortexA55UnitALU(1) = 4294967295449# CHECK-NEXT: CortexA55UnitB(0) = 4294967295450# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295451# CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295452# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295453# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295454# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295455# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295456# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295457# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295458# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295459# CHECK-NEXT: hazard: SU(10) ReadyCycle = 7 is later than CurrCycle = 3 on an unbuffered resource460# CHECK-NEXT: ** ScheduleDAGMILive::schedule picking next node461# CHECK-NEXT: Resource booking (@3c):462# CHECK-NEXT: CortexA55UnitALU(0) = 3463# CHECK-NEXT: CortexA55UnitALU(1) = 4294967295464# CHECK-NEXT: CortexA55UnitB(0) = 4294967295465# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295466# CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295467# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295468# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295469# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295470# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295471# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295472# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295473# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295474# CHECK-NEXT: getNextResourceCycle (@3c):475# CHECK-NEXT: Instance 0 available @4c476# CHECK-NEXT: Instance 1 available @3c477# CHECK-NEXT: selecting CortexA55UnitALU[1] available @3c478# CHECK-NEXT: Queue BotQ.P: 10479# CHECK-NEXT: Queue BotQ.A: 11480# CHECK-NEXT: Scheduling SU(11) $q0 = COPY %10:fpr128481# CHECK-NEXT: Ready @3c482# CHECK-NEXT: CortexA55UnitALU +1x1u483# CHECK-NEXT: Resource booking (@3c):484# CHECK-NEXT: CortexA55UnitALU(0) = 3485# CHECK-NEXT: CortexA55UnitALU(1) = 4294967295486# CHECK-NEXT: CortexA55UnitB(0) = 4294967295487# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295488# CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295489# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295490# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295491# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295492# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295493# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295494# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295495# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295496# CHECK-NEXT: getNextResourceCycle (@3c):497# CHECK-NEXT: Instance 0 available @4c498# CHECK-NEXT: Instance 1 available @3c499# CHECK-NEXT: selecting CortexA55UnitALU[1] available @3c500# CHECK-NEXT: Resource booking (@3c):501# CHECK-NEXT: CortexA55UnitALU(0) = 3502# CHECK-NEXT: CortexA55UnitALU(1) = 4294967295503# CHECK-NEXT: CortexA55UnitB(0) = 4294967295504# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295505# CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295506# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295507# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295508# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295509# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295510# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295511# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295512# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295513# CHECK-NEXT: getNextResourceCycle (@3c):514# CHECK-NEXT: Instance 0 available @4c515# CHECK-NEXT: Instance 1 available @3c516# CHECK-NEXT: selecting CortexA55UnitALU[1] available @3c517# CHECK-NEXT: *** Max MOps 2 at cycle 3518# CHECK-NEXT: Cycle: 4 BotQ.A519# CHECK-NEXT: BotQ.A @4c520# CHECK-NEXT: Retired: 2521# CHECK-NEXT: Executed: 4c522# CHECK-NEXT: Critical: 1c, 2 MOps523# CHECK-NEXT: ExpectedLatency: 3c524# CHECK-NEXT: - Latency limited.525# CHECK-NEXT: CortexA55UnitALU(0) = 3526# CHECK-NEXT: CortexA55UnitALU(1) = 3527# CHECK-NEXT: CortexA55UnitB(0) = 4294967295528# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295529# CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295530# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295531# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295532# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295533# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295534# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295535# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295536# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295537# CHECK-NEXT: hazard: SU(8) ReadyCycle = 7 is later than CurrCycle = 4 on an unbuffered resource538# CHECK-NEXT: ** ScheduleDAGMILive::schedule picking next node539# CHECK-NEXT: Checking pending node SU(10)540# CHECK-NEXT: hazard: SU(10) ReadyCycle = 7 is later than CurrCycle = 4 on an unbuffered resource541# CHECK-NEXT: Checking pending node SU(8)542# CHECK-NEXT: hazard: SU(8) ReadyCycle = 7 is later than CurrCycle = 4 on an unbuffered resource543# CHECK-NEXT: Cycle: 7 BotQ.A544# CHECK-NEXT: Checking pending node SU(10)545# CHECK-NEXT: Resource booking (@7c):546# CHECK-NEXT: CortexA55UnitALU(0) = 3547# CHECK-NEXT: CortexA55UnitALU(1) = 3548# CHECK-NEXT: CortexA55UnitB(0) = 4294967295549# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295550# CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295551# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295552# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295553# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295554# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295555# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295556# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295557# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295558# CHECK-NEXT: getNextResourceCycle (@7c):559# CHECK-NEXT: Instance 0 available @7c560# CHECK-NEXT: Instance 1 available @7c561# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @7c562# CHECK-NEXT: Move SU(10) into Available Q563# CHECK-NEXT: Checking pending node SU(8)564# CHECK-NEXT: Resource booking (@7c):565# CHECK-NEXT: CortexA55UnitALU(0) = 3566# CHECK-NEXT: CortexA55UnitALU(1) = 3567# CHECK-NEXT: CortexA55UnitB(0) = 4294967295568# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295569# CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295570# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295571# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295572# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295573# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295574# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295575# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295576# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295577# CHECK-NEXT: getNextResourceCycle (@7c):578# CHECK-NEXT: Instance 0 available @7c579# CHECK-NEXT: Instance 1 available @7c580# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @7c581# CHECK-NEXT: Move SU(8) into Available Q582# CHECK-NEXT: Queue BotQ.P:583# CHECK-NEXT: Queue BotQ.A: 10 8584# CHECK-NEXT: Cand SU(10) FIRST585# CHECK-NEXT: Pick Bot FIRST586# CHECK-NEXT: Scheduling SU(10) %12:fpr128 = UMULLv4i16_v4i32 %3.dsub:fpr128, %11:fpr64587# CHECK-NEXT: Ready @7c588# CHECK-NEXT: CortexA55UnitFPALU +2x1u589# CHECK-NEXT: Resource booking (@7c):590# CHECK-NEXT: CortexA55UnitALU(0) = 3591# CHECK-NEXT: CortexA55UnitALU(1) = 3592# CHECK-NEXT: CortexA55UnitB(0) = 4294967295593# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295594# CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295595# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295596# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295597# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295598# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295599# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295600# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295601# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295602# CHECK-NEXT: getNextResourceCycle (@7c):603# CHECK-NEXT: Instance 0 available @7c604# CHECK-NEXT: Instance 1 available @7c605# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @7c606# CHECK-NEXT: Resource booking (@7c):607# CHECK-NEXT: CortexA55UnitALU(0) = 3608# CHECK-NEXT: CortexA55UnitALU(1) = 3609# CHECK-NEXT: CortexA55UnitB(0) = 4294967295610# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295611# CHECK-NEXT: CortexA55UnitFPALU(0) = 4294967295612# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295613# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295614# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295615# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295616# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295617# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295618# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295619# CHECK-NEXT: getNextResourceCycle (@7c):620# CHECK-NEXT: Instance 0 available @7c621# CHECK-NEXT: Instance 1 available @7c622# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @7c623# CHECK-NEXT: BotQ.A BotLatency SU(10) 7c624# CHECK-NEXT: Bump cycle to begin group625# CHECK-NEXT: Cycle: 8 BotQ.A626# CHECK-NEXT: BotQ.A @8c627# CHECK-NEXT: Retired: 3628# CHECK-NEXT: Executed: 8c629# CHECK-NEXT: Critical: 1c, 3 MOps630# CHECK-NEXT: ExpectedLatency: 7c631# CHECK-NEXT: - Latency limited.632# CHECK-NEXT: CortexA55UnitALU(0) = 3633# CHECK-NEXT: CortexA55UnitALU(1) = 3634# CHECK-NEXT: CortexA55UnitB(0) = 4294967295635# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295636# CHECK-NEXT: CortexA55UnitFPALU(0) = 7637# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295638# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295639# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295640# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295641# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295642# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295643# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295644# CHECK-NEXT: hazard: SU(9) ReadyCycle = 9 is later than CurrCycle = 8 on an unbuffered resource645# CHECK-NEXT: hazard: SU(3) ReadyCycle = 11 is later than CurrCycle = 8 on an unbuffered resource646# CHECK-NEXT: ** ScheduleDAGMILive::schedule picking next node647# CHECK-NEXT: Checking pending node SU(9)648# CHECK-NEXT: hazard: SU(9) ReadyCycle = 9 is later than CurrCycle = 8 on an unbuffered resource649# CHECK-NEXT: Checking pending node SU(3)650# CHECK-NEXT: hazard: SU(3) ReadyCycle = 11 is later than CurrCycle = 8 on an unbuffered resource651# CHECK-NEXT: Resource booking (@8c):652# CHECK-NEXT: CortexA55UnitALU(0) = 3653# CHECK-NEXT: CortexA55UnitALU(1) = 3654# CHECK-NEXT: CortexA55UnitB(0) = 4294967295655# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295656# CHECK-NEXT: CortexA55UnitFPALU(0) = 7657# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295658# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295659# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295660# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295661# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295662# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295663# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295664# CHECK-NEXT: getNextResourceCycle (@8c):665# CHECK-NEXT: Instance 0 available @9c666# CHECK-NEXT: Instance 1 available @8c667# CHECK-NEXT: selecting CortexA55UnitFPALU[1] available @8c668# CHECK-NEXT: Queue BotQ.P: 9 3669# CHECK-NEXT: Queue BotQ.A: 8670# CHECK-NEXT: Scheduling SU(8) %10:fpr128 = UMULLv4i16_v4i32 %0.dsub:fpr128, %9:fpr64671# CHECK-NEXT: Ready @8c672# CHECK-NEXT: CortexA55UnitFPALU +2x1u673# CHECK-NEXT: Resource booking (@8c):674# CHECK-NEXT: CortexA55UnitALU(0) = 3675# CHECK-NEXT: CortexA55UnitALU(1) = 3676# CHECK-NEXT: CortexA55UnitB(0) = 4294967295677# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295678# CHECK-NEXT: CortexA55UnitFPALU(0) = 7679# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295680# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295681# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295682# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295683# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295684# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295685# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295686# CHECK-NEXT: getNextResourceCycle (@8c):687# CHECK-NEXT: Instance 0 available @9c688# CHECK-NEXT: Instance 1 available @8c689# CHECK-NEXT: selecting CortexA55UnitFPALU[1] available @8c690# CHECK-NEXT: Resource booking (@8c):691# CHECK-NEXT: CortexA55UnitALU(0) = 3692# CHECK-NEXT: CortexA55UnitALU(1) = 3693# CHECK-NEXT: CortexA55UnitB(0) = 4294967295694# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295695# CHECK-NEXT: CortexA55UnitFPALU(0) = 7696# CHECK-NEXT: CortexA55UnitFPALU(1) = 4294967295697# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295698# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295699# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295700# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295701# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295702# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295703# CHECK-NEXT: getNextResourceCycle (@8c):704# CHECK-NEXT: Instance 0 available @9c705# CHECK-NEXT: Instance 1 available @8c706# CHECK-NEXT: selecting CortexA55UnitFPALU[1] available @8c707# CHECK-NEXT: BotQ.A TopLatency SU(8) 7c708# CHECK-NEXT: Bump cycle to begin group709# CHECK-NEXT: Cycle: 9 BotQ.A710# CHECK-NEXT: BotQ.A @9c711# CHECK-NEXT: Retired: 4712# CHECK-NEXT: Executed: 9c713# CHECK-NEXT: Critical: 2c, 4 MOps714# CHECK-NEXT: ExpectedLatency: 7c715# CHECK-NEXT: - Latency limited.716# CHECK-NEXT: CortexA55UnitALU(0) = 3717# CHECK-NEXT: CortexA55UnitALU(1) = 3718# CHECK-NEXT: CortexA55UnitB(0) = 4294967295719# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295720# CHECK-NEXT: CortexA55UnitFPALU(0) = 7721# CHECK-NEXT: CortexA55UnitFPALU(1) = 8722# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295723# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295724# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295725# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295726# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295727# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295728# CHECK-NEXT: hazard: SU(7) ReadyCycle = 10 is later than CurrCycle = 9 on an unbuffered resource729# CHECK-NEXT: ** ScheduleDAGMILive::schedule picking next node730# CHECK-NEXT: Checking pending node SU(9)731# CHECK-NEXT: Resource booking (@9c):732# CHECK-NEXT: CortexA55UnitALU(0) = 3733# CHECK-NEXT: CortexA55UnitALU(1) = 3734# CHECK-NEXT: CortexA55UnitB(0) = 4294967295735# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295736# CHECK-NEXT: CortexA55UnitFPALU(0) = 7737# CHECK-NEXT: CortexA55UnitFPALU(1) = 8738# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295739# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295740# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295741# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295742# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295743# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295744# CHECK-NEXT: getNextResourceCycle (@9c):745# CHECK-NEXT: Instance 0 available @9c746# CHECK-NEXT: Instance 1 available @9c747# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @9c748# CHECK-NEXT: Move SU(9) into Available Q749# CHECK-NEXT: Checking pending node SU(7)750# CHECK-NEXT: hazard: SU(7) ReadyCycle = 10 is later than CurrCycle = 9 on an unbuffered resource751# CHECK-NEXT: Checking pending node SU(3)752# CHECK-NEXT: hazard: SU(3) ReadyCycle = 11 is later than CurrCycle = 9 on an unbuffered resource753# CHECK-NEXT: Resource booking (@9c):754# CHECK-NEXT: CortexA55UnitALU(0) = 3755# CHECK-NEXT: CortexA55UnitALU(1) = 3756# CHECK-NEXT: CortexA55UnitB(0) = 4294967295757# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295758# CHECK-NEXT: CortexA55UnitFPALU(0) = 7759# CHECK-NEXT: CortexA55UnitFPALU(1) = 8760# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295761# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295762# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295763# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295764# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295765# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295766# CHECK-NEXT: getNextResourceCycle (@9c):767# CHECK-NEXT: Instance 0 available @9c768# CHECK-NEXT: Instance 1 available @9c769# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @9c770# CHECK-NEXT: Queue BotQ.P: 7 3771# CHECK-NEXT: Queue BotQ.A: 9772# CHECK-NEXT: Scheduling SU(9) %11:fpr64 = XTNv4i16 %7:fpr128773# CHECK-NEXT: Ready @9c774# CHECK-NEXT: CortexA55UnitFPALU +1x1u775# CHECK-NEXT: Resource booking (@9c):776# CHECK-NEXT: CortexA55UnitALU(0) = 3777# CHECK-NEXT: CortexA55UnitALU(1) = 3778# CHECK-NEXT: CortexA55UnitB(0) = 4294967295779# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295780# CHECK-NEXT: CortexA55UnitFPALU(0) = 7781# CHECK-NEXT: CortexA55UnitFPALU(1) = 8782# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295783# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295784# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295785# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295786# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295787# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295788# CHECK-NEXT: getNextResourceCycle (@9c):789# CHECK-NEXT: Instance 0 available @9c790# CHECK-NEXT: Instance 1 available @9c791# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @9c792# CHECK-NEXT: Resource booking (@9c):793# CHECK-NEXT: CortexA55UnitALU(0) = 3794# CHECK-NEXT: CortexA55UnitALU(1) = 3795# CHECK-NEXT: CortexA55UnitB(0) = 4294967295796# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295797# CHECK-NEXT: CortexA55UnitFPALU(0) = 7798# CHECK-NEXT: CortexA55UnitFPALU(1) = 8799# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295800# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295801# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295802# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295803# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295804# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295805# CHECK-NEXT: getNextResourceCycle (@9c):806# CHECK-NEXT: Instance 0 available @9c807# CHECK-NEXT: Instance 1 available @9c808# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @9c809# CHECK-NEXT: BotQ.A BotLatency SU(9) 9c810# CHECK-NEXT: BotQ.A @9c811# CHECK-NEXT: Retired: 5812# CHECK-NEXT: Executed: 9c813# CHECK-NEXT: Critical: 2c, 5 MOps814# CHECK-NEXT: ExpectedLatency: 9c815# CHECK-NEXT: - Latency limited.816# CHECK-NEXT: CortexA55UnitALU(0) = 3817# CHECK-NEXT: CortexA55UnitALU(1) = 3818# CHECK-NEXT: CortexA55UnitB(0) = 4294967295819# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295820# CHECK-NEXT: CortexA55UnitFPALU(0) = 9821# CHECK-NEXT: CortexA55UnitFPALU(1) = 8822# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295823# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295824# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295825# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295826# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295827# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295828# CHECK-NEXT: hazard: SU(5) ReadyCycle = 10 is later than CurrCycle = 9 on an unbuffered resource829# CHECK-NEXT: ** ScheduleDAGMILive::schedule picking next node830# CHECK-NEXT: Cycle: 10 BotQ.A831# CHECK-NEXT: Checking pending node SU(7)832# CHECK-NEXT: Resource booking (@10c):833# CHECK-NEXT: CortexA55UnitALU(0) = 3834# CHECK-NEXT: CortexA55UnitALU(1) = 3835# CHECK-NEXT: CortexA55UnitB(0) = 4294967295836# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295837# CHECK-NEXT: CortexA55UnitFPALU(0) = 9838# CHECK-NEXT: CortexA55UnitFPALU(1) = 8839# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295840# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295841# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295842# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295843# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295844# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295845# CHECK-NEXT: getNextResourceCycle (@10c):846# CHECK-NEXT: Instance 0 available @10c847# CHECK-NEXT: Instance 1 available @10c848# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @10c849# CHECK-NEXT: Move SU(7) into Available Q850# CHECK-NEXT: Checking pending node SU(5)851# CHECK-NEXT: Resource booking (@10c):852# CHECK-NEXT: CortexA55UnitALU(0) = 3853# CHECK-NEXT: CortexA55UnitALU(1) = 3854# CHECK-NEXT: CortexA55UnitB(0) = 4294967295855# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295856# CHECK-NEXT: CortexA55UnitFPALU(0) = 9857# CHECK-NEXT: CortexA55UnitFPALU(1) = 8858# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295859# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295860# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295861# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295862# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295863# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295864# CHECK-NEXT: getNextResourceCycle (@10c):865# CHECK-NEXT: Instance 0 available @11c866# CHECK-NEXT: Instance 1 available @10c867# CHECK-NEXT: selecting CortexA55UnitFPALU[1] available @10c868# CHECK-NEXT: Move SU(5) into Available Q869# CHECK-NEXT: Checking pending node SU(3)870# CHECK-NEXT: hazard: SU(3) ReadyCycle = 11 is later than CurrCycle = 10 on an unbuffered resource871# CHECK-NEXT: Queue BotQ.P: 3872# CHECK-NEXT: Queue BotQ.A: 7 5873# CHECK-NEXT: Cand SU(7) FIRST874# CHECK-NEXT: Pick Bot FIRST875# CHECK-NEXT: Scheduling SU(7) %9:fpr64 = XTNv4i16 %8:fpr128876# CHECK-NEXT: Ready @10c877# CHECK-NEXT: CortexA55UnitFPALU +1x1u878# CHECK-NEXT: Resource booking (@10c):879# CHECK-NEXT: CortexA55UnitALU(0) = 3880# CHECK-NEXT: CortexA55UnitALU(1) = 3881# CHECK-NEXT: CortexA55UnitB(0) = 4294967295882# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295883# CHECK-NEXT: CortexA55UnitFPALU(0) = 9884# CHECK-NEXT: CortexA55UnitFPALU(1) = 8885# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295886# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295887# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295888# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295889# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295890# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295891# CHECK-NEXT: getNextResourceCycle (@10c):892# CHECK-NEXT: Instance 0 available @10c893# CHECK-NEXT: Instance 1 available @10c894# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @10c895# CHECK-NEXT: Resource booking (@10c):896# CHECK-NEXT: CortexA55UnitALU(0) = 3897# CHECK-NEXT: CortexA55UnitALU(1) = 3898# CHECK-NEXT: CortexA55UnitB(0) = 4294967295899# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295900# CHECK-NEXT: CortexA55UnitFPALU(0) = 9901# CHECK-NEXT: CortexA55UnitFPALU(1) = 8902# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295903# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295904# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295905# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295906# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295907# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295908# CHECK-NEXT: getNextResourceCycle (@10c):909# CHECK-NEXT: Instance 0 available @10c910# CHECK-NEXT: Instance 1 available @10c911# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @10c912# CHECK-NEXT: BotQ.A @10c913# CHECK-NEXT: Retired: 6914# CHECK-NEXT: Executed: 10c915# CHECK-NEXT: Critical: 3c, 6 MOps916# CHECK-NEXT: ExpectedLatency: 9c917# CHECK-NEXT: - Latency limited.918# CHECK-NEXT: CortexA55UnitALU(0) = 3919# CHECK-NEXT: CortexA55UnitALU(1) = 3920# CHECK-NEXT: CortexA55UnitB(0) = 4294967295921# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295922# CHECK-NEXT: CortexA55UnitFPALU(0) = 10923# CHECK-NEXT: CortexA55UnitFPALU(1) = 8924# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295925# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295926# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295927# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295928# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295929# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295930# CHECK-NEXT: hazard: SU(6) ReadyCycle = 11 is later than CurrCycle = 10 on an unbuffered resource931# CHECK-NEXT: ** ScheduleDAGMILive::schedule picking next node932# CHECK-NEXT: Resource booking (@10c):933# CHECK-NEXT: CortexA55UnitALU(0) = 3934# CHECK-NEXT: CortexA55UnitALU(1) = 3935# CHECK-NEXT: CortexA55UnitB(0) = 4294967295936# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295937# CHECK-NEXT: CortexA55UnitFPALU(0) = 10938# CHECK-NEXT: CortexA55UnitFPALU(1) = 8939# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295940# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295941# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295942# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295943# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295944# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295945# CHECK-NEXT: getNextResourceCycle (@10c):946# CHECK-NEXT: Instance 0 available @12c947# CHECK-NEXT: Instance 1 available @10c948# CHECK-NEXT: selecting CortexA55UnitFPALU[1] available @10c949# CHECK-NEXT: Queue BotQ.P: 3 6950# CHECK-NEXT: Queue BotQ.A: 5951# CHECK-NEXT: Scheduling SU(5) %7:fpr128 = ANDv16i8 %2:fpr128, %6:fpr128952# CHECK-NEXT: Ready @10c953# CHECK-NEXT: CortexA55UnitFPALU +2x1u954# CHECK-NEXT: *** Critical resource CortexA55UnitFPALU: 4c955# CHECK-NEXT: Resource booking (@10c):956# CHECK-NEXT: CortexA55UnitALU(0) = 3957# CHECK-NEXT: CortexA55UnitALU(1) = 3958# CHECK-NEXT: CortexA55UnitB(0) = 4294967295959# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295960# CHECK-NEXT: CortexA55UnitFPALU(0) = 10961# CHECK-NEXT: CortexA55UnitFPALU(1) = 8962# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295963# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295964# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295965# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295966# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295967# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295968# CHECK-NEXT: getNextResourceCycle (@10c):969# CHECK-NEXT: Instance 0 available @12c970# CHECK-NEXT: Instance 1 available @10c971# CHECK-NEXT: selecting CortexA55UnitFPALU[1] available @10c972# CHECK-NEXT: Resource booking (@10c):973# CHECK-NEXT: CortexA55UnitALU(0) = 3974# CHECK-NEXT: CortexA55UnitALU(1) = 3975# CHECK-NEXT: CortexA55UnitB(0) = 4294967295976# CHECK-NEXT: CortexA55UnitDiv(0) = 4294967295977# CHECK-NEXT: CortexA55UnitFPALU(0) = 10978# CHECK-NEXT: CortexA55UnitFPALU(1) = 8979# CHECK-NEXT: CortexA55UnitFPDIV(0) = 4294967295980# CHECK-NEXT: CortexA55UnitFPMAC(0) = 4294967295981# CHECK-NEXT: CortexA55UnitFPMAC(1) = 4294967295982# CHECK-NEXT: CortexA55UnitLd(0) = 4294967295983# CHECK-NEXT: CortexA55UnitMAC(0) = 4294967295984# CHECK-NEXT: CortexA55UnitSt(0) = 4294967295985# CHECK-NEXT: getNextResourceCycle (@10c):986# CHECK-NEXT: Instance 0 available @12c987# CHECK-NEXT: Instance 1 available @10c988# CHECK-NEXT: selecting CortexA55UnitFPALU[1] available @10c989# CHECK-NEXT: BotQ.A BotLatency SU(5) 10c990# CHECK-NEXT: Bump cycle to begin group991# CHECK-NEXT: Cycle: 11 BotQ.A992# CHECK-NEXT: BotQ.A @11c993# CHECK-NEXT: Retired: 7994# CHECK-NEXT: Executed: 11c995# CHECK-NEXT: Critical: 4c, 8 CortexA55UnitFPALU996# CHECK-NEXT: ExpectedLatency: 10c997# CHECK-NEXT: - Latency limited.998# CHECK-NEXT: CortexA55UnitALU(0) = 3999# CHECK-NEXT: CortexA55UnitALU(1) = 31000# CHECK-NEXT: CortexA55UnitB(0) = 42949672951001# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951002# CHECK-NEXT: CortexA55UnitFPALU(0) = 101003# CHECK-NEXT: CortexA55UnitFPALU(1) = 101004# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951005# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951006# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951007# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951008# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951009# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951010# CHECK-NEXT: hazard: SU(0) ReadyCycle = 13 is later than CurrCycle = 11 on an unbuffered resource1011# CHECK-NEXT: ** ScheduleDAGMILive::schedule picking next node1012# CHECK-NEXT: Checking pending node SU(3)1013# CHECK-NEXT: Resource booking (@11c):1014# CHECK-NEXT: CortexA55UnitALU(0) = 31015# CHECK-NEXT: CortexA55UnitALU(1) = 31016# CHECK-NEXT: CortexA55UnitB(0) = 42949672951017# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951018# CHECK-NEXT: CortexA55UnitFPALU(0) = 101019# CHECK-NEXT: CortexA55UnitFPALU(1) = 101020# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951021# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951022# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951023# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951024# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951025# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951026# CHECK-NEXT: getNextResourceCycle (@11c):1027# CHECK-NEXT: Instance 0 available @12c1028# CHECK-NEXT: Instance 1 available @12c1029# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @12c1030# CHECK-NEXT: hazard: SU(3) CortexA55UnitFPALU[0]=12c, is later than CurrCycle = 11c1031# CHECK-NEXT: Checking pending node SU(6)1032# CHECK-NEXT: Resource booking (@11c):1033# CHECK-NEXT: CortexA55UnitALU(0) = 31034# CHECK-NEXT: CortexA55UnitALU(1) = 31035# CHECK-NEXT: CortexA55UnitB(0) = 42949672951036# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951037# CHECK-NEXT: CortexA55UnitFPALU(0) = 101038# CHECK-NEXT: CortexA55UnitFPALU(1) = 101039# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951040# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951041# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951042# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951043# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951044# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951045# CHECK-NEXT: getNextResourceCycle (@11c):1046# CHECK-NEXT: Instance 0 available @12c1047# CHECK-NEXT: Instance 1 available @12c1048# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @12c1049# CHECK-NEXT: hazard: SU(6) CortexA55UnitFPALU[0]=12c, is later than CurrCycle = 11c1050# CHECK-NEXT: Checking pending node SU(0)1051# CHECK-NEXT: hazard: SU(0) ReadyCycle = 13 is later than CurrCycle = 11 on an unbuffered resource1052# CHECK-NEXT: Cycle: 12 BotQ.A1053# CHECK-NEXT: Checking pending node SU(3)1054# CHECK-NEXT: Resource booking (@12c):1055# CHECK-NEXT: CortexA55UnitALU(0) = 31056# CHECK-NEXT: CortexA55UnitALU(1) = 31057# CHECK-NEXT: CortexA55UnitB(0) = 42949672951058# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951059# CHECK-NEXT: CortexA55UnitFPALU(0) = 101060# CHECK-NEXT: CortexA55UnitFPALU(1) = 101061# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951062# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951063# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951064# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951065# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951066# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951067# CHECK-NEXT: getNextResourceCycle (@12c):1068# CHECK-NEXT: Instance 0 available @12c1069# CHECK-NEXT: Instance 1 available @12c1070# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @12c1071# CHECK-NEXT: Move SU(3) into Available Q1072# CHECK-NEXT: Checking pending node SU(0)1073# CHECK-NEXT: hazard: SU(0) ReadyCycle = 13 is later than CurrCycle = 12 on an unbuffered resource1074# CHECK-NEXT: Checking pending node SU(6)1075# CHECK-NEXT: Resource booking (@12c):1076# CHECK-NEXT: CortexA55UnitALU(0) = 31077# CHECK-NEXT: CortexA55UnitALU(1) = 31078# CHECK-NEXT: CortexA55UnitB(0) = 42949672951079# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951080# CHECK-NEXT: CortexA55UnitFPALU(0) = 101081# CHECK-NEXT: CortexA55UnitFPALU(1) = 101082# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951083# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951084# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951085# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951086# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951087# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951088# CHECK-NEXT: getNextResourceCycle (@12c):1089# CHECK-NEXT: Instance 0 available @12c1090# CHECK-NEXT: Instance 1 available @12c1091# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @12c1092# CHECK-NEXT: Move SU(6) into Available Q1093# CHECK-NEXT: Queue BotQ.P: 01094# CHECK-NEXT: Queue BotQ.A: 3 61095# CHECK-NEXT: Cand SU(3) FIRST1096# CHECK-NEXT: Cand SU(6) ORDER1097# CHECK-NEXT: Pick Bot ORDER1098# CHECK-NEXT: Scheduling SU(6) %8:fpr128 = ANDv16i8 %1:fpr128, %6:fpr1281099# CHECK-NEXT: Ready @12c1100# CHECK-NEXT: CortexA55UnitFPALU +2x1u1101# CHECK-NEXT: Resource booking (@12c):1102# CHECK-NEXT: CortexA55UnitALU(0) = 31103# CHECK-NEXT: CortexA55UnitALU(1) = 31104# CHECK-NEXT: CortexA55UnitB(0) = 42949672951105# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951106# CHECK-NEXT: CortexA55UnitFPALU(0) = 101107# CHECK-NEXT: CortexA55UnitFPALU(1) = 101108# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951109# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951110# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951111# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951112# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951113# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951114# CHECK-NEXT: getNextResourceCycle (@12c):1115# CHECK-NEXT: Instance 0 available @12c1116# CHECK-NEXT: Instance 1 available @12c1117# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @12c1118# CHECK-NEXT: Resource booking (@12c):1119# CHECK-NEXT: CortexA55UnitALU(0) = 31120# CHECK-NEXT: CortexA55UnitALU(1) = 31121# CHECK-NEXT: CortexA55UnitB(0) = 42949672951122# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951123# CHECK-NEXT: CortexA55UnitFPALU(0) = 101124# CHECK-NEXT: CortexA55UnitFPALU(1) = 101125# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951126# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951127# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951128# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951129# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951130# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951131# CHECK-NEXT: getNextResourceCycle (@12c):1132# CHECK-NEXT: Instance 0 available @12c1133# CHECK-NEXT: Instance 1 available @12c1134# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @12c1135# CHECK-NEXT: BotQ.A TopLatency SU(6) 4c1136# CHECK-NEXT: Bump cycle to begin group1137# CHECK-NEXT: Cycle: 13 BotQ.A1138# CHECK-NEXT: BotQ.A @13c1139# CHECK-NEXT: Retired: 81140# CHECK-NEXT: Executed: 13c1141# CHECK-NEXT: Critical: 5c, 10 CortexA55UnitFPALU1142# CHECK-NEXT: ExpectedLatency: 10c1143# CHECK-NEXT: - Latency limited.1144# CHECK-NEXT: CortexA55UnitALU(0) = 31145# CHECK-NEXT: CortexA55UnitALU(1) = 31146# CHECK-NEXT: CortexA55UnitB(0) = 42949672951147# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951148# CHECK-NEXT: CortexA55UnitFPALU(0) = 121149# CHECK-NEXT: CortexA55UnitFPALU(1) = 101150# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951151# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951152# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951153# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951154# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951155# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951156# CHECK-NEXT: hazard: SU(4) ReadyCycle = 16 is later than CurrCycle = 13 on an unbuffered resource1157# CHECK-NEXT: hazard: SU(1) ReadyCycle = 15 is later than CurrCycle = 13 on an unbuffered resource1158# CHECK-NEXT: ** ScheduleDAGMILive::schedule picking next node1159# CHECK-NEXT: Checking pending node SU(0)1160# CHECK-NEXT: Resource booking (@13c):1161# CHECK-NEXT: CortexA55UnitALU(0) = 31162# CHECK-NEXT: CortexA55UnitALU(1) = 31163# CHECK-NEXT: CortexA55UnitB(0) = 42949672951164# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951165# CHECK-NEXT: CortexA55UnitFPALU(0) = 121166# CHECK-NEXT: CortexA55UnitFPALU(1) = 101167# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951168# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951169# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951170# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951171# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951172# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951173# CHECK-NEXT: getNextResourceCycle (@13c):1174# CHECK-NEXT: Instance 0 available @13c1175# CHECK-NEXT: Instance 1 available @13c1176# CHECK-NEXT: selecting CortexA55UnitALU[0] available @13c1177# CHECK-NEXT: Move SU(0) into Available Q1178# CHECK-NEXT: Checking pending node SU(1)1179# CHECK-NEXT: hazard: SU(1) ReadyCycle = 15 is later than CurrCycle = 13 on an unbuffered resource1180# CHECK-NEXT: Checking pending node SU(4)1181# CHECK-NEXT: hazard: SU(4) ReadyCycle = 16 is later than CurrCycle = 13 on an unbuffered resource1182# CHECK-NEXT: Resource booking (@13c):1183# CHECK-NEXT: CortexA55UnitALU(0) = 31184# CHECK-NEXT: CortexA55UnitALU(1) = 31185# CHECK-NEXT: CortexA55UnitB(0) = 42949672951186# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951187# CHECK-NEXT: CortexA55UnitFPALU(0) = 121188# CHECK-NEXT: CortexA55UnitFPALU(1) = 101189# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951190# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951191# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951192# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951193# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951194# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951195# CHECK-NEXT: getNextResourceCycle (@13c):1196# CHECK-NEXT: Instance 0 available @14c1197# CHECK-NEXT: Instance 1 available @13c1198# CHECK-NEXT: selecting CortexA55UnitFPALU[1] available @13c1199# CHECK-NEXT: Resource booking (@13c):1200# CHECK-NEXT: CortexA55UnitALU(0) = 31201# CHECK-NEXT: CortexA55UnitALU(1) = 31202# CHECK-NEXT: CortexA55UnitB(0) = 42949672951203# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951204# CHECK-NEXT: CortexA55UnitFPALU(0) = 121205# CHECK-NEXT: CortexA55UnitFPALU(1) = 101206# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951207# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951208# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951209# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951210# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951211# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951212# CHECK-NEXT: getNextResourceCycle (@13c):1213# CHECK-NEXT: Instance 0 available @13c1214# CHECK-NEXT: Instance 1 available @13c1215# CHECK-NEXT: selecting CortexA55UnitALU[0] available @13c1216# CHECK-NEXT: Queue BotQ.P: 1 41217# CHECK-NEXT: Queue BotQ.A: 3 01218# CHECK-NEXT: Cand SU(3) FIRST1219# CHECK-NEXT: Pick Bot PHYS-REG1220# CHECK-NEXT: Scheduling SU(3) %3:fpr128 = EXTv16i8 %0:fpr128, %0:fpr128, 81221# CHECK-NEXT: Ready @13c1222# CHECK-NEXT: CortexA55UnitFPALU +2x1u1223# CHECK-NEXT: Resource booking (@13c):1224# CHECK-NEXT: CortexA55UnitALU(0) = 31225# CHECK-NEXT: CortexA55UnitALU(1) = 31226# CHECK-NEXT: CortexA55UnitB(0) = 42949672951227# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951228# CHECK-NEXT: CortexA55UnitFPALU(0) = 121229# CHECK-NEXT: CortexA55UnitFPALU(1) = 101230# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951231# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951232# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951233# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951234# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951235# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951236# CHECK-NEXT: getNextResourceCycle (@13c):1237# CHECK-NEXT: Instance 0 available @14c1238# CHECK-NEXT: Instance 1 available @13c1239# CHECK-NEXT: selecting CortexA55UnitFPALU[1] available @13c1240# CHECK-NEXT: Resource booking (@13c):1241# CHECK-NEXT: CortexA55UnitALU(0) = 31242# CHECK-NEXT: CortexA55UnitALU(1) = 31243# CHECK-NEXT: CortexA55UnitB(0) = 42949672951244# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951245# CHECK-NEXT: CortexA55UnitFPALU(0) = 121246# CHECK-NEXT: CortexA55UnitFPALU(1) = 101247# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951248# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951249# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951250# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951251# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951252# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951253# CHECK-NEXT: getNextResourceCycle (@13c):1254# CHECK-NEXT: Instance 0 available @14c1255# CHECK-NEXT: Instance 1 available @13c1256# CHECK-NEXT: selecting CortexA55UnitFPALU[1] available @13c1257# CHECK-NEXT: BotQ.A BotLatency SU(3) 11c1258# CHECK-NEXT: Bump cycle to begin group1259# CHECK-NEXT: Cycle: 14 BotQ.A1260# CHECK-NEXT: BotQ.A @14c1261# CHECK-NEXT: Retired: 91262# CHECK-NEXT: Executed: 14c1263# CHECK-NEXT: Critical: 6c, 12 CortexA55UnitFPALU1264# CHECK-NEXT: ExpectedLatency: 11c1265# CHECK-NEXT: - Latency limited.1266# CHECK-NEXT: CortexA55UnitALU(0) = 31267# CHECK-NEXT: CortexA55UnitALU(1) = 31268# CHECK-NEXT: CortexA55UnitB(0) = 42949672951269# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951270# CHECK-NEXT: CortexA55UnitFPALU(0) = 121271# CHECK-NEXT: CortexA55UnitFPALU(1) = 131272# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951273# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951274# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951275# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951276# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951277# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951278# CHECK-NEXT: hazard: SU(2) ReadyCycle = 16 is later than CurrCycle = 14 on an unbuffered resource1279# CHECK-NEXT: ** ScheduleDAGMILive::schedule picking next node1280# CHECK-NEXT: Checking pending node SU(1)1281# CHECK-NEXT: hazard: SU(1) ReadyCycle = 15 is later than CurrCycle = 14 on an unbuffered resource1282# CHECK-NEXT: Checking pending node SU(4)1283# CHECK-NEXT: hazard: SU(4) ReadyCycle = 16 is later than CurrCycle = 14 on an unbuffered resource1284# CHECK-NEXT: Checking pending node SU(2)1285# CHECK-NEXT: hazard: SU(2) ReadyCycle = 16 is later than CurrCycle = 14 on an unbuffered resource1286# CHECK-NEXT: Resource booking (@14c):1287# CHECK-NEXT: CortexA55UnitALU(0) = 31288# CHECK-NEXT: CortexA55UnitALU(1) = 31289# CHECK-NEXT: CortexA55UnitB(0) = 42949672951290# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951291# CHECK-NEXT: CortexA55UnitFPALU(0) = 121292# CHECK-NEXT: CortexA55UnitFPALU(1) = 131293# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951294# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951295# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951296# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951297# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951298# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951299# CHECK-NEXT: getNextResourceCycle (@14c):1300# CHECK-NEXT: Instance 0 available @14c1301# CHECK-NEXT: Instance 1 available @14c1302# CHECK-NEXT: selecting CortexA55UnitALU[0] available @14c1303# CHECK-NEXT: Queue BotQ.P: 1 4 21304# CHECK-NEXT: Queue BotQ.A: 01305# CHECK-NEXT: Scheduling SU(0) %2:fpr128 = COPY $q21306# CHECK-NEXT: Ready @14c1307# CHECK-NEXT: CortexA55UnitALU +1x1u1308# CHECK-NEXT: Resource booking (@14c):1309# CHECK-NEXT: CortexA55UnitALU(0) = 31310# CHECK-NEXT: CortexA55UnitALU(1) = 31311# CHECK-NEXT: CortexA55UnitB(0) = 42949672951312# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951313# CHECK-NEXT: CortexA55UnitFPALU(0) = 121314# CHECK-NEXT: CortexA55UnitFPALU(1) = 131315# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951316# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951317# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951318# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951319# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951320# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951321# CHECK-NEXT: getNextResourceCycle (@14c):1322# CHECK-NEXT: Instance 0 available @14c1323# CHECK-NEXT: Instance 1 available @14c1324# CHECK-NEXT: selecting CortexA55UnitALU[0] available @14c1325# CHECK-NEXT: Resource booking (@14c):1326# CHECK-NEXT: CortexA55UnitALU(0) = 31327# CHECK-NEXT: CortexA55UnitALU(1) = 31328# CHECK-NEXT: CortexA55UnitB(0) = 42949672951329# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951330# CHECK-NEXT: CortexA55UnitFPALU(0) = 121331# CHECK-NEXT: CortexA55UnitFPALU(1) = 131332# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951333# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951334# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951335# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951336# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951337# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951338# CHECK-NEXT: getNextResourceCycle (@14c):1339# CHECK-NEXT: Instance 0 available @14c1340# CHECK-NEXT: Instance 1 available @14c1341# CHECK-NEXT: selecting CortexA55UnitALU[0] available @14c1342# CHECK-NEXT: BotQ.A BotLatency SU(0) 13c1343# CHECK-NEXT: BotQ.A @14c1344# CHECK-NEXT: Retired: 101345# CHECK-NEXT: Executed: 14c1346# CHECK-NEXT: Critical: 6c, 12 CortexA55UnitFPALU1347# CHECK-NEXT: ExpectedLatency: 13c1348# CHECK-NEXT: - Latency limited.1349# CHECK-NEXT: CortexA55UnitALU(0) = 141350# CHECK-NEXT: CortexA55UnitALU(1) = 31351# CHECK-NEXT: CortexA55UnitB(0) = 42949672951352# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951353# CHECK-NEXT: CortexA55UnitFPALU(0) = 121354# CHECK-NEXT: CortexA55UnitFPALU(1) = 131355# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951356# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951357# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951358# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951359# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951360# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951361# CHECK-NEXT: ** ScheduleDAGMILive::schedule picking next node1362# CHECK-NEXT: Cycle: 15 BotQ.A1363# CHECK-NEXT: Checking pending node SU(1)1364# CHECK-NEXT: Resource booking (@15c):1365# CHECK-NEXT: CortexA55UnitALU(0) = 141366# CHECK-NEXT: CortexA55UnitALU(1) = 31367# CHECK-NEXT: CortexA55UnitB(0) = 42949672951368# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951369# CHECK-NEXT: CortexA55UnitFPALU(0) = 121370# CHECK-NEXT: CortexA55UnitFPALU(1) = 131371# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951372# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951373# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951374# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951375# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951376# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951377# CHECK-NEXT: getNextResourceCycle (@15c):1378# CHECK-NEXT: Instance 0 available @15c1379# CHECK-NEXT: Instance 1 available @15c1380# CHECK-NEXT: selecting CortexA55UnitALU[0] available @15c1381# CHECK-NEXT: Move SU(1) into Available Q1382# CHECK-NEXT: Checking pending node SU(2)1383# CHECK-NEXT: hazard: SU(2) ReadyCycle = 16 is later than CurrCycle = 15 on an unbuffered resource1384# CHECK-NEXT: Checking pending node SU(4)1385# CHECK-NEXT: hazard: SU(4) ReadyCycle = 16 is later than CurrCycle = 15 on an unbuffered resource1386# CHECK-NEXT: Queue BotQ.P: 2 41387# CHECK-NEXT: Queue BotQ.A: 11388# CHECK-NEXT: Scheduling SU(1) %1:fpr128 = COPY $q11389# CHECK-NEXT: Ready @15c1390# CHECK-NEXT: CortexA55UnitALU +1x1u1391# CHECK-NEXT: Resource booking (@15c):1392# CHECK-NEXT: CortexA55UnitALU(0) = 141393# CHECK-NEXT: CortexA55UnitALU(1) = 31394# CHECK-NEXT: CortexA55UnitB(0) = 42949672951395# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951396# CHECK-NEXT: CortexA55UnitFPALU(0) = 121397# CHECK-NEXT: CortexA55UnitFPALU(1) = 131398# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951399# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951400# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951401# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951402# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951403# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951404# CHECK-NEXT: getNextResourceCycle (@15c):1405# CHECK-NEXT: Instance 0 available @15c1406# CHECK-NEXT: Instance 1 available @15c1407# CHECK-NEXT: selecting CortexA55UnitALU[0] available @15c1408# CHECK-NEXT: Resource booking (@15c):1409# CHECK-NEXT: CortexA55UnitALU(0) = 141410# CHECK-NEXT: CortexA55UnitALU(1) = 31411# CHECK-NEXT: CortexA55UnitB(0) = 42949672951412# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951413# CHECK-NEXT: CortexA55UnitFPALU(0) = 121414# CHECK-NEXT: CortexA55UnitFPALU(1) = 131415# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951416# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951417# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951418# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951419# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951420# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951421# CHECK-NEXT: getNextResourceCycle (@15c):1422# CHECK-NEXT: Instance 0 available @15c1423# CHECK-NEXT: Instance 1 available @15c1424# CHECK-NEXT: selecting CortexA55UnitALU[0] available @15c1425# CHECK-NEXT: BotQ.A @15c1426# CHECK-NEXT: Retired: 111427# CHECK-NEXT: Executed: 15c1428# CHECK-NEXT: Critical: 6c, 12 CortexA55UnitFPALU1429# CHECK-NEXT: ExpectedLatency: 13c1430# CHECK-NEXT: - Latency limited.1431# CHECK-NEXT: CortexA55UnitALU(0) = 151432# CHECK-NEXT: CortexA55UnitALU(1) = 31433# CHECK-NEXT: CortexA55UnitB(0) = 42949672951434# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951435# CHECK-NEXT: CortexA55UnitFPALU(0) = 121436# CHECK-NEXT: CortexA55UnitFPALU(1) = 131437# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951438# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951439# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951440# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951441# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951442# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951443# CHECK-NEXT: ** ScheduleDAGMILive::schedule picking next node1444# CHECK-NEXT: Cycle: 16 BotQ.A1445# CHECK-NEXT: Checking pending node SU(2)1446# CHECK-NEXT: Resource booking (@16c):1447# CHECK-NEXT: CortexA55UnitALU(0) = 151448# CHECK-NEXT: CortexA55UnitALU(1) = 31449# CHECK-NEXT: CortexA55UnitB(0) = 42949672951450# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951451# CHECK-NEXT: CortexA55UnitFPALU(0) = 121452# CHECK-NEXT: CortexA55UnitFPALU(1) = 131453# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951454# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951455# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951456# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951457# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951458# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951459# CHECK-NEXT: getNextResourceCycle (@16c):1460# CHECK-NEXT: Instance 0 available @16c1461# CHECK-NEXT: Instance 1 available @16c1462# CHECK-NEXT: selecting CortexA55UnitALU[0] available @16c1463# CHECK-NEXT: Move SU(2) into Available Q1464# CHECK-NEXT: Checking pending node SU(4)1465# CHECK-NEXT: Resource booking (@16c):1466# CHECK-NEXT: CortexA55UnitALU(0) = 151467# CHECK-NEXT: CortexA55UnitALU(1) = 31468# CHECK-NEXT: CortexA55UnitB(0) = 42949672951469# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951470# CHECK-NEXT: CortexA55UnitFPALU(0) = 121471# CHECK-NEXT: CortexA55UnitFPALU(1) = 131472# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951473# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951474# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951475# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951476# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951477# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951478# CHECK-NEXT: getNextResourceCycle (@16c):1479# CHECK-NEXT: Instance 0 available @16c1480# CHECK-NEXT: Instance 1 available @16c1481# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @16c1482# CHECK-NEXT: Move SU(4) into Available Q1483# CHECK-NEXT: Queue BotQ.P:1484# CHECK-NEXT: Queue BotQ.A: 2 41485# CHECK-NEXT: Cand SU(2) FIRST1486# CHECK-NEXT: Cand SU(4) PHYS-REG1487# CHECK-NEXT: Pick Bot PHYS-REG1488# CHECK-NEXT: Scheduling SU(4) %6:fpr128 = MOVIv2d_ns 171489# CHECK-NEXT: Ready @16c1490# CHECK-NEXT: CortexA55UnitFPALU +2x1u1491# CHECK-NEXT: Resource booking (@16c):1492# CHECK-NEXT: CortexA55UnitALU(0) = 151493# CHECK-NEXT: CortexA55UnitALU(1) = 31494# CHECK-NEXT: CortexA55UnitB(0) = 42949672951495# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951496# CHECK-NEXT: CortexA55UnitFPALU(0) = 121497# CHECK-NEXT: CortexA55UnitFPALU(1) = 131498# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951499# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951500# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951501# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951502# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951503# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951504# CHECK-NEXT: getNextResourceCycle (@16c):1505# CHECK-NEXT: Instance 0 available @16c1506# CHECK-NEXT: Instance 1 available @16c1507# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @16c1508# CHECK-NEXT: Resource booking (@16c):1509# CHECK-NEXT: CortexA55UnitALU(0) = 151510# CHECK-NEXT: CortexA55UnitALU(1) = 31511# CHECK-NEXT: CortexA55UnitB(0) = 42949672951512# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951513# CHECK-NEXT: CortexA55UnitFPALU(0) = 121514# CHECK-NEXT: CortexA55UnitFPALU(1) = 131515# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951516# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951517# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951518# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951519# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951520# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951521# CHECK-NEXT: getNextResourceCycle (@16c):1522# CHECK-NEXT: Instance 0 available @16c1523# CHECK-NEXT: Instance 1 available @16c1524# CHECK-NEXT: selecting CortexA55UnitFPALU[0] available @16c1525# CHECK-NEXT: BotQ.A BotLatency SU(4) 14c1526# CHECK-NEXT: Bump cycle to begin group1527# CHECK-NEXT: Cycle: 17 BotQ.A1528# CHECK-NEXT: BotQ.A @17c1529# CHECK-NEXT: Retired: 121530# CHECK-NEXT: Executed: 17c1531# CHECK-NEXT: Critical: 7c, 14 CortexA55UnitFPALU1532# CHECK-NEXT: ExpectedLatency: 14c1533# CHECK-NEXT: - Latency limited.1534# CHECK-NEXT: CortexA55UnitALU(0) = 151535# CHECK-NEXT: CortexA55UnitALU(1) = 31536# CHECK-NEXT: CortexA55UnitB(0) = 42949672951537# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951538# CHECK-NEXT: CortexA55UnitFPALU(0) = 161539# CHECK-NEXT: CortexA55UnitFPALU(1) = 131540# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951541# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951542# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951543# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951544# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951545# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951546# CHECK-NEXT: ** ScheduleDAGMILive::schedule picking next node1547# CHECK-NEXT: Resource booking (@17c):1548# CHECK-NEXT: CortexA55UnitALU(0) = 151549# CHECK-NEXT: CortexA55UnitALU(1) = 31550# CHECK-NEXT: CortexA55UnitB(0) = 42949672951551# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951552# CHECK-NEXT: CortexA55UnitFPALU(0) = 161553# CHECK-NEXT: CortexA55UnitFPALU(1) = 131554# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951555# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951556# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951557# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951558# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951559# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951560# CHECK-NEXT: getNextResourceCycle (@17c):1561# CHECK-NEXT: Instance 0 available @17c1562# CHECK-NEXT: Instance 1 available @17c1563# CHECK-NEXT: selecting CortexA55UnitALU[0] available @17c1564# CHECK-NEXT: Queue BotQ.P:1565# CHECK-NEXT: Queue BotQ.A: 21566# CHECK-NEXT: Scheduling SU(2) %0:fpr128 = COPY $q01567# CHECK-NEXT: Ready @17c1568# CHECK-NEXT: CortexA55UnitALU +1x1u1569# CHECK-NEXT: Resource booking (@17c):1570# CHECK-NEXT: CortexA55UnitALU(0) = 151571# CHECK-NEXT: CortexA55UnitALU(1) = 31572# CHECK-NEXT: CortexA55UnitB(0) = 42949672951573# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951574# CHECK-NEXT: CortexA55UnitFPALU(0) = 161575# CHECK-NEXT: CortexA55UnitFPALU(1) = 131576# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951577# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951578# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951579# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951580# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951581# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951582# CHECK-NEXT: getNextResourceCycle (@17c):1583# CHECK-NEXT: Instance 0 available @17c1584# CHECK-NEXT: Instance 1 available @17c1585# CHECK-NEXT: selecting CortexA55UnitALU[0] available @17c1586# CHECK-NEXT: Resource booking (@17c):1587# CHECK-NEXT: CortexA55UnitALU(0) = 151588# CHECK-NEXT: CortexA55UnitALU(1) = 31589# CHECK-NEXT: CortexA55UnitB(0) = 42949672951590# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951591# CHECK-NEXT: CortexA55UnitFPALU(0) = 161592# CHECK-NEXT: CortexA55UnitFPALU(1) = 131593# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951594# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951595# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951596# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951597# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951598# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951599# CHECK-NEXT: getNextResourceCycle (@17c):1600# CHECK-NEXT: Instance 0 available @17c1601# CHECK-NEXT: Instance 1 available @17c1602# CHECK-NEXT: selecting CortexA55UnitALU[0] available @17c1603# CHECK-NEXT: BotQ.A @17c1604# CHECK-NEXT: Retired: 131605# CHECK-NEXT: Executed: 17c1606# CHECK-NEXT: Critical: 7c, 14 CortexA55UnitFPALU1607# CHECK-NEXT: ExpectedLatency: 14c1608# CHECK-NEXT: - Latency limited.1609# CHECK-NEXT: CortexA55UnitALU(0) = 171610# CHECK-NEXT: CortexA55UnitALU(1) = 31611# CHECK-NEXT: CortexA55UnitB(0) = 42949672951612# CHECK-NEXT: CortexA55UnitDiv(0) = 42949672951613# CHECK-NEXT: CortexA55UnitFPALU(0) = 161614# CHECK-NEXT: CortexA55UnitFPALU(1) = 131615# CHECK-NEXT: CortexA55UnitFPDIV(0) = 42949672951616# CHECK-NEXT: CortexA55UnitFPMAC(0) = 42949672951617# CHECK-NEXT: CortexA55UnitFPMAC(1) = 42949672951618# CHECK-NEXT: CortexA55UnitLd(0) = 42949672951619# CHECK-NEXT: CortexA55UnitMAC(0) = 42949672951620# CHECK-NEXT: CortexA55UnitSt(0) = 42949672951621# CHECK-NEXT: ** ScheduleDAGMILive::schedule picking next node1622# CHECK-NEXT: *** Final schedule for %bb.0 ***1623# CHECK-NEXT: * Schedule table (BottomUp):1624# CHECK-NEXT: i: issue1625# CHECK-NEXT: x: resource booked1626# CHECK-NEXT: Cycle | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 |1627# CHECK-NEXT: SU(2) | i | | | | | | | | | | | | | | |1628# CHECK-NEXT: CortexA55UnitALU | x | | | | | | | | | | | | | | |1629# CHECK-NEXT: SU(4) | | i | | | | | | | | | | | | | |1630# CHECK-NEXT: CortexA55UnitFPALU | | x | x | | | | | | | | | | | | |1631# CHECK-NEXT: SU(1) | | | i | | | | | | | | | | | | |1632# CHECK-NEXT: CortexA55UnitALU | | | x | | | | | | | | | | | | |1633# CHECK-NEXT: SU(0) | | | | i | | | | | | | | | | | |1634# CHECK-NEXT: CortexA55UnitALU | | | | x | | | | | | | | | | | |1635# CHECK-NEXT: SU(3) | | | | | i | | | | | | | | | | |1636# CHECK-NEXT: CortexA55UnitFPALU | | | | | x | x | | | | | | | | | |1637# CHECK-NEXT: SU(6) | | | | | | i | | | | | | | | | |1638# CHECK-NEXT: CortexA55UnitFPALU | | | | | | x | x | | | | | | | | |1639# CHECK-NEXT: SU(5) | | | | | | | | i | | | | | | | |1640# CHECK-NEXT: CortexA55UnitFPALU | | | | | | | | x | x | | | | | | |1641# CHECK-NEXT: SU(7) | | | | | | | | i | | | | | | | |1642# CHECK-NEXT: CortexA55UnitFPALU | | | | | | | | x | | | | | | | |1643# CHECK-NEXT: SU(9) | | | | | | | | | i | | | | | | |1644# CHECK-NEXT: CortexA55UnitFPALU | | | | | | | | | x | | | | | | |1645# CHECK-NEXT: SU(8) | | | | | | | | | | i | | | | | |1646# CHECK-NEXT: CortexA55UnitFPALU | | | | | | | | | | x | x | | | | |1647# CHECK-NEXT: SU(10) | | | | | | | | | | | i | | | | |1648# CHECK-NEXT: CortexA55UnitFPALU | | | | | | | | | | | x | x | | | |1649# CHECK-NEXT: SU(11) | | | | | | | | | | | | | | | i |1650# CHECK-NEXT: CortexA55UnitALU | | | | | | | | | | | | | | | x |1651# CHECK-NEXT: SU(12) | | | | | | | | | | | | | | | i |1652# CHECK-NEXT: CortexA55UnitALU | | | | | | | | | | | | | | | x |1653# CHECK-NEXT: SU(2) [TopReadyCycle = 0, BottomReadyCycle = 17]: %0:fpr128 = COPY $q01654# CHECK-NEXT: SU(4) [TopReadyCycle = 0, BottomReadyCycle = 16]: %6:fpr128 = MOVIv2d_ns 171655# CHECK-NEXT: SU(1) [TopReadyCycle = 0, BottomReadyCycle = 15]: %1:fpr128 = COPY $q11656# CHECK-NEXT: SU(0) [TopReadyCycle = 0, BottomReadyCycle = 14]: %2:fpr128 = COPY $q21657# CHECK-NEXT: SU(3) [TopReadyCycle = 0, BottomReadyCycle = 13]: %3:fpr128 = EXTv16i8 %0:fpr128, %0:fpr128, 81658# CHECK-NEXT: SU(6) [TopReadyCycle = 0, BottomReadyCycle = 12]: %8:fpr128 = ANDv16i8 %1:fpr128, %6:fpr1281659# CHECK-NEXT: SU(5) [TopReadyCycle = 0, BottomReadyCycle = 10]: %7:fpr128 = ANDv16i8 %2:fpr128, %6:fpr1281660# CHECK-NEXT: SU(7) [TopReadyCycle = 0, BottomReadyCycle = 10]: %9:fpr64 = XTNv4i16 %8:fpr1281661# CHECK-NEXT: SU(9) [TopReadyCycle = 0, BottomReadyCycle = 9]: %11:fpr64 = XTNv4i16 %7:fpr1281662# CHECK-NEXT: SU(8) [TopReadyCycle = 0, BottomReadyCycle = 8]: %10:fpr128 = UMULLv4i16_v4i32 %0.dsub:fpr128, %9:fpr641663# CHECK-NEXT: SU(10) [TopReadyCycle = 0, BottomReadyCycle = 7]: %12:fpr128 = UMULLv4i16_v4i32 %3.dsub:fpr128, %11:fpr641664# CHECK-NEXT: SU(11) [TopReadyCycle = 0, BottomReadyCycle = 3]: $q0 = COPY %10:fpr1281665# CHECK-NEXT: SU(12) [TopReadyCycle = 0, BottomReadyCycle = 3]: $q1 = COPY %12:fpr1281666# CHECK-EMPTY:1667# CHECK-NEXT: ********** INTERVALS **********1668# CHECK-NEXT: B0 [0B,48r:0)[192r,224r:1) 0@0B-phi 1@192r1669# CHECK-NEXT: B1 [0B,88r:0)[208r,224r:1) 0@0B-phi 1@208r1670# CHECK-NEXT: B2 [0B,96r:0) 0@0B-phi1671# CHECK-NEXT: B0_HI [0B,48r:0)[192r,224r:1) 0@0B-phi 1@192r1672# CHECK-NEXT: H0_HI [0B,48r:0)[192r,224r:1) 0@0B-phi 1@192r1673# CHECK-NEXT: S0_HI [0B,48r:0)[192r,224r:1) 0@0B-phi 1@192r1674# CHECK-NEXT: B1_HI [0B,88r:0)[208r,224r:1) 0@0B-phi 1@208r1675# CHECK-NEXT: H1_HI [0B,88r:0)[208r,224r:1) 0@0B-phi 1@208r1676# CHECK-NEXT: S1_HI [0B,88r:0)[208r,224r:1) 0@0B-phi 1@208r1677# CHECK-NEXT: B2_HI [0B,96r:0) 0@0B-phi1678# CHECK-NEXT: H2_HI [0B,96r:0) 0@0B-phi1679# CHECK-NEXT: S2_HI [0B,96r:0) 0@0B-phi1680# CHECK-NEXT: D0_HI [0B,48r:0)[192r,224r:1) 0@0B-phi 1@192r1681# CHECK-NEXT: D1_HI [0B,88r:0)[208r,224r:1) 0@0B-phi 1@208r1682# CHECK-NEXT: D2_HI [0B,96r:0) 0@0B-phi1683# CHECK-NEXT: %0 [48r,168r:0) 0@48r weight:0.000000e+001684# CHECK-NEXT: %1 [88r,120r:0) 0@88r weight:0.000000e+001685# CHECK-NEXT: %2 [96r,128r:0) 0@96r weight:0.000000e+001686# CHECK-NEXT: %3 [104r,176r:0) 0@104r weight:0.000000e+001687# CHECK-NEXT: %6 [80r,128r:0) 0@80r weight:0.000000e+001688# CHECK-NEXT: %7 [128r,160r:0) 0@128r weight:0.000000e+001689# CHECK-NEXT: %8 [120r,136r:0) 0@120r weight:0.000000e+001690# CHECK-NEXT: %9 [136r,168r:0) 0@136r weight:0.000000e+001691# CHECK-NEXT: %10 [168r,192r:0) 0@168r weight:0.000000e+001692# CHECK-NEXT: %11 [160r,176r:0) 0@160r weight:0.000000e+001693# CHECK-NEXT: %12 [176r,208r:0) 0@176r weight:0.000000e+001694# CHECK-NEXT: RegMasks:1695# CHECK-NEXT: ********** MACHINEINSTRS **********1696# CHECK-NEXT: # Machine code for function umull_and_v8i32: IsSSA, NoPHIs, TracksLiveness1697# CHECK-NEXT: Function Live Ins: $q0 in %0, $q1 in %1, $q2 in %21698# CHECK-EMPTY:1699# CHECK-NEXT: 0B bb.0.entry:1700# CHECK-NEXT: liveins: $q0, $q1, $q21701# CHECK-NEXT: 48B %0:fpr128 = COPY $q01702# CHECK-NEXT: 80B %6:fpr128 = MOVIv2d_ns 171703# CHECK-NEXT: 88B %1:fpr128 = COPY $q11704# CHECK-NEXT: 96B %2:fpr128 = COPY $q21705# CHECK-NEXT: 104B %3:fpr128 = EXTv16i8 %0:fpr128, %0:fpr128, 81706# CHECK-NEXT: 120B %8:fpr128 = ANDv16i8 %1:fpr128, %6:fpr1281707# CHECK-NEXT: 128B %7:fpr128 = ANDv16i8 %2:fpr128, %6:fpr1281708# CHECK-NEXT: 136B %9:fpr64 = XTNv4i16 %8:fpr1281709# CHECK-NEXT: 160B %11:fpr64 = XTNv4i16 %7:fpr1281710# CHECK-NEXT: 168B %10:fpr128 = UMULLv4i16_v4i32 %0.dsub:fpr128, %9:fpr641711# CHECK-NEXT: 176B %12:fpr128 = UMULLv4i16_v4i32 %3.dsub:fpr128, %11:fpr641712# CHECK-NEXT: 192B $q0 = COPY %10:fpr1281713# CHECK-NEXT: 208B $q1 = COPY %12:fpr1281714# CHECK-NEXT: 224B RET_ReallyLR implicit $q0, implicit $q11715# CHECK-EMPTY:1716# CHECK-NEXT: # End machine code for function umull_and_v8i32.1717