1a8ab1b75SKrzysztof Parzyszek//=-HexagonScheduleV65.td - HexagonV65 Scheduling Definitions *- tablegen -*-=// 2a8ab1b75SKrzysztof Parzyszek// 3*2946cd70SChandler Carruth// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*2946cd70SChandler Carruth// See https://llvm.org/LICENSE.txt for license information. 5*2946cd70SChandler Carruth// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6a8ab1b75SKrzysztof Parzyszek// 7a8ab1b75SKrzysztof Parzyszek//===----------------------------------------------------------------------===// 8a8ab1b75SKrzysztof Parzyszek 9a8ab1b75SKrzysztof Parzyszek// 10a8ab1b75SKrzysztof Parzyszek// ScalarItin and HVXItin contain some old itineraries 11a8ab1b75SKrzysztof Parzyszek// still used by a handful of instructions. Hopefully, we will be able 12a8ab1b75SKrzysztof Parzyszek// to get rid of them soon. 13a8ab1b75SKrzysztof Parzyszek 14a8ab1b75SKrzysztof Parzyszekdef HexagonV65ItinList : DepScalarItinV65, ScalarItin, 15a8ab1b75SKrzysztof Parzyszek DepHVXItinV65, HVXItin, PseudoItin { 16a8ab1b75SKrzysztof Parzyszek list<InstrItinData> ItinList = 17a8ab1b75SKrzysztof Parzyszek !listconcat(DepScalarItinV65_list, ScalarItin_list, 18a8ab1b75SKrzysztof Parzyszek DepHVXItinV65_list, HVXItin_list, PseudoItin_list); 19a8ab1b75SKrzysztof Parzyszek} 20a8ab1b75SKrzysztof Parzyszek 21a8ab1b75SKrzysztof Parzyszekdef HexagonItinerariesV65 : 22a8ab1b75SKrzysztof Parzyszek ProcessorItineraries<[SLOT0, SLOT1, SLOT2, SLOT3, SLOT_ENDLOOP, 23a8ab1b75SKrzysztof Parzyszek CVI_ST, CVI_XLANE, CVI_SHIFT, CVI_MPY0, CVI_MPY1, 24a8ab1b75SKrzysztof Parzyszek CVI_LD, CVI_XLSHF, CVI_MPY01, CVI_ALL, 25545a68caSKrzysztof Parzyszek CVI_ALL_NOMEM, CVI_ZW], 26a8ab1b75SKrzysztof Parzyszek [Hex_FWD, HVX_FWD], 27a8ab1b75SKrzysztof Parzyszek HexagonV65ItinList.ItinList>; 28a8ab1b75SKrzysztof Parzyszek 29a8ab1b75SKrzysztof Parzyszekdef HexagonModelV65 : SchedMachineModel { 30a8ab1b75SKrzysztof Parzyszek // Max issue per cycle == bundle width. 31a8ab1b75SKrzysztof Parzyszek let IssueWidth = 4; 32a8ab1b75SKrzysztof Parzyszek let Itineraries = HexagonItinerariesV65; 33a8ab1b75SKrzysztof Parzyszek let LoadLatency = 1; 34a8ab1b75SKrzysztof Parzyszek let CompleteModel = 0; 35a8ab1b75SKrzysztof Parzyszek} 36a8ab1b75SKrzysztof Parzyszek 37a8ab1b75SKrzysztof Parzyszek//===----------------------------------------------------------------------===// 38a8ab1b75SKrzysztof Parzyszek// Hexagon V65 Resource Definitions - 39a8ab1b75SKrzysztof Parzyszek//===----------------------------------------------------------------------===// 40