1b22310fdSJia Liu//===-- PPCSchedule440.td - PPC 440 Scheduling Definitions -*- tablegen -*-===// 2ad677b64SHal Finkel// 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 6ad677b64SHal Finkel// 7ad677b64SHal Finkel//===----------------------------------------------------------------------===// 8ad677b64SHal Finkel 9ad677b64SHal Finkel// Primary reference: 10afa70aa2SHal Finkel// PowerPC 440x6 Embedded Processor Core User's Manual. 11ad677b64SHal Finkel// IBM (as updated in) 2010. 12ad677b64SHal Finkel 13ad677b64SHal Finkel// The basic PPC 440 does not include a floating-point unit; the pipeline 14ad677b64SHal Finkel// timings here are constructed to match the FP2 unit shipped with the 15ad677b64SHal Finkel// PPC-440- and PPC-450-based Blue Gene (L and P) supercomputers. 16ad677b64SHal Finkel// References: 17ad677b64SHal Finkel// S. Chatterjee, et al. Design and exploitation of a high-performance 18ad677b64SHal Finkel// SIMD floating-point unit for Blue Gene/L. 19ad677b64SHal Finkel// IBM J. Res. & Dev. 49 (2/3) March/May 2005. 20ad677b64SHal Finkel// also: 21ad677b64SHal Finkel// Carlos Sosa and Brant Knudson. IBM System Blue Gene Solution: 22ad677b64SHal Finkel// Blue Gene/P Application Development. 23ad677b64SHal Finkel// IBM (as updated in) 2009. 24ad677b64SHal Finkel 25ad677b64SHal Finkel//===----------------------------------------------------------------------===// 26ad677b64SHal Finkel// Functional units on the PowerPC 440/450 chip sets 27ad677b64SHal Finkel// 2892720ab1SHal Finkeldef P440_DISS1 : FuncUnit; // Issue unit 1 2992720ab1SHal Finkeldef P440_DISS2 : FuncUnit; // Issue unit 2 3092720ab1SHal Finkeldef P440_LRACC : FuncUnit; // Register access and dispatch for 31ad677b64SHal Finkel // the simple integer (J-pipe) and 32ad677b64SHal Finkel // load/store (L-pipe) pipelines 3392720ab1SHal Finkeldef P440_IRACC : FuncUnit; // Register access and dispatch for 34ad677b64SHal Finkel // the complex integer (I-pipe) pipeline 3592720ab1SHal Finkeldef P440_FRACC : FuncUnit; // Register access and dispatch for 36ad677b64SHal Finkel // the floating-point execution (F-pipe) pipeline 3792720ab1SHal Finkeldef P440_IEXE1 : FuncUnit; // Execution stage 1 for the I pipeline 3892720ab1SHal Finkeldef P440_IEXE2 : FuncUnit; // Execution stage 2 for the I pipeline 3992720ab1SHal Finkeldef P440_IWB : FuncUnit; // Write-back unit for the I pipeline 4092720ab1SHal Finkeldef P440_JEXE1 : FuncUnit; // Execution stage 1 for the J pipeline 4192720ab1SHal Finkeldef P440_JEXE2 : FuncUnit; // Execution stage 2 for the J pipeline 4292720ab1SHal Finkeldef P440_JWB : FuncUnit; // Write-back unit for the J pipeline 4392720ab1SHal Finkeldef P440_AGEN : FuncUnit; // Address generation for the L pipeline 4492720ab1SHal Finkeldef P440_CRD : FuncUnit; // D-cache access for the L pipeline 4592720ab1SHal Finkeldef P440_LWB : FuncUnit; // Write-back unit for the L pipeline 4692720ab1SHal Finkeldef P440_FEXE1 : FuncUnit; // Execution stage 1 for the F pipeline 4792720ab1SHal Finkeldef P440_FEXE2 : FuncUnit; // Execution stage 2 for the F pipeline 4892720ab1SHal Finkeldef P440_FEXE3 : FuncUnit; // Execution stage 3 for the F pipeline 4992720ab1SHal Finkeldef P440_FEXE4 : FuncUnit; // Execution stage 4 for the F pipeline 5092720ab1SHal Finkeldef P440_FEXE5 : FuncUnit; // Execution stage 5 for the F pipeline 5192720ab1SHal Finkeldef P440_FEXE6 : FuncUnit; // Execution stage 6 for the F pipeline 5292720ab1SHal Finkeldef P440_FWB : FuncUnit; // Write-back unit for the F pipeline 53ad677b64SHal Finkel 5492720ab1SHal Finkeldef P440_LWARX_Hold : FuncUnit; // This is a pseudo-unit which is used 55ad677b64SHal Finkel // to make sure that no lwarx/stwcx. 56ad677b64SHal Finkel // instructions are issued while another 57ad677b64SHal Finkel // lwarx/stwcx. is in the L pipe. 58ad677b64SHal Finkel 5992720ab1SHal Finkeldef P440_GPR_Bypass : Bypass; // The bypass for general-purpose regs. 6092720ab1SHal Finkeldef P440_FPR_Bypass : Bypass; // The bypass for floating-point regs. 61ad677b64SHal Finkel 62ad677b64SHal Finkel// Notes: 63ad677b64SHal Finkel// Instructions are held in the FRACC, LRACC and IRACC pipeline 64ad677b64SHal Finkel// stages until their source operands become ready. Exceptions: 65ad677b64SHal Finkel// - Store instructions will hold in the AGEN stage 66ad677b64SHal Finkel// - The integer multiply-accumulate instruction will hold in 67ad677b64SHal Finkel// the IEXE1 stage 68ad677b64SHal Finkel// 69ad677b64SHal Finkel// For most I-pipe operations, the result is available at the end of 70ad677b64SHal Finkel// the IEXE1 stage. Operations such as multiply and divide must 71ad677b64SHal Finkel// continue to execute in IEXE2 and IWB. Divide resides in IWB for 72ad677b64SHal Finkel// 33 cycles (multiply also calculates its result in IWB). For all 73ad677b64SHal Finkel// J-pipe instructions, the result is available 74ad677b64SHal Finkel// at the end of the JEXE1 stage. Loads have a 3-cycle latency 75ad677b64SHal Finkel// (data is not available until after the LWB stage). 76ad677b64SHal Finkel// 77ad677b64SHal Finkel// The L1 cache hit latency is four cycles for floating point loads 78ad677b64SHal Finkel// and three cycles for integer loads. 79ad677b64SHal Finkel// 80ad677b64SHal Finkel// The stwcx. instruction requires both the LRACC and the IRACC 81ad677b64SHal Finkel// dispatch stages. It must be issued from DISS0. 82ad677b64SHal Finkel// 83ad677b64SHal Finkel// All lwarx/stwcx. instructions hold in LRACC if another 84ad677b64SHal Finkel// uncommitted lwarx/stwcx. is in AGEN, CRD, or LWB. 85ad677b64SHal Finkel// 86ad677b64SHal Finkel// msync (a.k.a. sync) and mbar will hold in LWB until all load/store 87ad677b64SHal Finkel// resources are empty. AGEN and CRD are held empty until the msync/mbar 88ad677b64SHal Finkel// commits. 89ad677b64SHal Finkel// 90ad677b64SHal Finkel// Most floating-point instructions, computational and move, 91ad677b64SHal Finkel// have a 5-cycle latency. Divide takes longer (30 cycles). Instructions that 92ad677b64SHal Finkel// update the CR take 2 cycles. Stores take 3 cycles and, as mentioned above, 93ad677b64SHal Finkel// loads take 4 cycles (for L1 hit). 94ad677b64SHal Finkel 95ad677b64SHal Finkel// 96ad677b64SHal Finkel// This file defines the itinerary class data for the PPC 440 processor. 97ad677b64SHal Finkel// 98ad677b64SHal Finkel//===----------------------------------------------------------------------===// 99ad677b64SHal Finkel 100ad677b64SHal Finkel 101ad677b64SHal Finkeldef PPC440Itineraries : ProcessorItineraries< 102dd063699SHal Finkel [P440_DISS1, P440_DISS2, P440_FRACC, P440_IRACC, P440_IEXE1, P440_IEXE2, 103dd063699SHal Finkel P440_IWB, P440_LRACC, P440_JEXE1, P440_JEXE2, P440_JWB, P440_AGEN, P440_CRD, 104dd063699SHal Finkel P440_LWB, P440_FEXE1, P440_FEXE2, P440_FEXE3, P440_FEXE4, P440_FEXE5, 105dd063699SHal Finkel P440_FEXE6, P440_FWB, P440_LWARX_Hold], 10692720ab1SHal Finkel [P440_GPR_Bypass, P440_FPR_Bypass], [ 107dd063699SHal Finkel InstrItinData<IIC_IntSimple, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 10892720ab1SHal Finkel InstrStage<1, [P440_IRACC, P440_LRACC]>, 10992720ab1SHal Finkel InstrStage<1, [P440_IEXE1, P440_JEXE1]>, 11092720ab1SHal Finkel InstrStage<1, [P440_IEXE2, P440_JEXE2]>, 11192720ab1SHal Finkel InstrStage<1, [P440_IWB, P440_JWB]>], 112a10bd1d2SHal Finkel [2, 0, 0], 11392720ab1SHal Finkel [P440_GPR_Bypass, 11492720ab1SHal Finkel P440_GPR_Bypass, P440_GPR_Bypass]>, 115dd063699SHal Finkel InstrItinData<IIC_IntGeneral, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 11692720ab1SHal Finkel InstrStage<1, [P440_IRACC, P440_LRACC]>, 11792720ab1SHal Finkel InstrStage<1, [P440_IEXE1, P440_JEXE1]>, 11892720ab1SHal Finkel InstrStage<1, [P440_IEXE2, P440_JEXE2]>, 11992720ab1SHal Finkel InstrStage<1, [P440_IWB, P440_JWB]>], 120a10bd1d2SHal Finkel [2, 0, 0], 12192720ab1SHal Finkel [P440_GPR_Bypass, 12292720ab1SHal Finkel P440_GPR_Bypass, P440_GPR_Bypass]>, 12311d3c561SHal Finkel InstrItinData<IIC_IntISEL, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 12411d3c561SHal Finkel InstrStage<1, [P440_IRACC, P440_LRACC]>, 12511d3c561SHal Finkel InstrStage<1, [P440_IEXE1, P440_JEXE1]>, 12611d3c561SHal Finkel InstrStage<1, [P440_IEXE2, P440_JEXE2]>, 12711d3c561SHal Finkel InstrStage<1, [P440_IWB, P440_JWB]>], 12811d3c561SHal Finkel [2, 0, 0, 0], 12911d3c561SHal Finkel [P440_GPR_Bypass, 13011d3c561SHal Finkel P440_GPR_Bypass, P440_GPR_Bypass, NoBypass]>, 131dd063699SHal Finkel InstrItinData<IIC_IntCompare, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 13292720ab1SHal Finkel InstrStage<1, [P440_IRACC, P440_LRACC]>, 13392720ab1SHal Finkel InstrStage<1, [P440_IEXE1, P440_JEXE1]>, 13492720ab1SHal Finkel InstrStage<1, [P440_IEXE2, P440_JEXE2]>, 13592720ab1SHal Finkel InstrStage<1, [P440_IWB, P440_JWB]>], 136a10bd1d2SHal Finkel [2, 0, 0], 13792720ab1SHal Finkel [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 138dd063699SHal Finkel InstrItinData<IIC_IntDivW, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 13992720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 14092720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 14192720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 14292720ab1SHal Finkel InstrStage<33, [P440_IWB]>], 143a10bd1d2SHal Finkel [36, 0, 0], 14492720ab1SHal Finkel [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 145dd063699SHal Finkel InstrItinData<IIC_IntMFFS, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 14692720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 14792720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 14892720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 14992720ab1SHal Finkel InstrStage<1, [P440_IWB]>], 150a10bd1d2SHal Finkel [3, 0, 0], 15192720ab1SHal Finkel [P440_GPR_Bypass, 15292720ab1SHal Finkel P440_GPR_Bypass, P440_GPR_Bypass]>, 153dd063699SHal Finkel InstrItinData<IIC_IntMTFSB0, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 15492720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 15592720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 15692720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 15792720ab1SHal Finkel InstrStage<1, [P440_IWB]>], 158a10bd1d2SHal Finkel [3, 0, 0], 15992720ab1SHal Finkel [P440_GPR_Bypass, 16092720ab1SHal Finkel P440_GPR_Bypass, P440_GPR_Bypass]>, 161dd063699SHal Finkel InstrItinData<IIC_IntMulHW, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 16292720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 16392720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 16492720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 16592720ab1SHal Finkel InstrStage<1, [P440_IWB]>], 166a10bd1d2SHal Finkel [4, 0, 0], 16792720ab1SHal Finkel [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 168dd063699SHal Finkel InstrItinData<IIC_IntMulHWU, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 16992720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 17092720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 17192720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 17292720ab1SHal Finkel InstrStage<1, [P440_IWB]>], 173a10bd1d2SHal Finkel [4, 0, 0], 17492720ab1SHal Finkel [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 175dd063699SHal Finkel InstrItinData<IIC_IntMulLI, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 17692720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 17792720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 17892720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 17992720ab1SHal Finkel InstrStage<1, [P440_IWB]>], 180a10bd1d2SHal Finkel [4, 0, 0], 18192720ab1SHal Finkel [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 182dd063699SHal Finkel InstrItinData<IIC_IntRotate, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 18392720ab1SHal Finkel InstrStage<1, [P440_IRACC, P440_LRACC]>, 18492720ab1SHal Finkel InstrStage<1, [P440_IEXE1, P440_JEXE1]>, 18592720ab1SHal Finkel InstrStage<1, [P440_IEXE2, P440_JEXE2]>, 18692720ab1SHal Finkel InstrStage<1, [P440_IWB, P440_JWB]>], 187a10bd1d2SHal Finkel [2, 0, 0], 18892720ab1SHal Finkel [P440_GPR_Bypass, 18992720ab1SHal Finkel P440_GPR_Bypass, P440_GPR_Bypass]>, 190dd063699SHal Finkel InstrItinData<IIC_IntShift, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 19192720ab1SHal Finkel InstrStage<1, [P440_IRACC, P440_LRACC]>, 19292720ab1SHal Finkel InstrStage<1, [P440_IEXE1, P440_JEXE1]>, 19392720ab1SHal Finkel InstrStage<1, [P440_IEXE2, P440_JEXE2]>, 19492720ab1SHal Finkel InstrStage<1, [P440_IWB, P440_JWB]>], 195a10bd1d2SHal Finkel [2, 0, 0], 19692720ab1SHal Finkel [P440_GPR_Bypass, 19792720ab1SHal Finkel P440_GPR_Bypass, P440_GPR_Bypass]>, 198dd063699SHal Finkel InstrItinData<IIC_IntTrapW, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 19992720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 20092720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 20192720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 20292720ab1SHal Finkel InstrStage<1, [P440_IWB]>], 203a10bd1d2SHal Finkel [2, 0], 20492720ab1SHal Finkel [P440_GPR_Bypass, P440_GPR_Bypass]>, 205dd063699SHal Finkel InstrItinData<IIC_BrB, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 20692720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 20792720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 20892720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 20992720ab1SHal Finkel InstrStage<1, [P440_IWB]>], 210a10bd1d2SHal Finkel [4, 0], 21192720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 212dd063699SHal Finkel InstrItinData<IIC_BrCR, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 21392720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 21492720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 21592720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 21692720ab1SHal Finkel InstrStage<1, [P440_IWB]>], 217a10bd1d2SHal Finkel [4, 0, 0], 21892720ab1SHal Finkel [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 219dd063699SHal Finkel InstrItinData<IIC_BrMCR, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 22092720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 22192720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 22292720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 22392720ab1SHal Finkel InstrStage<1, [P440_IWB]>], 224a10bd1d2SHal Finkel [4, 0, 0], 22592720ab1SHal Finkel [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 226dd063699SHal Finkel InstrItinData<IIC_BrMCRX, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 22792720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 22892720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 22992720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 23092720ab1SHal Finkel InstrStage<1, [P440_IWB]>], 231a10bd1d2SHal Finkel [4, 0, 0], 23292720ab1SHal Finkel [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 233dd063699SHal Finkel InstrItinData<IIC_LdStDCBA, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 23492720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 23592720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 23692720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 23792720ab1SHal Finkel InstrStage<1, [P440_LWB]>], 2384035e8d8SHal Finkel [1, 1], 23992720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 240dd063699SHal Finkel InstrItinData<IIC_LdStDCBF, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 24192720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 24292720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 24392720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 24492720ab1SHal Finkel InstrStage<1, [P440_LWB]>], 2454035e8d8SHal Finkel [1, 1], 24692720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 247dd063699SHal Finkel InstrItinData<IIC_LdStDCBI, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 24892720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 24992720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 25092720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 25192720ab1SHal Finkel InstrStage<1, [P440_LWB]>], 2524035e8d8SHal Finkel [1, 1], 25392720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 254dd063699SHal Finkel InstrItinData<IIC_LdStLoad, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 25592720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 25692720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 25792720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 25892720ab1SHal Finkel InstrStage<2, [P440_LWB]>], 2594035e8d8SHal Finkel [5, 1, 1], 26092720ab1SHal Finkel [P440_GPR_Bypass, P440_GPR_Bypass]>, 261dd063699SHal Finkel InstrItinData<IIC_LdStLoadUpd,[InstrStage<1, [P440_DISS1, P440_DISS2]>, 26292720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 26392720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 26492720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 26592720ab1SHal Finkel InstrStage<2, [P440_LWB]>], 2664035e8d8SHal Finkel [5, 2, 1, 1], 26792720ab1SHal Finkel [P440_GPR_Bypass, P440_GPR_Bypass]>, 26846402a42SHal Finkel InstrItinData<IIC_LdStLoadUpdX,[InstrStage<1, [P440_DISS1, P440_DISS2]>, 26946402a42SHal Finkel InstrStage<1, [P440_LRACC]>, 27046402a42SHal Finkel InstrStage<1, [P440_AGEN]>, 27146402a42SHal Finkel InstrStage<1, [P440_CRD]>, 27246402a42SHal Finkel InstrStage<2, [P440_LWB]>], 27346402a42SHal Finkel [5, 2, 1, 1], 27446402a42SHal Finkel [P440_GPR_Bypass, P440_GPR_Bypass]>, 275dd063699SHal Finkel InstrItinData<IIC_LdStStore, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 27692720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 27792720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 27892720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 27992720ab1SHal Finkel InstrStage<2, [P440_LWB]>], 2804035e8d8SHal Finkel [1, 1, 1], 28192720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 282dd063699SHal Finkel InstrItinData<IIC_LdStICBI, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 28392720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 28492720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 28592720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 28692720ab1SHal Finkel InstrStage<1, [P440_LWB]>], 2874035e8d8SHal Finkel [4, 1, 1], 28892720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 289dd063699SHal Finkel InstrItinData<IIC_LdStSTFD, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 29092720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 29192720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 29292720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 29392720ab1SHal Finkel InstrStage<1, [P440_LWB]>], 2944035e8d8SHal Finkel [1, 1, 1], 29592720ab1SHal Finkel [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 296dd063699SHal Finkel InstrItinData<IIC_LdStSTFDU, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 29792720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 29892720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 29992720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 30092720ab1SHal Finkel InstrStage<1, [P440_LWB]>], 3014035e8d8SHal Finkel [2, 1, 1, 1], 30292720ab1SHal Finkel [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 303dd063699SHal Finkel InstrItinData<IIC_LdStLFD, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 30492720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 30592720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 30692720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 30792720ab1SHal Finkel InstrStage<2, [P440_LWB]>], 308a10bd1d2SHal Finkel [5, 1, 1], 30992720ab1SHal Finkel [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 310dd063699SHal Finkel InstrItinData<IIC_LdStLFDU, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 31192720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 31292720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 31392720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 31492720ab1SHal Finkel InstrStage<1, [P440_LWB]>], 3154035e8d8SHal Finkel [5, 2, 1, 1], 31692720ab1SHal Finkel [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 31746402a42SHal Finkel InstrItinData<IIC_LdStLFDUX, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 31846402a42SHal Finkel InstrStage<1, [P440_LRACC]>, 31946402a42SHal Finkel InstrStage<1, [P440_AGEN]>, 32046402a42SHal Finkel InstrStage<1, [P440_CRD]>, 32146402a42SHal Finkel InstrStage<1, [P440_LWB]>], 32246402a42SHal Finkel [5, 2, 1, 1], 32346402a42SHal Finkel [NoBypass, P440_GPR_Bypass, P440_GPR_Bypass]>, 324dd063699SHal Finkel InstrItinData<IIC_LdStLHA, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 32592720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 32692720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 32792720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 32892720ab1SHal Finkel InstrStage<1, [P440_LWB]>], 3294035e8d8SHal Finkel [4, 1, 1], 33092720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 331dd063699SHal Finkel InstrItinData<IIC_LdStLHAU, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 33292720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 33392720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 33492720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 33592720ab1SHal Finkel InstrStage<1, [P440_LWB]>], 3364035e8d8SHal Finkel [4, 1, 1], 33792720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 33846402a42SHal Finkel InstrItinData<IIC_LdStLHAUX, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 33946402a42SHal Finkel InstrStage<1, [P440_LRACC]>, 34046402a42SHal Finkel InstrStage<1, [P440_AGEN]>, 34146402a42SHal Finkel InstrStage<1, [P440_CRD]>, 34246402a42SHal Finkel InstrStage<1, [P440_LWB]>], 34346402a42SHal Finkel [4, 1, 1], 34446402a42SHal Finkel [NoBypass, P440_GPR_Bypass]>, 345dd063699SHal Finkel InstrItinData<IIC_LdStLMW, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 34692720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 34792720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 34892720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 34992720ab1SHal Finkel InstrStage<1, [P440_LWB]>], 3504035e8d8SHal Finkel [4, 1, 1], 35192720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 352dd063699SHal Finkel InstrItinData<IIC_LdStLWARX, [InstrStage<1, [P440_DISS1]>, 35392720ab1SHal Finkel InstrStage<1, [P440_IRACC], 0>, 35492720ab1SHal Finkel InstrStage<4, [P440_LWARX_Hold], 0>, 35592720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 35692720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 35792720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 35892720ab1SHal Finkel InstrStage<1, [P440_LWB]>], 3594035e8d8SHal Finkel [4, 1, 1], 36092720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 361dd063699SHal Finkel InstrItinData<IIC_LdStSTD, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 36292720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 36392720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 36492720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 36592720ab1SHal Finkel InstrStage<2, [P440_LWB]>], 3664035e8d8SHal Finkel [4, 1, 1], 36792720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 3689a0ed200SJinsong Ji InstrItinData<IIC_LdStSTU, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 36992720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 37092720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 37192720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 37292720ab1SHal Finkel InstrStage<2, [P440_LWB]>], 3734035e8d8SHal Finkel [2, 1, 1, 1], 37492720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 3759a0ed200SJinsong Ji InstrItinData<IIC_LdStSTUX, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 37646402a42SHal Finkel InstrStage<1, [P440_LRACC]>, 37746402a42SHal Finkel InstrStage<1, [P440_AGEN]>, 37846402a42SHal Finkel InstrStage<1, [P440_CRD]>, 37946402a42SHal Finkel InstrStage<2, [P440_LWB]>], 38046402a42SHal Finkel [2, 1, 1, 1], 38146402a42SHal Finkel [NoBypass, P440_GPR_Bypass]>, 382dd063699SHal Finkel InstrItinData<IIC_LdStSTDCX, [InstrStage<1, [P440_DISS1]>, 38392720ab1SHal Finkel InstrStage<1, [P440_IRACC], 0>, 38492720ab1SHal Finkel InstrStage<4, [P440_LWARX_Hold], 0>, 38592720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 38692720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 38792720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 38892720ab1SHal Finkel InstrStage<1, [P440_LWB]>], 3894035e8d8SHal Finkel [4, 1, 1], 39092720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 391dd063699SHal Finkel InstrItinData<IIC_LdStSTWCX, [InstrStage<1, [P440_DISS1]>, 39292720ab1SHal Finkel InstrStage<1, [P440_IRACC], 0>, 39392720ab1SHal Finkel InstrStage<4, [P440_LWARX_Hold], 0>, 39492720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 39592720ab1SHal Finkel InstrStage<1, [P440_AGEN]>, 39692720ab1SHal Finkel InstrStage<1, [P440_CRD]>, 39792720ab1SHal Finkel InstrStage<1, [P440_LWB]>], 3984035e8d8SHal Finkel [4, 1, 1], 39992720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 400dd063699SHal Finkel InstrItinData<IIC_LdStSync, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 40192720ab1SHal Finkel InstrStage<1, [P440_LRACC]>, 40292720ab1SHal Finkel InstrStage<3, [P440_AGEN], 1>, 40392720ab1SHal Finkel InstrStage<2, [P440_CRD], 1>, 40492720ab1SHal Finkel InstrStage<1, [P440_LWB]>]>, 405dd063699SHal Finkel InstrItinData<IIC_SprISYNC, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 40692720ab1SHal Finkel InstrStage<1, [P440_FRACC], 0>, 40792720ab1SHal Finkel InstrStage<1, [P440_LRACC], 0>, 40892720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 40992720ab1SHal Finkel InstrStage<1, [P440_FEXE1], 0>, 41092720ab1SHal Finkel InstrStage<1, [P440_AGEN], 0>, 41192720ab1SHal Finkel InstrStage<1, [P440_JEXE1], 0>, 41292720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 41392720ab1SHal Finkel InstrStage<1, [P440_FEXE2], 0>, 41492720ab1SHal Finkel InstrStage<1, [P440_CRD], 0>, 41592720ab1SHal Finkel InstrStage<1, [P440_JEXE2], 0>, 41692720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 41792720ab1SHal Finkel InstrStage<6, [P440_FEXE3], 0>, 41892720ab1SHal Finkel InstrStage<6, [P440_LWB], 0>, 41992720ab1SHal Finkel InstrStage<6, [P440_JWB], 0>, 42092720ab1SHal Finkel InstrStage<6, [P440_IWB]>]>, 421dd063699SHal Finkel InstrItinData<IIC_SprMFSR, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 42292720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 42392720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 42492720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 42592720ab1SHal Finkel InstrStage<1, [P440_IWB]>], 426a10bd1d2SHal Finkel [2, 0], 42792720ab1SHal Finkel [P440_GPR_Bypass, P440_GPR_Bypass]>, 428dd063699SHal Finkel InstrItinData<IIC_SprMTMSR, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 42992720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 43092720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 43192720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 43292720ab1SHal Finkel InstrStage<1, [P440_IWB]>], 433a10bd1d2SHal Finkel [2, 0], 43492720ab1SHal Finkel [P440_GPR_Bypass, P440_GPR_Bypass]>, 435dd063699SHal Finkel InstrItinData<IIC_SprMTSR, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 43692720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 43792720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 43892720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 43992720ab1SHal Finkel InstrStage<3, [P440_IWB]>], 440a10bd1d2SHal Finkel [5, 0], 44192720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 442dd063699SHal Finkel InstrItinData<IIC_SprTLBSYNC, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 44392720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 44492720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 44592720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 44692720ab1SHal Finkel InstrStage<1, [P440_IWB]>]>, 447dd063699SHal Finkel InstrItinData<IIC_SprMFCR, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 44892720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 44992720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 45092720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 45192720ab1SHal Finkel InstrStage<1, [P440_IWB]>], 452a10bd1d2SHal Finkel [4, 0], 45392720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 454dd063699SHal Finkel InstrItinData<IIC_SprMFMSR, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 45592720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 45692720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 45792720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 45892720ab1SHal Finkel InstrStage<1, [P440_IWB]>], 459a10bd1d2SHal Finkel [3, 0], 46092720ab1SHal Finkel [P440_GPR_Bypass, P440_GPR_Bypass]>, 461dd063699SHal Finkel InstrItinData<IIC_SprMFSPR, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 46292720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 46392720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 46492720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 46592720ab1SHal Finkel InstrStage<3, [P440_IWB]>], 466a10bd1d2SHal Finkel [6, 0], 46792720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 468dd063699SHal Finkel InstrItinData<IIC_SprMFTB, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 46992720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 47092720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 47192720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 47292720ab1SHal Finkel InstrStage<3, [P440_IWB]>], 473a10bd1d2SHal Finkel [6, 0], 47492720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 475dd063699SHal Finkel InstrItinData<IIC_SprMTSPR, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 47692720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 47792720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 47892720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 47992720ab1SHal Finkel InstrStage<3, [P440_IWB]>], 480a10bd1d2SHal Finkel [6, 0], 48192720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 482dd063699SHal Finkel InstrItinData<IIC_SprMTSRIN, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 48392720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 48492720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 48592720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 48692720ab1SHal Finkel InstrStage<3, [P440_IWB]>], 487a10bd1d2SHal Finkel [6, 0], 48892720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 489dd063699SHal Finkel InstrItinData<IIC_SprRFI, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 49092720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 49192720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 49292720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 49392720ab1SHal Finkel InstrStage<1, [P440_IWB]>], 494a10bd1d2SHal Finkel [4, 0], 49592720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 496dd063699SHal Finkel InstrItinData<IIC_SprSC, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 49792720ab1SHal Finkel InstrStage<1, [P440_IRACC]>, 49892720ab1SHal Finkel InstrStage<1, [P440_IEXE1]>, 49992720ab1SHal Finkel InstrStage<1, [P440_IEXE2]>, 50092720ab1SHal Finkel InstrStage<1, [P440_IWB]>], 501a10bd1d2SHal Finkel [4, 0], 50292720ab1SHal Finkel [NoBypass, P440_GPR_Bypass]>, 503dd063699SHal Finkel InstrItinData<IIC_FPGeneral, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 50492720ab1SHal Finkel InstrStage<1, [P440_FRACC]>, 50592720ab1SHal Finkel InstrStage<1, [P440_FEXE1]>, 50692720ab1SHal Finkel InstrStage<1, [P440_FEXE2]>, 50792720ab1SHal Finkel InstrStage<1, [P440_FEXE3]>, 50892720ab1SHal Finkel InstrStage<1, [P440_FEXE4]>, 50992720ab1SHal Finkel InstrStage<1, [P440_FEXE5]>, 51092720ab1SHal Finkel InstrStage<1, [P440_FEXE6]>, 51192720ab1SHal Finkel InstrStage<1, [P440_FWB]>], 512a10bd1d2SHal Finkel [6, 0, 0], 51392720ab1SHal Finkel [P440_FPR_Bypass, 51492720ab1SHal Finkel P440_FPR_Bypass, P440_FPR_Bypass]>, 515dd063699SHal Finkel InstrItinData<IIC_FPAddSub, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 51692720ab1SHal Finkel InstrStage<1, [P440_FRACC]>, 51792720ab1SHal Finkel InstrStage<1, [P440_FEXE1]>, 51892720ab1SHal Finkel InstrStage<1, [P440_FEXE2]>, 51992720ab1SHal Finkel InstrStage<1, [P440_FEXE3]>, 52092720ab1SHal Finkel InstrStage<1, [P440_FEXE4]>, 52192720ab1SHal Finkel InstrStage<1, [P440_FEXE5]>, 52292720ab1SHal Finkel InstrStage<1, [P440_FEXE6]>, 52392720ab1SHal Finkel InstrStage<1, [P440_FWB]>], 524a10bd1d2SHal Finkel [6, 0, 0], 52592720ab1SHal Finkel [P440_FPR_Bypass, 52692720ab1SHal Finkel P440_FPR_Bypass, P440_FPR_Bypass]>, 527dd063699SHal Finkel InstrItinData<IIC_FPCompare, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 52892720ab1SHal Finkel InstrStage<1, [P440_FRACC]>, 52992720ab1SHal Finkel InstrStage<1, [P440_FEXE1]>, 53092720ab1SHal Finkel InstrStage<1, [P440_FEXE2]>, 53192720ab1SHal Finkel InstrStage<1, [P440_FEXE3]>, 53292720ab1SHal Finkel InstrStage<1, [P440_FEXE4]>, 53392720ab1SHal Finkel InstrStage<1, [P440_FEXE5]>, 53492720ab1SHal Finkel InstrStage<1, [P440_FEXE6]>, 53592720ab1SHal Finkel InstrStage<1, [P440_FWB]>], 536a10bd1d2SHal Finkel [6, 0, 0], 53792720ab1SHal Finkel [P440_FPR_Bypass, P440_FPR_Bypass, 53892720ab1SHal Finkel P440_FPR_Bypass]>, 539dd063699SHal Finkel InstrItinData<IIC_FPDivD, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 54092720ab1SHal Finkel InstrStage<1, [P440_FRACC]>, 54192720ab1SHal Finkel InstrStage<1, [P440_FEXE1]>, 54292720ab1SHal Finkel InstrStage<1, [P440_FEXE2]>, 54392720ab1SHal Finkel InstrStage<1, [P440_FEXE3]>, 54492720ab1SHal Finkel InstrStage<1, [P440_FEXE4]>, 54592720ab1SHal Finkel InstrStage<1, [P440_FEXE5]>, 54692720ab1SHal Finkel InstrStage<1, [P440_FEXE6]>, 54792720ab1SHal Finkel InstrStage<25, [P440_FWB]>], 548a10bd1d2SHal Finkel [31, 0, 0], 54992720ab1SHal Finkel [NoBypass, P440_FPR_Bypass, P440_FPR_Bypass]>, 550dd063699SHal Finkel InstrItinData<IIC_FPDivS, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 55192720ab1SHal Finkel InstrStage<1, [P440_FRACC]>, 55292720ab1SHal Finkel InstrStage<1, [P440_FEXE1]>, 55392720ab1SHal Finkel InstrStage<1, [P440_FEXE2]>, 55492720ab1SHal Finkel InstrStage<1, [P440_FEXE3]>, 55592720ab1SHal Finkel InstrStage<1, [P440_FEXE4]>, 55692720ab1SHal Finkel InstrStage<1, [P440_FEXE5]>, 55792720ab1SHal Finkel InstrStage<1, [P440_FEXE6]>, 55892720ab1SHal Finkel InstrStage<13, [P440_FWB]>], 559a10bd1d2SHal Finkel [19, 0, 0], 56092720ab1SHal Finkel [NoBypass, P440_FPR_Bypass, P440_FPR_Bypass]>, 561dd063699SHal Finkel InstrItinData<IIC_FPFused, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 56292720ab1SHal Finkel InstrStage<1, [P440_FRACC]>, 56392720ab1SHal Finkel InstrStage<1, [P440_FEXE1]>, 56492720ab1SHal Finkel InstrStage<1, [P440_FEXE2]>, 56592720ab1SHal Finkel InstrStage<1, [P440_FEXE3]>, 56692720ab1SHal Finkel InstrStage<1, [P440_FEXE4]>, 56792720ab1SHal Finkel InstrStage<1, [P440_FEXE5]>, 56892720ab1SHal Finkel InstrStage<1, [P440_FEXE6]>, 56992720ab1SHal Finkel InstrStage<1, [P440_FWB]>], 570a10bd1d2SHal Finkel [6, 0, 0, 0], 57192720ab1SHal Finkel [P440_FPR_Bypass, 57292720ab1SHal Finkel P440_FPR_Bypass, P440_FPR_Bypass, 57392720ab1SHal Finkel P440_FPR_Bypass]>, 574dd063699SHal Finkel InstrItinData<IIC_FPRes, [InstrStage<1, [P440_DISS1, P440_DISS2]>, 57592720ab1SHal Finkel InstrStage<1, [P440_FRACC]>, 57692720ab1SHal Finkel InstrStage<1, [P440_FEXE1]>, 57792720ab1SHal Finkel InstrStage<1, [P440_FEXE2]>, 57892720ab1SHal Finkel InstrStage<1, [P440_FEXE3]>, 57992720ab1SHal Finkel InstrStage<1, [P440_FEXE4]>, 58092720ab1SHal Finkel InstrStage<1, [P440_FEXE5]>, 58192720ab1SHal Finkel InstrStage<1, [P440_FEXE6]>, 58292720ab1SHal Finkel InstrStage<1, [P440_FWB]>], 583a10bd1d2SHal Finkel [6, 0], 58492720ab1SHal Finkel [P440_FPR_Bypass, P440_FPR_Bypass]> 585ad677b64SHal Finkel]>; 5865a7162f3SHal Finkel 5875a7162f3SHal Finkel// ===---------------------------------------------------------------------===// 5885a7162f3SHal Finkel// PPC440 machine model for scheduling and other instruction cost heuristics. 5895a7162f3SHal Finkel 5905a7162f3SHal Finkeldef PPC440Model : SchedMachineModel { 5915a7162f3SHal Finkel let IssueWidth = 2; // 2 instructions are dispatched per cycle. 5925a7162f3SHal Finkel let LoadLatency = 5; // Optimistic load latency assuming bypass. 5935a7162f3SHal Finkel // This is overriden by OperandCycles if the 5945a7162f3SHal Finkel // Itineraries are queried instead. 5955a7162f3SHal Finkel 59617cb5799SMatthias Braun let CompleteModel = 0; 59717cb5799SMatthias Braun 5985a7162f3SHal Finkel let Itineraries = PPC440Itineraries; 5995a7162f3SHal Finkel} 6005a7162f3SHal Finkel 601