1*9880d681SAndroid Build Coastguard Worker//===-- PPCSchedule440.td - PPC 440 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// Primary reference: 11*9880d681SAndroid Build Coastguard Worker// PowerPC 440x6 Embedded Processor Core User's Manual. 12*9880d681SAndroid Build Coastguard Worker// IBM (as updated in) 2010. 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Worker// The basic PPC 440 does not include a floating-point unit; the pipeline 15*9880d681SAndroid Build Coastguard Worker// timings here are constructed to match the FP2 unit shipped with the 16*9880d681SAndroid Build Coastguard Worker// PPC-440- and PPC-450-based Blue Gene (L and P) supercomputers. 17*9880d681SAndroid Build Coastguard Worker// References: 18*9880d681SAndroid Build Coastguard Worker// S. Chatterjee, et al. Design and exploitation of a high-performance 19*9880d681SAndroid Build Coastguard Worker// SIMD floating-point unit for Blue Gene/L. 20*9880d681SAndroid Build Coastguard Worker// IBM J. Res. & Dev. 49 (2/3) March/May 2005. 21*9880d681SAndroid Build Coastguard Worker// also: 22*9880d681SAndroid Build Coastguard Worker// Carlos Sosa and Brant Knudson. IBM System Blue Gene Solution: 23*9880d681SAndroid Build Coastguard Worker// Blue Gene/P Application Development. 24*9880d681SAndroid Build Coastguard Worker// IBM (as updated in) 2009. 25*9880d681SAndroid Build Coastguard Worker 26*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 27*9880d681SAndroid Build Coastguard Worker// Functional units on the PowerPC 440/450 chip sets 28*9880d681SAndroid Build Coastguard Worker// 29*9880d681SAndroid Build Coastguard Workerdef P440_DISS1 : FuncUnit; // Issue unit 1 30*9880d681SAndroid Build Coastguard Workerdef P440_DISS2 : FuncUnit; // Issue unit 2 31*9880d681SAndroid Build Coastguard Workerdef P440_LRACC : FuncUnit; // Register access and dispatch for 32*9880d681SAndroid Build Coastguard Worker // the simple integer (J-pipe) and 33*9880d681SAndroid Build Coastguard Worker // load/store (L-pipe) pipelines 34*9880d681SAndroid Build Coastguard Workerdef P440_IRACC : FuncUnit; // Register access and dispatch for 35*9880d681SAndroid Build Coastguard Worker // the complex integer (I-pipe) pipeline 36*9880d681SAndroid Build Coastguard Workerdef P440_FRACC : FuncUnit; // Register access and dispatch for 37*9880d681SAndroid Build Coastguard Worker // the floating-point execution (F-pipe) pipeline 38*9880d681SAndroid Build Coastguard Workerdef P440_IEXE1 : FuncUnit; // Execution stage 1 for the I pipeline 39*9880d681SAndroid Build Coastguard Workerdef P440_IEXE2 : FuncUnit; // Execution stage 2 for the I pipeline 40*9880d681SAndroid Build Coastguard Workerdef P440_IWB : FuncUnit; // Write-back unit for the I pipeline 41*9880d681SAndroid Build Coastguard Workerdef P440_JEXE1 : FuncUnit; // Execution stage 1 for the J pipeline 42*9880d681SAndroid Build Coastguard Workerdef P440_JEXE2 : FuncUnit; // Execution stage 2 for the J pipeline 43*9880d681SAndroid Build Coastguard Workerdef P440_JWB : FuncUnit; // Write-back unit for the J pipeline 44*9880d681SAndroid Build Coastguard Workerdef P440_AGEN : FuncUnit; // Address generation for the L pipeline 45*9880d681SAndroid Build Coastguard Workerdef P440_CRD : FuncUnit; // D-cache access for the L pipeline 46*9880d681SAndroid Build Coastguard Workerdef P440_LWB : FuncUnit; // Write-back unit for the L pipeline 47*9880d681SAndroid Build Coastguard Workerdef P440_FEXE1 : FuncUnit; // Execution stage 1 for the F pipeline 48*9880d681SAndroid Build Coastguard Workerdef P440_FEXE2 : FuncUnit; // Execution stage 2 for the F pipeline 49*9880d681SAndroid Build Coastguard Workerdef P440_FEXE3 : FuncUnit; // Execution stage 3 for the F pipeline 50*9880d681SAndroid Build Coastguard Workerdef P440_FEXE4 : FuncUnit; // Execution stage 4 for the F pipeline 51*9880d681SAndroid Build Coastguard Workerdef P440_FEXE5 : FuncUnit; // Execution stage 5 for the F pipeline 52*9880d681SAndroid Build Coastguard Workerdef P440_FEXE6 : FuncUnit; // Execution stage 6 for the F pipeline 53*9880d681SAndroid Build Coastguard Workerdef P440_FWB : FuncUnit; // Write-back unit for the F pipeline 54*9880d681SAndroid Build Coastguard Worker 55*9880d681SAndroid Build Coastguard Workerdef P440_LWARX_Hold : FuncUnit; // This is a pseudo-unit which is used 56*9880d681SAndroid Build Coastguard Worker // to make sure that no lwarx/stwcx. 57*9880d681SAndroid Build Coastguard Worker // instructions are issued while another 58*9880d681SAndroid Build Coastguard Worker // lwarx/stwcx. is in the L pipe. 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard Workerdef P440_GPR_Bypass : Bypass; // The bypass for general-purpose regs. 61*9880d681SAndroid Build Coastguard Workerdef P440_FPR_Bypass : Bypass; // The bypass for floating-point regs. 62*9880d681SAndroid Build Coastguard Worker 63*9880d681SAndroid Build Coastguard Worker// Notes: 64*9880d681SAndroid Build Coastguard Worker// Instructions are held in the FRACC, LRACC and IRACC pipeline 65*9880d681SAndroid Build Coastguard Worker// stages until their source operands become ready. Exceptions: 66*9880d681SAndroid Build Coastguard Worker// - Store instructions will hold in the AGEN stage 67*9880d681SAndroid Build Coastguard Worker// - The integer multiply-accumulate instruction will hold in 68*9880d681SAndroid Build Coastguard Worker// the IEXE1 stage 69*9880d681SAndroid Build Coastguard Worker// 70*9880d681SAndroid Build Coastguard Worker// For most I-pipe operations, the result is available at the end of 71*9880d681SAndroid Build Coastguard Worker// the IEXE1 stage. Operations such as multiply and divide must 72*9880d681SAndroid Build Coastguard Worker// continue to execute in IEXE2 and IWB. Divide resides in IWB for 73*9880d681SAndroid Build Coastguard Worker// 33 cycles (multiply also calculates its result in IWB). For all 74*9880d681SAndroid Build Coastguard Worker// J-pipe instructions, the result is available 75*9880d681SAndroid Build Coastguard Worker// at the end of the JEXE1 stage. Loads have a 3-cycle latency 76*9880d681SAndroid Build Coastguard Worker// (data is not available until after the LWB stage). 77*9880d681SAndroid Build Coastguard Worker// 78*9880d681SAndroid Build Coastguard Worker// The L1 cache hit latency is four cycles for floating point loads 79*9880d681SAndroid Build Coastguard Worker// and three cycles for integer loads. 80*9880d681SAndroid Build Coastguard Worker// 81*9880d681SAndroid Build Coastguard Worker// The stwcx. instruction requires both the LRACC and the IRACC 82*9880d681SAndroid Build Coastguard Worker// dispatch stages. It must be issued from DISS0. 83*9880d681SAndroid Build Coastguard Worker// 84*9880d681SAndroid Build Coastguard Worker// All lwarx/stwcx. instructions hold in LRACC if another 85*9880d681SAndroid Build Coastguard Worker// uncommitted lwarx/stwcx. is in AGEN, CRD, or LWB. 86*9880d681SAndroid Build Coastguard Worker// 87*9880d681SAndroid Build Coastguard Worker// msync (a.k.a. sync) and mbar will hold in LWB until all load/store 88*9880d681SAndroid Build Coastguard Worker// resources are empty. AGEN and CRD are held empty until the msync/mbar 89*9880d681SAndroid Build Coastguard Worker// commits. 90*9880d681SAndroid Build Coastguard Worker// 91*9880d681SAndroid Build Coastguard Worker// Most floating-point instructions, computational and move, 92*9880d681SAndroid Build Coastguard Worker// have a 5-cycle latency. Divide takes longer (30 cycles). Instructions that 93*9880d681SAndroid Build Coastguard Worker// update the CR take 2 cycles. Stores take 3 cycles and, as mentioned above, 94*9880d681SAndroid Build Coastguard Worker// loads take 4 cycles (for L1 hit). 95*9880d681SAndroid Build Coastguard Worker 96*9880d681SAndroid Build Coastguard Worker// 97*9880d681SAndroid Build Coastguard Worker// This file defines the itinerary class data for the PPC 440 processor. 98*9880d681SAndroid Build Coastguard Worker// 99*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 100*9880d681SAndroid Build Coastguard Worker 101*9880d681SAndroid Build Coastguard Worker 102*9880d681SAndroid Build Coastguard Workerdef PPC440Itineraries : ProcessorItineraries< 103*9880d681SAndroid Build Coastguard Worker [P440_DISS1, P440_DISS2, P440_FRACC, P440_IRACC, P440_IEXE1, P440_IEXE2, 104*9880d681SAndroid Build Coastguard Worker P440_IWB, P440_LRACC, P440_JEXE1, P440_JEXE2, P440_JWB, P440_AGEN, P440_CRD, 105*9880d681SAndroid Build Coastguard Worker P440_LWB, P440_FEXE1, P440_FEXE2, P440_FEXE3, P440_FEXE4, P440_FEXE5, 106*9880d681SAndroid Build Coastguard Worker P440_FEXE6, P440_FWB, P440_LWARX_Hold], 107*9880d681SAndroid Build Coastguard Worker [P440_GPR_Bypass, P440_FPR_Bypass], [ 108*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_IntSimple, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 109*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC, P440_LRACC]>, 110*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1, P440_JEXE1]>, 111*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2, P440_JEXE2]>, 112*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB, P440_JWB]>], 113*9880d681SAndroid Build Coastguard Worker [2, 0, 0], 114*9880d681SAndroid Build Coastguard Worker [P440_GPR_Bypass, 115*9880d681SAndroid Build Coastguard Worker P440_GPR_Bypass, P440_GPR_Bypass]>, 116*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_IntGeneral, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 117*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC, P440_LRACC]>, 118*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1, P440_JEXE1]>, 119*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2, P440_JEXE2]>, 120*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB, P440_JWB]>], 121*9880d681SAndroid Build Coastguard Worker [2, 0, 0], 122*9880d681SAndroid Build Coastguard Worker [P440_GPR_Bypass, 123*9880d681SAndroid Build Coastguard Worker P440_GPR_Bypass, P440_GPR_Bypass]>, 124*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_IntISEL, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 125*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC, P440_LRACC]>, 126*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1, P440_JEXE1]>, 127*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2, P440_JEXE2]>, 128*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB, P440_JWB]>], 129*9880d681SAndroid Build Coastguard Worker [2, 0, 0, 0], 130*9880d681SAndroid Build Coastguard Worker [P440_GPR_Bypass, 131*9880d681SAndroid Build Coastguard Worker P440_GPR_Bypass, P440_GPR_Bypass, NoBypass]>, 132*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_IntCompare, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 133*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC, P440_LRACC]>, 134*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1, P440_JEXE1]>, 135*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2, P440_JEXE2]>, 136*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB, P440_JWB]>], 137*9880d681SAndroid Build Coastguard Worker [2, 0, 0], 138*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 139*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_IntDivW, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 140*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 141*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 142*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 143*9880d681SAndroid Build Coastguard Worker InstrStage<33, [P440_IWB]>], 144*9880d681SAndroid Build Coastguard Worker [36, 0, 0], 145*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 146*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_IntMFFS, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 147*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 148*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 149*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 150*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB]>], 151*9880d681SAndroid Build Coastguard Worker [3, 0, 0], 152*9880d681SAndroid Build Coastguard Worker [P440_GPR_Bypass, 153*9880d681SAndroid Build Coastguard Worker P440_GPR_Bypass, P440_GPR_Bypass]>, 154*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_IntMTFSB0, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 155*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 156*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 157*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 158*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB]>], 159*9880d681SAndroid Build Coastguard Worker [3, 0, 0], 160*9880d681SAndroid Build Coastguard Worker [P440_GPR_Bypass, 161*9880d681SAndroid Build Coastguard Worker P440_GPR_Bypass, P440_GPR_Bypass]>, 162*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_IntMulHW, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 163*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 164*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 165*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 166*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB]>], 167*9880d681SAndroid Build Coastguard Worker [4, 0, 0], 168*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 169*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_IntMulHWU, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 170*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 171*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 172*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 173*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB]>], 174*9880d681SAndroid Build Coastguard Worker [4, 0, 0], 175*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 176*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_IntMulLI, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 177*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 178*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 179*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 180*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB]>], 181*9880d681SAndroid Build Coastguard Worker [4, 0, 0], 182*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 183*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_IntRotate, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 184*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC, P440_LRACC]>, 185*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1, P440_JEXE1]>, 186*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2, P440_JEXE2]>, 187*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB, P440_JWB]>], 188*9880d681SAndroid Build Coastguard Worker [2, 0, 0], 189*9880d681SAndroid Build Coastguard Worker [P440_GPR_Bypass, 190*9880d681SAndroid Build Coastguard Worker P440_GPR_Bypass, P440_GPR_Bypass]>, 191*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_IntShift, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 192*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC, P440_LRACC]>, 193*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1, P440_JEXE1]>, 194*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2, P440_JEXE2]>, 195*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB, P440_JWB]>], 196*9880d681SAndroid Build Coastguard Worker [2, 0, 0], 197*9880d681SAndroid Build Coastguard Worker [P440_GPR_Bypass, 198*9880d681SAndroid Build Coastguard Worker P440_GPR_Bypass, P440_GPR_Bypass]>, 199*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_IntTrapW, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 200*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 201*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 202*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 203*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB]>], 204*9880d681SAndroid Build Coastguard Worker [2, 0], 205*9880d681SAndroid Build Coastguard Worker [P440_GPR_Bypass, P440_GPR_Bypass]>, 206*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_BrB, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 207*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 208*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 209*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 210*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB]>], 211*9880d681SAndroid Build Coastguard Worker [4, 0], 212*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 213*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_BrCR, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 214*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 215*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 216*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 217*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB]>], 218*9880d681SAndroid Build Coastguard Worker [4, 0, 0], 219*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 220*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_BrMCR, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 221*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 222*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 223*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 224*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB]>], 225*9880d681SAndroid Build Coastguard Worker [4, 0, 0], 226*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 227*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_BrMCRX, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 228*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 229*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 230*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 231*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB]>], 232*9880d681SAndroid Build Coastguard Worker [4, 0, 0], 233*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 234*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStDCBA, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 235*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 236*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 237*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 238*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LWB]>], 239*9880d681SAndroid Build Coastguard Worker [1, 1], 240*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 241*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStDCBF, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 242*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 243*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 244*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 245*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LWB]>], 246*9880d681SAndroid Build Coastguard Worker [1, 1], 247*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 248*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStDCBI, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 249*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 250*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 251*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 252*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LWB]>], 253*9880d681SAndroid Build Coastguard Worker [1, 1], 254*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 255*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStLoad, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 256*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 257*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 258*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 259*9880d681SAndroid Build Coastguard Worker InstrStage<2, [P440_LWB]>], 260*9880d681SAndroid Build Coastguard Worker [5, 1, 1], 261*9880d681SAndroid Build Coastguard Worker [P440_GPR_Bypass, P440_GPR_Bypass]>, 262*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStLoadUpd,[InstrStage<1, [P440_DISS1, P440_DISS2]>, 263*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 264*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 265*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 266*9880d681SAndroid Build Coastguard Worker InstrStage<2, [P440_LWB]>], 267*9880d681SAndroid Build Coastguard Worker [5, 2, 1, 1], 268*9880d681SAndroid Build Coastguard Worker [P440_GPR_Bypass, P440_GPR_Bypass]>, 269*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStLoadUpdX,[InstrStage<1, [P440_DISS1, P440_DISS2]>, 270*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 271*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 272*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 273*9880d681SAndroid Build Coastguard Worker InstrStage<2, [P440_LWB]>], 274*9880d681SAndroid Build Coastguard Worker [5, 2, 1, 1], 275*9880d681SAndroid Build Coastguard Worker [P440_GPR_Bypass, P440_GPR_Bypass]>, 276*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStStore, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 277*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 278*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 279*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 280*9880d681SAndroid Build Coastguard Worker InstrStage<2, [P440_LWB]>], 281*9880d681SAndroid Build Coastguard Worker [1, 1, 1], 282*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 283*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStStoreUpd,[InstrStage<1, [P440_DISS1, P440_DISS2]>, 284*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 285*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 286*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 287*9880d681SAndroid Build Coastguard Worker InstrStage<2, [P440_LWB]>], 288*9880d681SAndroid Build Coastguard Worker [2, 1, 1, 1], 289*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 290*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStICBI, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 291*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 292*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 293*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 294*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LWB]>], 295*9880d681SAndroid Build Coastguard Worker [4, 1, 1], 296*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 297*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStSTFD, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 298*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 299*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 300*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 301*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LWB]>], 302*9880d681SAndroid Build Coastguard Worker [1, 1, 1], 303*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 304*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStSTFDU, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 305*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 306*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 307*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 308*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LWB]>], 309*9880d681SAndroid Build Coastguard Worker [2, 1, 1, 1], 310*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 311*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStLFD, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 312*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 313*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 314*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 315*9880d681SAndroid Build Coastguard Worker InstrStage<2, [P440_LWB]>], 316*9880d681SAndroid Build Coastguard Worker [5, 1, 1], 317*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 318*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStLFDU, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 319*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 320*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 321*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 322*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LWB]>], 323*9880d681SAndroid Build Coastguard Worker [5, 2, 1, 1], 324*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 325*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStLFDUX, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 326*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 327*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 328*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 329*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LWB]>], 330*9880d681SAndroid Build Coastguard Worker [5, 2, 1, 1], 331*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 332*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStLHA, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 333*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 334*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 335*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 336*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LWB]>], 337*9880d681SAndroid Build Coastguard Worker [4, 1, 1], 338*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 339*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStLHAU, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 340*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 341*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 342*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 343*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LWB]>], 344*9880d681SAndroid Build Coastguard Worker [4, 1, 1], 345*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 346*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStLHAUX, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 347*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 348*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 349*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 350*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LWB]>], 351*9880d681SAndroid Build Coastguard Worker [4, 1, 1], 352*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 353*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStLMW, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 354*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 355*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 356*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 357*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LWB]>], 358*9880d681SAndroid Build Coastguard Worker [4, 1, 1], 359*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 360*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStLWARX, [InstrStage<1, [P440_DISS1]>, 361*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC], 0>, 362*9880d681SAndroid Build Coastguard Worker InstrStage<4, [P440_LWARX_Hold], 0>, 363*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 364*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 365*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 366*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LWB]>], 367*9880d681SAndroid Build Coastguard Worker [4, 1, 1], 368*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 369*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStSTD, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 370*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 371*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 372*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 373*9880d681SAndroid Build Coastguard Worker InstrStage<2, [P440_LWB]>], 374*9880d681SAndroid Build Coastguard Worker [4, 1, 1], 375*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 376*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStSTDU, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 377*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 378*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 379*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 380*9880d681SAndroid Build Coastguard Worker InstrStage<2, [P440_LWB]>], 381*9880d681SAndroid Build Coastguard Worker [2, 1, 1, 1], 382*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 383*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStSTDUX, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 384*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 385*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 386*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 387*9880d681SAndroid Build Coastguard Worker InstrStage<2, [P440_LWB]>], 388*9880d681SAndroid Build Coastguard Worker [2, 1, 1, 1], 389*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 390*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStSTDCX, [InstrStage<1, [P440_DISS1]>, 391*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC], 0>, 392*9880d681SAndroid Build Coastguard Worker InstrStage<4, [P440_LWARX_Hold], 0>, 393*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 394*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 395*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 396*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LWB]>], 397*9880d681SAndroid Build Coastguard Worker [4, 1, 1], 398*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 399*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStSTWCX, [InstrStage<1, [P440_DISS1]>, 400*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC], 0>, 401*9880d681SAndroid Build Coastguard Worker InstrStage<4, [P440_LWARX_Hold], 0>, 402*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 403*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN]>, 404*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD]>, 405*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LWB]>], 406*9880d681SAndroid Build Coastguard Worker [4, 1, 1], 407*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 408*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_LdStSync, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 409*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC]>, 410*9880d681SAndroid Build Coastguard Worker InstrStage<3, [P440_AGEN], 1>, 411*9880d681SAndroid Build Coastguard Worker InstrStage<2, [P440_CRD], 1>, 412*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LWB]>]>, 413*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_SprISYNC, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 414*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FRACC], 0>, 415*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_LRACC], 0>, 416*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 417*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE1], 0>, 418*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_AGEN], 0>, 419*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_JEXE1], 0>, 420*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 421*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE2], 0>, 422*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_CRD], 0>, 423*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_JEXE2], 0>, 424*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 425*9880d681SAndroid Build Coastguard Worker InstrStage<6, [P440_FEXE3], 0>, 426*9880d681SAndroid Build Coastguard Worker InstrStage<6, [P440_LWB], 0>, 427*9880d681SAndroid Build Coastguard Worker InstrStage<6, [P440_JWB], 0>, 428*9880d681SAndroid Build Coastguard Worker InstrStage<6, [P440_IWB]>]>, 429*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_SprMFSR, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 430*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 431*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 432*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 433*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB]>], 434*9880d681SAndroid Build Coastguard Worker [2, 0], 435*9880d681SAndroid Build Coastguard Worker [P440_GPR_Bypass, P440_GPR_Bypass]>, 436*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_SprMTMSR, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 437*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 438*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 439*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 440*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB]>], 441*9880d681SAndroid Build Coastguard Worker [2, 0], 442*9880d681SAndroid Build Coastguard Worker [P440_GPR_Bypass, P440_GPR_Bypass]>, 443*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_SprMTSR, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 444*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 445*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 446*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 447*9880d681SAndroid Build Coastguard Worker InstrStage<3, [P440_IWB]>], 448*9880d681SAndroid Build Coastguard Worker [5, 0], 449*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 450*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_SprTLBSYNC, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 451*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 452*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 453*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 454*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB]>]>, 455*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_SprMFCR, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 456*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 457*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 458*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 459*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB]>], 460*9880d681SAndroid Build Coastguard Worker [4, 0], 461*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 462*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_SprMFMSR, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 463*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 464*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 465*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 466*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB]>], 467*9880d681SAndroid Build Coastguard Worker [3, 0], 468*9880d681SAndroid Build Coastguard Worker [P440_GPR_Bypass, P440_GPR_Bypass]>, 469*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_SprMFSPR, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 470*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 471*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 472*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 473*9880d681SAndroid Build Coastguard Worker InstrStage<3, [P440_IWB]>], 474*9880d681SAndroid Build Coastguard Worker [6, 0], 475*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 476*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_SprMFTB, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 477*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 478*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 479*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 480*9880d681SAndroid Build Coastguard Worker InstrStage<3, [P440_IWB]>], 481*9880d681SAndroid Build Coastguard Worker [6, 0], 482*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 483*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_SprMTSPR, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 484*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 485*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 486*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 487*9880d681SAndroid Build Coastguard Worker InstrStage<3, [P440_IWB]>], 488*9880d681SAndroid Build Coastguard Worker [6, 0], 489*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 490*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_SprMTSRIN, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 491*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 492*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 493*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 494*9880d681SAndroid Build Coastguard Worker InstrStage<3, [P440_IWB]>], 495*9880d681SAndroid Build Coastguard Worker [6, 0], 496*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 497*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_SprRFI, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 498*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 499*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 500*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 501*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB]>], 502*9880d681SAndroid Build Coastguard Worker [4, 0], 503*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 504*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_SprSC, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 505*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IRACC]>, 506*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE1]>, 507*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IEXE2]>, 508*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_IWB]>], 509*9880d681SAndroid Build Coastguard Worker [4, 0], 510*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_GPR_Bypass]>, 511*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_FPGeneral, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 512*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FRACC]>, 513*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE1]>, 514*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE2]>, 515*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE3]>, 516*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE4]>, 517*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE5]>, 518*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE6]>, 519*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FWB]>], 520*9880d681SAndroid Build Coastguard Worker [6, 0, 0], 521*9880d681SAndroid Build Coastguard Worker [P440_FPR_Bypass, 522*9880d681SAndroid Build Coastguard Worker P440_FPR_Bypass, P440_FPR_Bypass]>, 523*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_FPAddSub, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 524*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FRACC]>, 525*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE1]>, 526*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE2]>, 527*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE3]>, 528*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE4]>, 529*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE5]>, 530*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE6]>, 531*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FWB]>], 532*9880d681SAndroid Build Coastguard Worker [6, 0, 0], 533*9880d681SAndroid Build Coastguard Worker [P440_FPR_Bypass, 534*9880d681SAndroid Build Coastguard Worker P440_FPR_Bypass, P440_FPR_Bypass]>, 535*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_FPCompare, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 536*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FRACC]>, 537*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE1]>, 538*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE2]>, 539*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE3]>, 540*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE4]>, 541*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE5]>, 542*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE6]>, 543*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FWB]>], 544*9880d681SAndroid Build Coastguard Worker [6, 0, 0], 545*9880d681SAndroid Build Coastguard Worker [P440_FPR_Bypass, P440_FPR_Bypass, 546*9880d681SAndroid Build Coastguard Worker P440_FPR_Bypass]>, 547*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_FPDivD, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 548*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FRACC]>, 549*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE1]>, 550*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE2]>, 551*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE3]>, 552*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE4]>, 553*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE5]>, 554*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE6]>, 555*9880d681SAndroid Build Coastguard Worker InstrStage<25, [P440_FWB]>], 556*9880d681SAndroid Build Coastguard Worker [31, 0, 0], 557*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_FPR_Bypass, P440_FPR_Bypass]>, 558*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_FPDivS, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 559*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FRACC]>, 560*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE1]>, 561*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE2]>, 562*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE3]>, 563*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE4]>, 564*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE5]>, 565*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE6]>, 566*9880d681SAndroid Build Coastguard Worker InstrStage<13, [P440_FWB]>], 567*9880d681SAndroid Build Coastguard Worker [19, 0, 0], 568*9880d681SAndroid Build Coastguard Worker [NoBypass, P440_FPR_Bypass, P440_FPR_Bypass]>, 569*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_FPFused, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 570*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FRACC]>, 571*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE1]>, 572*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE2]>, 573*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE3]>, 574*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE4]>, 575*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE5]>, 576*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE6]>, 577*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FWB]>], 578*9880d681SAndroid Build Coastguard Worker [6, 0, 0, 0], 579*9880d681SAndroid Build Coastguard Worker [P440_FPR_Bypass, 580*9880d681SAndroid Build Coastguard Worker P440_FPR_Bypass, P440_FPR_Bypass, 581*9880d681SAndroid Build Coastguard Worker P440_FPR_Bypass]>, 582*9880d681SAndroid Build Coastguard Worker InstrItinData<IIC_FPRes, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 583*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FRACC]>, 584*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE1]>, 585*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE2]>, 586*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE3]>, 587*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE4]>, 588*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE5]>, 589*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FEXE6]>, 590*9880d681SAndroid Build Coastguard Worker InstrStage<1, [P440_FWB]>], 591*9880d681SAndroid Build Coastguard Worker [6, 0], 592*9880d681SAndroid Build Coastguard Worker [P440_FPR_Bypass, P440_FPR_Bypass]> 593*9880d681SAndroid Build Coastguard Worker]>; 594*9880d681SAndroid Build Coastguard Worker 595*9880d681SAndroid Build Coastguard Worker// ===---------------------------------------------------------------------===// 596*9880d681SAndroid Build Coastguard Worker// PPC440 machine model for scheduling and other instruction cost heuristics. 597*9880d681SAndroid Build Coastguard Worker 598*9880d681SAndroid Build Coastguard Workerdef PPC440Model : SchedMachineModel { 599*9880d681SAndroid Build Coastguard Worker let IssueWidth = 2; // 2 instructions are dispatched per cycle. 600*9880d681SAndroid Build Coastguard Worker let LoadLatency = 5; // Optimistic load latency assuming bypass. 601*9880d681SAndroid Build Coastguard Worker // This is overriden by OperandCycles if the 602*9880d681SAndroid Build Coastguard Worker // Itineraries are queried instead. 603*9880d681SAndroid Build Coastguard Worker 604*9880d681SAndroid Build Coastguard Worker let CompleteModel = 0; 605*9880d681SAndroid Build Coastguard Worker 606*9880d681SAndroid Build Coastguard Worker let Itineraries = PPC440Itineraries; 607*9880d681SAndroid Build Coastguard Worker} 608*9880d681SAndroid Build Coastguard Worker 609