ARMSchedule.td (198090) | ARMSchedule.td (207618) |
---|---|
1//===- ARMSchedule.td - ARM Scheduling Definitions ---------*- tablegen -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10//===----------------------------------------------------------------------===// | 1//===- ARMSchedule.td - ARM Scheduling Definitions ---------*- tablegen -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10//===----------------------------------------------------------------------===// |
11// Functional units across ARM processors 12// 13def FU_Issue : FuncUnit; // issue 14def FU_Pipe0 : FuncUnit; // pipeline 0 15def FU_Pipe1 : FuncUnit; // pipeline 1 16def FU_LdSt0 : FuncUnit; // pipeline 0 load/store 17def FU_LdSt1 : FuncUnit; // pipeline 1 load/store 18def FU_NPipe : FuncUnit; // NEON ALU/MUL pipe 19def FU_NLSPipe : FuncUnit; // NEON LS pipe 20 21//===----------------------------------------------------------------------===// | |
22// Instruction Itinerary classes used for ARM 23// 24def IIC_iALUx : InstrItinClass; 25def IIC_iALUi : InstrItinClass; 26def IIC_iALUr : InstrItinClass; 27def IIC_iALUsi : InstrItinClass; 28def IIC_iALUsr : InstrItinClass; 29def IIC_iUNAr : InstrItinClass; --- 34 unchanged lines hidden (view full) --- 64def IIC_Br : InstrItinClass; 65def IIC_fpSTAT : InstrItinClass; 66def IIC_fpUNA32 : InstrItinClass; 67def IIC_fpUNA64 : InstrItinClass; 68def IIC_fpCMP32 : InstrItinClass; 69def IIC_fpCMP64 : InstrItinClass; 70def IIC_fpCVTSD : InstrItinClass; 71def IIC_fpCVTDS : InstrItinClass; | 11// Instruction Itinerary classes used for ARM 12// 13def IIC_iALUx : InstrItinClass; 14def IIC_iALUi : InstrItinClass; 15def IIC_iALUr : InstrItinClass; 16def IIC_iALUsi : InstrItinClass; 17def IIC_iALUsr : InstrItinClass; 18def IIC_iUNAr : InstrItinClass; --- 34 unchanged lines hidden (view full) --- 53def IIC_Br : InstrItinClass; 54def IIC_fpSTAT : InstrItinClass; 55def IIC_fpUNA32 : InstrItinClass; 56def IIC_fpUNA64 : InstrItinClass; 57def IIC_fpCMP32 : InstrItinClass; 58def IIC_fpCMP64 : InstrItinClass; 59def IIC_fpCVTSD : InstrItinClass; 60def IIC_fpCVTDS : InstrItinClass; |
61def IIC_fpCVTSH : InstrItinClass; 62def IIC_fpCVTHS : InstrItinClass; |
|
72def IIC_fpCVTIS : InstrItinClass; 73def IIC_fpCVTID : InstrItinClass; 74def IIC_fpCVTSI : InstrItinClass; 75def IIC_fpCVTDI : InstrItinClass; | 63def IIC_fpCVTIS : InstrItinClass; 64def IIC_fpCVTID : InstrItinClass; 65def IIC_fpCVTSI : InstrItinClass; 66def IIC_fpCVTDI : InstrItinClass; |
67def IIC_fpMOVIS : InstrItinClass; 68def IIC_fpMOVID : InstrItinClass; 69def IIC_fpMOVSI : InstrItinClass; 70def IIC_fpMOVDI : InstrItinClass; |
|
76def IIC_fpALU32 : InstrItinClass; 77def IIC_fpALU64 : InstrItinClass; 78def IIC_fpMUL32 : InstrItinClass; 79def IIC_fpMUL64 : InstrItinClass; 80def IIC_fpMAC32 : InstrItinClass; 81def IIC_fpMAC64 : InstrItinClass; 82def IIC_fpDIV32 : InstrItinClass; 83def IIC_fpDIV64 : InstrItinClass; --- 36 unchanged lines hidden (view full) --- 120def IIC_VQUNAiD : InstrItinClass; 121def IIC_VQUNAiQ : InstrItinClass; 122def IIC_VBINiD : InstrItinClass; 123def IIC_VBINiQ : InstrItinClass; 124def IIC_VSUBiD : InstrItinClass; 125def IIC_VSUBiQ : InstrItinClass; 126def IIC_VBINi4D : InstrItinClass; 127def IIC_VBINi4Q : InstrItinClass; | 71def IIC_fpALU32 : InstrItinClass; 72def IIC_fpALU64 : InstrItinClass; 73def IIC_fpMUL32 : InstrItinClass; 74def IIC_fpMUL64 : InstrItinClass; 75def IIC_fpMAC32 : InstrItinClass; 76def IIC_fpMAC64 : InstrItinClass; 77def IIC_fpDIV32 : InstrItinClass; 78def IIC_fpDIV64 : InstrItinClass; --- 36 unchanged lines hidden (view full) --- 115def IIC_VQUNAiD : InstrItinClass; 116def IIC_VQUNAiQ : InstrItinClass; 117def IIC_VBINiD : InstrItinClass; 118def IIC_VBINiQ : InstrItinClass; 119def IIC_VSUBiD : InstrItinClass; 120def IIC_VSUBiQ : InstrItinClass; 121def IIC_VBINi4D : InstrItinClass; 122def IIC_VBINi4Q : InstrItinClass; |
123def IIC_VSUBi4D : InstrItinClass; 124def IIC_VSUBi4Q : InstrItinClass; 125def IIC_VABAD : InstrItinClass; 126def IIC_VABAQ : InstrItinClass; |
|
128def IIC_VSHLiD : InstrItinClass; 129def IIC_VSHLiQ : InstrItinClass; 130def IIC_VSHLi4D : InstrItinClass; 131def IIC_VSHLi4Q : InstrItinClass; 132def IIC_VPALiD : InstrItinClass; 133def IIC_VPALiQ : InstrItinClass; 134def IIC_VMULi16D : InstrItinClass; 135def IIC_VMULi32D : InstrItinClass; --- 12 unchanged lines hidden (view full) --- 148def IIC_VTBX1 : InstrItinClass; 149def IIC_VTBX2 : InstrItinClass; 150def IIC_VTBX3 : InstrItinClass; 151def IIC_VTBX4 : InstrItinClass; 152 153//===----------------------------------------------------------------------===// 154// Processor instruction itineraries. 155 | 127def IIC_VSHLiD : InstrItinClass; 128def IIC_VSHLiQ : InstrItinClass; 129def IIC_VSHLi4D : InstrItinClass; 130def IIC_VSHLi4Q : InstrItinClass; 131def IIC_VPALiD : InstrItinClass; 132def IIC_VPALiQ : InstrItinClass; 133def IIC_VMULi16D : InstrItinClass; 134def IIC_VMULi32D : InstrItinClass; --- 12 unchanged lines hidden (view full) --- 147def IIC_VTBX1 : InstrItinClass; 148def IIC_VTBX2 : InstrItinClass; 149def IIC_VTBX3 : InstrItinClass; 150def IIC_VTBX4 : InstrItinClass; 151 152//===----------------------------------------------------------------------===// 153// Processor instruction itineraries. 154 |
156def GenericItineraries : ProcessorItineraries<[]>; | 155def GenericItineraries : ProcessorItineraries<[], []>; |
157 | 156 |
158 | |
159include "ARMScheduleV6.td" | 157include "ARMScheduleV6.td" |
160include "ARMScheduleV7.td" | 158include "ARMScheduleA8.td" 159include "ARMScheduleA9.td" |