brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · f178f65 Raw
32 lines · plain
1//=-HexagonScheduleV79.td - HexagonV79 Scheduling Definitions *- tablegen -*-=//2//3//                     The LLVM Compiler Infrastructure4//5// This file is distributed under the University of Illinois Open Source6// License. See LICENSE.TXT for details.7//8//===----------------------------------------------------------------------===//9 10def HexagonV79ItinList : DepScalarItinV79, ScalarItin,11                         DepHVXItinV79, HVXItin, PseudoItin {12  list<InstrItinData> ItinList =13    !listconcat(DepScalarItinV79_list, ScalarItin_list,14                DepHVXItinV79_list, HVXItin_list, PseudoItin_list);15}16 17def 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],22                            [Hex_FWD, HVX_FWD],23                            HexagonV79ItinList.ItinList>;24 25def HexagonModelV79 : SchedMachineModel {26  // Max issue per cycle == bundle width.27  let IssueWidth = 4;28  let Itineraries = HexagonItinerariesV79;29  let LoadLatency = 1;30  let CompleteModel = 0;31}32