1*9880d681SAndroid Build Coastguard Worker//===-- ARMSchedule.td - ARM Scheduling Definitions --------*- tablegen -*-===// 2*9880d681SAndroid Build Coastguard Worker// 3*9880d681SAndroid Build Coastguard Worker// The LLVM Compiler Infrastructure 4*9880d681SAndroid Build Coastguard Worker// 5*9880d681SAndroid Build Coastguard Worker// This file is distributed under the University of Illinois Open Source 6*9880d681SAndroid Build Coastguard Worker// License. See LICENSE.TXT for details. 7*9880d681SAndroid Build Coastguard Worker// 8*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 9*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 10*9880d681SAndroid Build Coastguard Worker// Instruction scheduling annotations for out-of-order CPUs. 11*9880d681SAndroid Build Coastguard Worker// These annotations are independent of the itinerary class defined below. 12*9880d681SAndroid Build Coastguard Worker// Here we define the subtarget independent read/write per-operand resources. 13*9880d681SAndroid Build Coastguard Worker// The subtarget schedule definitions will then map these to the subtarget's 14*9880d681SAndroid Build Coastguard Worker// resource usages. 15*9880d681SAndroid Build Coastguard Worker// For example: 16*9880d681SAndroid Build Coastguard Worker// The instruction cycle timings table might contain an entry for an operation 17*9880d681SAndroid Build Coastguard Worker// like the following: 18*9880d681SAndroid Build Coastguard Worker// Rd <- ADD Rn, Rm, <shift> Rs 19*9880d681SAndroid Build Coastguard Worker// Uops | Latency from register | Uops - resource requirements - latency 20*9880d681SAndroid Build Coastguard Worker// 2 | Rn: 1 Rm: 4 Rs: 4 | uop T0, Rm, Rs - P01 - 3 21*9880d681SAndroid Build Coastguard Worker// | | uopc Rd, Rn, T0 - P01 - 1 22*9880d681SAndroid Build Coastguard Worker// This is telling us that the result will be available in destination register 23*9880d681SAndroid Build Coastguard Worker// Rd after a minimum of three cycles after the result in Rm and Rs is available 24*9880d681SAndroid Build Coastguard Worker// and one cycle after the result in Rn is available. The micro-ops can execute 25*9880d681SAndroid Build Coastguard Worker// on resource P01. 26*9880d681SAndroid Build Coastguard Worker// To model this, we need to express that we need to dispatch two micro-ops, 27*9880d681SAndroid Build Coastguard Worker// that the resource P01 is needed and that the latency to Rn is different than 28*9880d681SAndroid Build Coastguard Worker// the latency to Rm and Rs. The scheduler can decrease Rn's producer latency by 29*9880d681SAndroid Build Coastguard Worker// two. 30*9880d681SAndroid Build Coastguard Worker// We will do this by assigning (abstract) resources to register defs/uses. 31*9880d681SAndroid Build Coastguard Worker// ARMSchedule.td: 32*9880d681SAndroid Build Coastguard Worker// def WriteALUsr : SchedWrite; 33*9880d681SAndroid Build Coastguard Worker// def ReadAdvanceALUsr : ScheRead; 34*9880d681SAndroid Build Coastguard Worker// 35*9880d681SAndroid Build Coastguard Worker// ARMInstrInfo.td: 36*9880d681SAndroid Build Coastguard Worker// def ADDrs : I<>, Sched<[WriteALUsr, ReadAdvanceALUsr, ReadDefault, 37*9880d681SAndroid Build Coastguard Worker// ReadDefault]> { ...} 38*9880d681SAndroid Build Coastguard Worker// ReadAdvance read resources allow us to define "pipeline by-passes" or 39*9880d681SAndroid Build Coastguard Worker// shorter latencies to certain registers as needed in the example above. 40*9880d681SAndroid Build Coastguard Worker// The "ReadDefault" can be omitted. 41*9880d681SAndroid Build Coastguard Worker// Next, the subtarget td file assigns resources to the abstract resources 42*9880d681SAndroid Build Coastguard Worker// defined here. 43*9880d681SAndroid Build Coastguard Worker// ARMScheduleSubtarget.td: 44*9880d681SAndroid Build Coastguard Worker// // Resources. 45*9880d681SAndroid Build Coastguard Worker// def P01 : ProcResource<3>; // ALU unit (3 of it). 46*9880d681SAndroid Build Coastguard Worker// ... 47*9880d681SAndroid Build Coastguard Worker// // Resource usages. 48*9880d681SAndroid Build Coastguard Worker// def : WriteRes<WriteALUsr, [P01, P01]> { 49*9880d681SAndroid Build Coastguard Worker// Latency = 4; // Latency of 4. 50*9880d681SAndroid Build Coastguard Worker// NumMicroOps = 2; // Dispatch 2 micro-ops. 51*9880d681SAndroid Build Coastguard Worker// // The two instances of resource P01 are occupied for one cycle. It is one 52*9880d681SAndroid Build Coastguard Worker// // cycle because these resources happen to be pipelined. 53*9880d681SAndroid Build Coastguard Worker// ResourceCycles = [1, 1]; 54*9880d681SAndroid Build Coastguard Worker// } 55*9880d681SAndroid Build Coastguard Worker// def : ReadAdvance<ReadAdvanceALUsr, 3>; 56*9880d681SAndroid Build Coastguard Worker 57*9880d681SAndroid Build Coastguard Worker// Basic ALU operation. 58*9880d681SAndroid Build Coastguard Workerdef WriteALU : SchedWrite; 59*9880d681SAndroid Build Coastguard Workerdef ReadALU : SchedRead; 60*9880d681SAndroid Build Coastguard Worker 61*9880d681SAndroid Build Coastguard Worker// Basic ALU with shifts. 62*9880d681SAndroid Build Coastguard Workerdef WriteALUsi : SchedWrite; // Shift by immediate. 63*9880d681SAndroid Build Coastguard Workerdef WriteALUsr : SchedWrite; // Shift by register. 64*9880d681SAndroid Build Coastguard Workerdef WriteALUSsr : SchedWrite; // Shift by register (flag setting). 65*9880d681SAndroid Build Coastguard Workerdef ReadALUsr : SchedRead; // Some operands are read later. 66*9880d681SAndroid Build Coastguard Worker 67*9880d681SAndroid Build Coastguard Worker// Compares. 68*9880d681SAndroid Build Coastguard Workerdef WriteCMP : SchedWrite; 69*9880d681SAndroid Build Coastguard Workerdef WriteCMPsi : SchedWrite; 70*9880d681SAndroid Build Coastguard Workerdef WriteCMPsr : SchedWrite; 71*9880d681SAndroid Build Coastguard Worker 72*9880d681SAndroid Build Coastguard Worker// Division. 73*9880d681SAndroid Build Coastguard Workerdef WriteDiv : SchedWrite; 74*9880d681SAndroid Build Coastguard Worker 75*9880d681SAndroid Build Coastguard Worker// Loads. 76*9880d681SAndroid Build Coastguard Workerdef WriteLd : SchedWrite; 77*9880d681SAndroid Build Coastguard Workerdef WritePreLd : SchedWrite; 78*9880d681SAndroid Build Coastguard Worker 79*9880d681SAndroid Build Coastguard Worker// Branches. 80*9880d681SAndroid Build Coastguard Workerdef WriteBr : SchedWrite; 81*9880d681SAndroid Build Coastguard Workerdef WriteBrL : SchedWrite; 82*9880d681SAndroid Build Coastguard Workerdef WriteBrTbl : SchedWrite; 83*9880d681SAndroid Build Coastguard Worker 84*9880d681SAndroid Build Coastguard Worker// Fixpoint conversions. 85*9880d681SAndroid Build Coastguard Workerdef WriteCvtFP : SchedWrite; 86*9880d681SAndroid Build Coastguard Worker 87*9880d681SAndroid Build Coastguard Worker// Noop. 88*9880d681SAndroid Build Coastguard Workerdef WriteNoop : SchedWrite; 89*9880d681SAndroid Build Coastguard Worker 90*9880d681SAndroid Build Coastguard Worker// Define TII for use in SchedVariant Predicates. 91*9880d681SAndroid Build Coastguard Workerdef : PredicateProlog<[{ 92*9880d681SAndroid Build Coastguard Worker const ARMBaseInstrInfo *TII = 93*9880d681SAndroid Build Coastguard Worker static_cast<const ARMBaseInstrInfo*>(SchedModel->getInstrInfo()); 94*9880d681SAndroid Build Coastguard Worker (void)TII; 95*9880d681SAndroid Build Coastguard Worker}]>; 96*9880d681SAndroid Build Coastguard Worker 97*9880d681SAndroid Build Coastguard Workerdef IsPredicatedPred : SchedPredicate<[{TII->isPredicated(*MI)}]>; 98*9880d681SAndroid Build Coastguard Worker 99*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 100*9880d681SAndroid Build Coastguard Worker// Instruction Itinerary classes used for ARM 101*9880d681SAndroid Build Coastguard Worker// 102*9880d681SAndroid Build Coastguard Workerdef IIC_iALUx : InstrItinClass; 103*9880d681SAndroid Build Coastguard Workerdef IIC_iALUi : InstrItinClass; 104*9880d681SAndroid Build Coastguard Workerdef IIC_iALUr : InstrItinClass; 105*9880d681SAndroid Build Coastguard Workerdef IIC_iALUsi : InstrItinClass; 106*9880d681SAndroid Build Coastguard Workerdef IIC_iALUsir : InstrItinClass; 107*9880d681SAndroid Build Coastguard Workerdef IIC_iALUsr : InstrItinClass; 108*9880d681SAndroid Build Coastguard Workerdef IIC_iBITi : InstrItinClass; 109*9880d681SAndroid Build Coastguard Workerdef IIC_iBITr : InstrItinClass; 110*9880d681SAndroid Build Coastguard Workerdef IIC_iBITsi : InstrItinClass; 111*9880d681SAndroid Build Coastguard Workerdef IIC_iBITsr : InstrItinClass; 112*9880d681SAndroid Build Coastguard Workerdef IIC_iUNAr : InstrItinClass; 113*9880d681SAndroid Build Coastguard Workerdef IIC_iUNAsi : InstrItinClass; 114*9880d681SAndroid Build Coastguard Workerdef IIC_iEXTr : InstrItinClass; 115*9880d681SAndroid Build Coastguard Workerdef IIC_iEXTAr : InstrItinClass; 116*9880d681SAndroid Build Coastguard Workerdef IIC_iEXTAsr : InstrItinClass; 117*9880d681SAndroid Build Coastguard Workerdef IIC_iCMPi : InstrItinClass; 118*9880d681SAndroid Build Coastguard Workerdef IIC_iCMPr : InstrItinClass; 119*9880d681SAndroid Build Coastguard Workerdef IIC_iCMPsi : InstrItinClass; 120*9880d681SAndroid Build Coastguard Workerdef IIC_iCMPsr : InstrItinClass; 121*9880d681SAndroid Build Coastguard Workerdef IIC_iTSTi : InstrItinClass; 122*9880d681SAndroid Build Coastguard Workerdef IIC_iTSTr : InstrItinClass; 123*9880d681SAndroid Build Coastguard Workerdef IIC_iTSTsi : InstrItinClass; 124*9880d681SAndroid Build Coastguard Workerdef IIC_iTSTsr : InstrItinClass; 125*9880d681SAndroid Build Coastguard Workerdef IIC_iMOVi : InstrItinClass; 126*9880d681SAndroid Build Coastguard Workerdef IIC_iMOVr : InstrItinClass; 127*9880d681SAndroid Build Coastguard Workerdef IIC_iMOVsi : InstrItinClass; 128*9880d681SAndroid Build Coastguard Workerdef IIC_iMOVsr : InstrItinClass; 129*9880d681SAndroid Build Coastguard Workerdef IIC_iMOVix2 : InstrItinClass; 130*9880d681SAndroid Build Coastguard Workerdef IIC_iMOVix2addpc : InstrItinClass; 131*9880d681SAndroid Build Coastguard Workerdef IIC_iMOVix2ld : InstrItinClass; 132*9880d681SAndroid Build Coastguard Workerdef IIC_iMVNi : InstrItinClass; 133*9880d681SAndroid Build Coastguard Workerdef IIC_iMVNr : InstrItinClass; 134*9880d681SAndroid Build Coastguard Workerdef IIC_iMVNsi : InstrItinClass; 135*9880d681SAndroid Build Coastguard Workerdef IIC_iMVNsr : InstrItinClass; 136*9880d681SAndroid Build Coastguard Workerdef IIC_iCMOVi : InstrItinClass; 137*9880d681SAndroid Build Coastguard Workerdef IIC_iCMOVr : InstrItinClass; 138*9880d681SAndroid Build Coastguard Workerdef IIC_iCMOVsi : InstrItinClass; 139*9880d681SAndroid Build Coastguard Workerdef IIC_iCMOVsr : InstrItinClass; 140*9880d681SAndroid Build Coastguard Workerdef IIC_iCMOVix2 : InstrItinClass; 141*9880d681SAndroid Build Coastguard Workerdef IIC_iMUL16 : InstrItinClass; 142*9880d681SAndroid Build Coastguard Workerdef IIC_iMAC16 : InstrItinClass; 143*9880d681SAndroid Build Coastguard Workerdef IIC_iMUL32 : InstrItinClass; 144*9880d681SAndroid Build Coastguard Workerdef IIC_iMAC32 : InstrItinClass; 145*9880d681SAndroid Build Coastguard Workerdef IIC_iMUL64 : InstrItinClass; 146*9880d681SAndroid Build Coastguard Workerdef IIC_iMAC64 : InstrItinClass; 147*9880d681SAndroid Build Coastguard Workerdef IIC_iDIV : InstrItinClass; 148*9880d681SAndroid Build Coastguard Workerdef IIC_iLoad_i : InstrItinClass; 149*9880d681SAndroid Build Coastguard Workerdef IIC_iLoad_r : InstrItinClass; 150*9880d681SAndroid Build Coastguard Workerdef IIC_iLoad_si : InstrItinClass; 151*9880d681SAndroid Build Coastguard Workerdef IIC_iLoad_iu : InstrItinClass; 152*9880d681SAndroid Build Coastguard Workerdef IIC_iLoad_ru : InstrItinClass; 153*9880d681SAndroid Build Coastguard Workerdef IIC_iLoad_siu : InstrItinClass; 154*9880d681SAndroid Build Coastguard Workerdef IIC_iLoad_bh_i : InstrItinClass; 155*9880d681SAndroid Build Coastguard Workerdef IIC_iLoad_bh_r : InstrItinClass; 156*9880d681SAndroid Build Coastguard Workerdef IIC_iLoad_bh_si : InstrItinClass; 157*9880d681SAndroid Build Coastguard Workerdef IIC_iLoad_bh_iu : InstrItinClass; 158*9880d681SAndroid Build Coastguard Workerdef IIC_iLoad_bh_ru : InstrItinClass; 159*9880d681SAndroid Build Coastguard Workerdef IIC_iLoad_bh_siu : InstrItinClass; 160*9880d681SAndroid Build Coastguard Workerdef IIC_iLoad_d_i : InstrItinClass; 161*9880d681SAndroid Build Coastguard Workerdef IIC_iLoad_d_r : InstrItinClass; 162*9880d681SAndroid Build Coastguard Workerdef IIC_iLoad_d_ru : InstrItinClass; 163*9880d681SAndroid Build Coastguard Workerdef IIC_iLoad_m : InstrItinClass; 164*9880d681SAndroid Build Coastguard Workerdef IIC_iLoad_mu : InstrItinClass; 165*9880d681SAndroid Build Coastguard Workerdef IIC_iLoad_mBr : InstrItinClass; 166*9880d681SAndroid Build Coastguard Workerdef IIC_iPop : InstrItinClass; 167*9880d681SAndroid Build Coastguard Workerdef IIC_iPop_Br : InstrItinClass; 168*9880d681SAndroid Build Coastguard Workerdef IIC_iLoadiALU : InstrItinClass; 169*9880d681SAndroid Build Coastguard Workerdef IIC_iStore_i : InstrItinClass; 170*9880d681SAndroid Build Coastguard Workerdef IIC_iStore_r : InstrItinClass; 171*9880d681SAndroid Build Coastguard Workerdef IIC_iStore_si : InstrItinClass; 172*9880d681SAndroid Build Coastguard Workerdef IIC_iStore_iu : InstrItinClass; 173*9880d681SAndroid Build Coastguard Workerdef IIC_iStore_ru : InstrItinClass; 174*9880d681SAndroid Build Coastguard Workerdef IIC_iStore_siu : InstrItinClass; 175*9880d681SAndroid Build Coastguard Workerdef IIC_iStore_bh_i : InstrItinClass; 176*9880d681SAndroid Build Coastguard Workerdef IIC_iStore_bh_r : InstrItinClass; 177*9880d681SAndroid Build Coastguard Workerdef IIC_iStore_bh_si : InstrItinClass; 178*9880d681SAndroid Build Coastguard Workerdef IIC_iStore_bh_iu : InstrItinClass; 179*9880d681SAndroid Build Coastguard Workerdef IIC_iStore_bh_ru : InstrItinClass; 180*9880d681SAndroid Build Coastguard Workerdef IIC_iStore_bh_siu : InstrItinClass; 181*9880d681SAndroid Build Coastguard Workerdef IIC_iStore_d_i : InstrItinClass; 182*9880d681SAndroid Build Coastguard Workerdef IIC_iStore_d_r : InstrItinClass; 183*9880d681SAndroid Build Coastguard Workerdef IIC_iStore_d_ru : InstrItinClass; 184*9880d681SAndroid Build Coastguard Workerdef IIC_iStore_m : InstrItinClass; 185*9880d681SAndroid Build Coastguard Workerdef IIC_iStore_mu : InstrItinClass; 186*9880d681SAndroid Build Coastguard Workerdef IIC_Preload : InstrItinClass; 187*9880d681SAndroid Build Coastguard Workerdef IIC_Br : InstrItinClass; 188*9880d681SAndroid Build Coastguard Workerdef IIC_fpSTAT : InstrItinClass; 189*9880d681SAndroid Build Coastguard Workerdef IIC_fpUNA16 : InstrItinClass; 190*9880d681SAndroid Build Coastguard Workerdef IIC_fpUNA32 : InstrItinClass; 191*9880d681SAndroid Build Coastguard Workerdef IIC_fpUNA64 : InstrItinClass; 192*9880d681SAndroid Build Coastguard Workerdef IIC_fpCMP16 : InstrItinClass; 193*9880d681SAndroid Build Coastguard Workerdef IIC_fpCMP32 : InstrItinClass; 194*9880d681SAndroid Build Coastguard Workerdef IIC_fpCMP64 : InstrItinClass; 195*9880d681SAndroid Build Coastguard Workerdef IIC_fpCVTSD : InstrItinClass; 196*9880d681SAndroid Build Coastguard Workerdef IIC_fpCVTDS : InstrItinClass; 197*9880d681SAndroid Build Coastguard Workerdef IIC_fpCVTSH : InstrItinClass; 198*9880d681SAndroid Build Coastguard Workerdef IIC_fpCVTHS : InstrItinClass; 199*9880d681SAndroid Build Coastguard Workerdef IIC_fpCVTIH : InstrItinClass; 200*9880d681SAndroid Build Coastguard Workerdef IIC_fpCVTIS : InstrItinClass; 201*9880d681SAndroid Build Coastguard Workerdef IIC_fpCVTID : InstrItinClass; 202*9880d681SAndroid Build Coastguard Workerdef IIC_fpCVTHI : InstrItinClass; 203*9880d681SAndroid Build Coastguard Workerdef IIC_fpCVTSI : InstrItinClass; 204*9880d681SAndroid Build Coastguard Workerdef IIC_fpCVTDI : InstrItinClass; 205*9880d681SAndroid Build Coastguard Workerdef IIC_fpMOVIS : InstrItinClass; 206*9880d681SAndroid Build Coastguard Workerdef IIC_fpMOVID : InstrItinClass; 207*9880d681SAndroid Build Coastguard Workerdef IIC_fpMOVSI : InstrItinClass; 208*9880d681SAndroid Build Coastguard Workerdef IIC_fpMOVDI : InstrItinClass; 209*9880d681SAndroid Build Coastguard Workerdef IIC_fpALU16 : InstrItinClass; 210*9880d681SAndroid Build Coastguard Workerdef IIC_fpALU32 : InstrItinClass; 211*9880d681SAndroid Build Coastguard Workerdef IIC_fpALU64 : InstrItinClass; 212*9880d681SAndroid Build Coastguard Workerdef IIC_fpMUL16 : InstrItinClass; 213*9880d681SAndroid Build Coastguard Workerdef IIC_fpMUL32 : InstrItinClass; 214*9880d681SAndroid Build Coastguard Workerdef IIC_fpMUL64 : InstrItinClass; 215*9880d681SAndroid Build Coastguard Workerdef IIC_fpMAC16 : InstrItinClass; 216*9880d681SAndroid Build Coastguard Workerdef IIC_fpMAC32 : InstrItinClass; 217*9880d681SAndroid Build Coastguard Workerdef IIC_fpMAC64 : InstrItinClass; 218*9880d681SAndroid Build Coastguard Workerdef IIC_fpFMAC16 : InstrItinClass; 219*9880d681SAndroid Build Coastguard Workerdef IIC_fpFMAC32 : InstrItinClass; 220*9880d681SAndroid Build Coastguard Workerdef IIC_fpFMAC64 : InstrItinClass; 221*9880d681SAndroid Build Coastguard Workerdef IIC_fpDIV16 : InstrItinClass; 222*9880d681SAndroid Build Coastguard Workerdef IIC_fpDIV32 : InstrItinClass; 223*9880d681SAndroid Build Coastguard Workerdef IIC_fpDIV64 : InstrItinClass; 224*9880d681SAndroid Build Coastguard Workerdef IIC_fpSQRT16 : InstrItinClass; 225*9880d681SAndroid Build Coastguard Workerdef IIC_fpSQRT32 : InstrItinClass; 226*9880d681SAndroid Build Coastguard Workerdef IIC_fpSQRT64 : InstrItinClass; 227*9880d681SAndroid Build Coastguard Workerdef IIC_fpLoad16 : InstrItinClass; 228*9880d681SAndroid Build Coastguard Workerdef IIC_fpLoad32 : InstrItinClass; 229*9880d681SAndroid Build Coastguard Workerdef IIC_fpLoad64 : InstrItinClass; 230*9880d681SAndroid Build Coastguard Workerdef IIC_fpLoad_m : InstrItinClass; 231*9880d681SAndroid Build Coastguard Workerdef IIC_fpLoad_mu : InstrItinClass; 232*9880d681SAndroid Build Coastguard Workerdef IIC_fpStore16 : InstrItinClass; 233*9880d681SAndroid Build Coastguard Workerdef IIC_fpStore32 : InstrItinClass; 234*9880d681SAndroid Build Coastguard Workerdef IIC_fpStore64 : InstrItinClass; 235*9880d681SAndroid Build Coastguard Workerdef IIC_fpStore_m : InstrItinClass; 236*9880d681SAndroid Build Coastguard Workerdef IIC_fpStore_mu : InstrItinClass; 237*9880d681SAndroid Build Coastguard Workerdef IIC_VLD1 : InstrItinClass; 238*9880d681SAndroid Build Coastguard Workerdef IIC_VLD1x2 : InstrItinClass; 239*9880d681SAndroid Build Coastguard Workerdef IIC_VLD1x3 : InstrItinClass; 240*9880d681SAndroid Build Coastguard Workerdef IIC_VLD1x4 : InstrItinClass; 241*9880d681SAndroid Build Coastguard Workerdef IIC_VLD1u : InstrItinClass; 242*9880d681SAndroid Build Coastguard Workerdef IIC_VLD1x2u : InstrItinClass; 243*9880d681SAndroid Build Coastguard Workerdef IIC_VLD1x3u : InstrItinClass; 244*9880d681SAndroid Build Coastguard Workerdef IIC_VLD1x4u : InstrItinClass; 245*9880d681SAndroid Build Coastguard Workerdef IIC_VLD1ln : InstrItinClass; 246*9880d681SAndroid Build Coastguard Workerdef IIC_VLD1lnu : InstrItinClass; 247*9880d681SAndroid Build Coastguard Workerdef IIC_VLD1dup : InstrItinClass; 248*9880d681SAndroid Build Coastguard Workerdef IIC_VLD1dupu : InstrItinClass; 249*9880d681SAndroid Build Coastguard Workerdef IIC_VLD2 : InstrItinClass; 250*9880d681SAndroid Build Coastguard Workerdef IIC_VLD2x2 : InstrItinClass; 251*9880d681SAndroid Build Coastguard Workerdef IIC_VLD2u : InstrItinClass; 252*9880d681SAndroid Build Coastguard Workerdef IIC_VLD2x2u : InstrItinClass; 253*9880d681SAndroid Build Coastguard Workerdef IIC_VLD2ln : InstrItinClass; 254*9880d681SAndroid Build Coastguard Workerdef IIC_VLD2lnu : InstrItinClass; 255*9880d681SAndroid Build Coastguard Workerdef IIC_VLD2dup : InstrItinClass; 256*9880d681SAndroid Build Coastguard Workerdef IIC_VLD2dupu : InstrItinClass; 257*9880d681SAndroid Build Coastguard Workerdef IIC_VLD3 : InstrItinClass; 258*9880d681SAndroid Build Coastguard Workerdef IIC_VLD3ln : InstrItinClass; 259*9880d681SAndroid Build Coastguard Workerdef IIC_VLD3u : InstrItinClass; 260*9880d681SAndroid Build Coastguard Workerdef IIC_VLD3lnu : InstrItinClass; 261*9880d681SAndroid Build Coastguard Workerdef IIC_VLD3dup : InstrItinClass; 262*9880d681SAndroid Build Coastguard Workerdef IIC_VLD3dupu : InstrItinClass; 263*9880d681SAndroid Build Coastguard Workerdef IIC_VLD4 : InstrItinClass; 264*9880d681SAndroid Build Coastguard Workerdef IIC_VLD4ln : InstrItinClass; 265*9880d681SAndroid Build Coastguard Workerdef IIC_VLD4u : InstrItinClass; 266*9880d681SAndroid Build Coastguard Workerdef IIC_VLD4lnu : InstrItinClass; 267*9880d681SAndroid Build Coastguard Workerdef IIC_VLD4dup : InstrItinClass; 268*9880d681SAndroid Build Coastguard Workerdef IIC_VLD4dupu : InstrItinClass; 269*9880d681SAndroid Build Coastguard Workerdef IIC_VST1 : InstrItinClass; 270*9880d681SAndroid Build Coastguard Workerdef IIC_VST1x2 : InstrItinClass; 271*9880d681SAndroid Build Coastguard Workerdef IIC_VST1x3 : InstrItinClass; 272*9880d681SAndroid Build Coastguard Workerdef IIC_VST1x4 : InstrItinClass; 273*9880d681SAndroid Build Coastguard Workerdef IIC_VST1u : InstrItinClass; 274*9880d681SAndroid Build Coastguard Workerdef IIC_VST1x2u : InstrItinClass; 275*9880d681SAndroid Build Coastguard Workerdef IIC_VST1x3u : InstrItinClass; 276*9880d681SAndroid Build Coastguard Workerdef IIC_VST1x4u : InstrItinClass; 277*9880d681SAndroid Build Coastguard Workerdef IIC_VST1ln : InstrItinClass; 278*9880d681SAndroid Build Coastguard Workerdef IIC_VST1lnu : InstrItinClass; 279*9880d681SAndroid Build Coastguard Workerdef IIC_VST2 : InstrItinClass; 280*9880d681SAndroid Build Coastguard Workerdef IIC_VST2x2 : InstrItinClass; 281*9880d681SAndroid Build Coastguard Workerdef IIC_VST2u : InstrItinClass; 282*9880d681SAndroid Build Coastguard Workerdef IIC_VST2x2u : InstrItinClass; 283*9880d681SAndroid Build Coastguard Workerdef IIC_VST2ln : InstrItinClass; 284*9880d681SAndroid Build Coastguard Workerdef IIC_VST2lnu : InstrItinClass; 285*9880d681SAndroid Build Coastguard Workerdef IIC_VST3 : InstrItinClass; 286*9880d681SAndroid Build Coastguard Workerdef IIC_VST3u : InstrItinClass; 287*9880d681SAndroid Build Coastguard Workerdef IIC_VST3ln : InstrItinClass; 288*9880d681SAndroid Build Coastguard Workerdef IIC_VST3lnu : InstrItinClass; 289*9880d681SAndroid Build Coastguard Workerdef IIC_VST4 : InstrItinClass; 290*9880d681SAndroid Build Coastguard Workerdef IIC_VST4u : InstrItinClass; 291*9880d681SAndroid Build Coastguard Workerdef IIC_VST4ln : InstrItinClass; 292*9880d681SAndroid Build Coastguard Workerdef IIC_VST4lnu : InstrItinClass; 293*9880d681SAndroid Build Coastguard Workerdef IIC_VUNAD : InstrItinClass; 294*9880d681SAndroid Build Coastguard Workerdef IIC_VUNAQ : InstrItinClass; 295*9880d681SAndroid Build Coastguard Workerdef IIC_VBIND : InstrItinClass; 296*9880d681SAndroid Build Coastguard Workerdef IIC_VBINQ : InstrItinClass; 297*9880d681SAndroid Build Coastguard Workerdef IIC_VPBIND : InstrItinClass; 298*9880d681SAndroid Build Coastguard Workerdef IIC_VFMULD : InstrItinClass; 299*9880d681SAndroid Build Coastguard Workerdef IIC_VFMULQ : InstrItinClass; 300*9880d681SAndroid Build Coastguard Workerdef IIC_VMOV : InstrItinClass; 301*9880d681SAndroid Build Coastguard Workerdef IIC_VMOVImm : InstrItinClass; 302*9880d681SAndroid Build Coastguard Workerdef IIC_VMOVD : InstrItinClass; 303*9880d681SAndroid Build Coastguard Workerdef IIC_VMOVQ : InstrItinClass; 304*9880d681SAndroid Build Coastguard Workerdef IIC_VMOVIS : InstrItinClass; 305*9880d681SAndroid Build Coastguard Workerdef IIC_VMOVID : InstrItinClass; 306*9880d681SAndroid Build Coastguard Workerdef IIC_VMOVISL : InstrItinClass; 307*9880d681SAndroid Build Coastguard Workerdef IIC_VMOVSI : InstrItinClass; 308*9880d681SAndroid Build Coastguard Workerdef IIC_VMOVDI : InstrItinClass; 309*9880d681SAndroid Build Coastguard Workerdef IIC_VMOVN : InstrItinClass; 310*9880d681SAndroid Build Coastguard Workerdef IIC_VPERMD : InstrItinClass; 311*9880d681SAndroid Build Coastguard Workerdef IIC_VPERMQ : InstrItinClass; 312*9880d681SAndroid Build Coastguard Workerdef IIC_VPERMQ3 : InstrItinClass; 313*9880d681SAndroid Build Coastguard Workerdef IIC_VMACD : InstrItinClass; 314*9880d681SAndroid Build Coastguard Workerdef IIC_VMACQ : InstrItinClass; 315*9880d681SAndroid Build Coastguard Workerdef IIC_VFMACD : InstrItinClass; 316*9880d681SAndroid Build Coastguard Workerdef IIC_VFMACQ : InstrItinClass; 317*9880d681SAndroid Build Coastguard Workerdef IIC_VRECSD : InstrItinClass; 318*9880d681SAndroid Build Coastguard Workerdef IIC_VRECSQ : InstrItinClass; 319*9880d681SAndroid Build Coastguard Workerdef IIC_VCNTiD : InstrItinClass; 320*9880d681SAndroid Build Coastguard Workerdef IIC_VCNTiQ : InstrItinClass; 321*9880d681SAndroid Build Coastguard Workerdef IIC_VUNAiD : InstrItinClass; 322*9880d681SAndroid Build Coastguard Workerdef IIC_VUNAiQ : InstrItinClass; 323*9880d681SAndroid Build Coastguard Workerdef IIC_VQUNAiD : InstrItinClass; 324*9880d681SAndroid Build Coastguard Workerdef IIC_VQUNAiQ : InstrItinClass; 325*9880d681SAndroid Build Coastguard Workerdef IIC_VBINiD : InstrItinClass; 326*9880d681SAndroid Build Coastguard Workerdef IIC_VBINiQ : InstrItinClass; 327*9880d681SAndroid Build Coastguard Workerdef IIC_VSUBiD : InstrItinClass; 328*9880d681SAndroid Build Coastguard Workerdef IIC_VSUBiQ : InstrItinClass; 329*9880d681SAndroid Build Coastguard Workerdef IIC_VBINi4D : InstrItinClass; 330*9880d681SAndroid Build Coastguard Workerdef IIC_VBINi4Q : InstrItinClass; 331*9880d681SAndroid Build Coastguard Workerdef IIC_VSUBi4D : InstrItinClass; 332*9880d681SAndroid Build Coastguard Workerdef IIC_VSUBi4Q : InstrItinClass; 333*9880d681SAndroid Build Coastguard Workerdef IIC_VABAD : InstrItinClass; 334*9880d681SAndroid Build Coastguard Workerdef IIC_VABAQ : InstrItinClass; 335*9880d681SAndroid Build Coastguard Workerdef IIC_VSHLiD : InstrItinClass; 336*9880d681SAndroid Build Coastguard Workerdef IIC_VSHLiQ : InstrItinClass; 337*9880d681SAndroid Build Coastguard Workerdef IIC_VSHLi4D : InstrItinClass; 338*9880d681SAndroid Build Coastguard Workerdef IIC_VSHLi4Q : InstrItinClass; 339*9880d681SAndroid Build Coastguard Workerdef IIC_VPALiD : InstrItinClass; 340*9880d681SAndroid Build Coastguard Workerdef IIC_VPALiQ : InstrItinClass; 341*9880d681SAndroid Build Coastguard Workerdef IIC_VMULi16D : InstrItinClass; 342*9880d681SAndroid Build Coastguard Workerdef IIC_VMULi32D : InstrItinClass; 343*9880d681SAndroid Build Coastguard Workerdef IIC_VMULi16Q : InstrItinClass; 344*9880d681SAndroid Build Coastguard Workerdef IIC_VMULi32Q : InstrItinClass; 345*9880d681SAndroid Build Coastguard Workerdef IIC_VMACi16D : InstrItinClass; 346*9880d681SAndroid Build Coastguard Workerdef IIC_VMACi32D : InstrItinClass; 347*9880d681SAndroid Build Coastguard Workerdef IIC_VMACi16Q : InstrItinClass; 348*9880d681SAndroid Build Coastguard Workerdef IIC_VMACi32Q : InstrItinClass; 349*9880d681SAndroid Build Coastguard Workerdef IIC_VEXTD : InstrItinClass; 350*9880d681SAndroid Build Coastguard Workerdef IIC_VEXTQ : InstrItinClass; 351*9880d681SAndroid Build Coastguard Workerdef IIC_VTB1 : InstrItinClass; 352*9880d681SAndroid Build Coastguard Workerdef IIC_VTB2 : InstrItinClass; 353*9880d681SAndroid Build Coastguard Workerdef IIC_VTB3 : InstrItinClass; 354*9880d681SAndroid Build Coastguard Workerdef IIC_VTB4 : InstrItinClass; 355*9880d681SAndroid Build Coastguard Workerdef IIC_VTBX1 : InstrItinClass; 356*9880d681SAndroid Build Coastguard Workerdef IIC_VTBX2 : InstrItinClass; 357*9880d681SAndroid Build Coastguard Workerdef IIC_VTBX3 : InstrItinClass; 358*9880d681SAndroid Build Coastguard Workerdef IIC_VTBX4 : InstrItinClass; 359*9880d681SAndroid Build Coastguard Worker 360*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 361*9880d681SAndroid Build Coastguard Worker// Processor instruction itineraries. 362*9880d681SAndroid Build Coastguard Worker 363*9880d681SAndroid Build Coastguard Workerinclude "ARMScheduleV6.td" 364*9880d681SAndroid Build Coastguard Workerinclude "ARMScheduleA8.td" 365*9880d681SAndroid Build Coastguard Workerinclude "ARMScheduleA9.td" 366*9880d681SAndroid Build Coastguard Workerinclude "ARMScheduleSwift.td" 367