1 //=-HexagonScheduleV79.td - HexagonV79 Scheduling Definitions *- tablegen -*-=//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 def HexagonV79ItinList : DepScalarItinV79, ScalarItin,
11 DepHVXItinV79, HVXItin, PseudoItin {
12 list<InstrItinData> ItinList =
13 !listconcat(DepScalarItinV79_list, ScalarItin_list,
14 DepHVXItinV79_list, HVXItin_list, PseudoItin_list);
17 def HexagonItinerariesV79 :
18 ProcessorItineraries<[SLOT0, SLOT1, SLOT2, SLOT3, SLOT_ENDLOOP,
19 CVI_ST, CVI_XLANE, CVI_SHIFT, CVI_MPY0, CVI_MPY1,
20 CVI_LD, CVI_XLSHF, CVI_MPY01, CVI_ALL,
21 CVI_ALL_NOMEM, CVI_ZW],
23 HexagonV79ItinList.ItinList>;
25 def HexagonModelV79 : SchedMachineModel {
26 // Max issue per cycle == bundle width.
28 let Itineraries = HexagonItinerariesV79;
30 let CompleteModel = 0;