<div dir="ltr">I'm unclear how does DFAPacketizer and the scheduler know a given instruction is a load. <div>Here is what I'm talking about</div><div><br></div><div>Let's assume my VLIW target is described as follows:</div><div><br></div><div><div>def MyTargetItineraries :</div><div> ProcessorItineraries<[Slot0, Slot1], [], [</div><div> ..............................</div><div> InstrItinData<RI, [InstrStage<1, [Slot0, Slot1]>]>,</div><div> InstrItinData<LD, [InstrStage<1, [Slot0, Slot1]>]>, // <-- This itinerary class describes load instructions</div><div> InstrItinData<BR, [InstrStage<1, [Slot0]>]></div><div> ..............................<br></div><div> ]>;</div><div><br></div><div>def MyTargetModel : SchedMachineModel {</div><div> // Max issue per cycle == bundle width.</div><div> let IssueWidth = 2;</div><div> let Itineraries = MyTargetItineraries;</div><div> let LoadLatency = 2;</div><div>}</div></div><div><br></div><div><div>Nowhere in my itinerary description it says that load instruction takes 2 cycles. In the code I couldn't find a path (but I could have missed) how a value from LoadLatency propagates to a load instruction? So how does the packetzer and the scheduler know that a load instruction latency is 2 cycles?</div><div><br></div><div>Any help on this is appreciated.</div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>R</div></div></div></div></div>
</div></div>