10b57cec5SDimitry Andric//===-- MipsSchedule.td - Mips Scheduling Definitions ------*- tablegen -*-===// 20b57cec5SDimitry Andric// 30b57cec5SDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 40b57cec5SDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 50b57cec5SDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 60b57cec5SDimitry Andric// 70b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 80b57cec5SDimitry Andric 90b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 100b57cec5SDimitry Andric// Functional units across Mips chips sets. Based on GCC/Mips backend files. 110b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 120b57cec5SDimitry Andricdef ALU : FuncUnit; 130b57cec5SDimitry Andricdef IMULDIV : FuncUnit; 140b57cec5SDimitry Andric 150b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 160b57cec5SDimitry Andric// Instruction Itinerary classes used for Mips 170b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 180b57cec5SDimitry Andric// IIM16Alu is a placeholder class for most MIPS16 instructions. 190b57cec5SDimitry Andricdef IIM16Alu : InstrItinClass; 200b57cec5SDimitry Andricdef IIPseudo : InstrItinClass; 210b57cec5SDimitry Andric 220b57cec5SDimitry Andricdef II_ABS : InstrItinClass; 230b57cec5SDimitry Andricdef II_ADDI : InstrItinClass; 240b57cec5SDimitry Andricdef II_ADDIU : InstrItinClass; 250b57cec5SDimitry Andricdef II_ADDIUPC : InstrItinClass; 260b57cec5SDimitry Andricdef II_ADD : InstrItinClass; 270b57cec5SDimitry Andricdef II_ADDU : InstrItinClass; 280b57cec5SDimitry Andricdef II_ADD_D : InstrItinClass; 29*e8d8bef9SDimitry Andricdef II_ADD_PS : InstrItinClass; 300b57cec5SDimitry Andricdef II_ADD_S : InstrItinClass; 315ffd83dbSDimitry Andricdef II_ADDR_PS : InstrItinClass; 320b57cec5SDimitry Andricdef II_ALIGN : InstrItinClass; 330b57cec5SDimitry Andricdef II_AND : InstrItinClass; 340b57cec5SDimitry Andricdef II_ANDI : InstrItinClass; 350b57cec5SDimitry Andricdef II_ALUIPC : InstrItinClass; 360b57cec5SDimitry Andricdef II_AUI : InstrItinClass; 370b57cec5SDimitry Andricdef II_AUIPC : InstrItinClass; 380b57cec5SDimitry Andricdef II_B : InstrItinClass; 390b57cec5SDimitry Andricdef II_BADDU : InstrItinClass; 400b57cec5SDimitry Andricdef II_BBIT : InstrItinClass; // bbit[01], bbit[01]32 410b57cec5SDimitry Andricdef II_BALC : InstrItinClass; 420b57cec5SDimitry Andricdef II_BC : InstrItinClass; 430b57cec5SDimitry Andricdef II_BC1F : InstrItinClass; 440b57cec5SDimitry Andricdef II_BC1FL : InstrItinClass; 450b57cec5SDimitry Andricdef II_BC1T : InstrItinClass; 460b57cec5SDimitry Andricdef II_BC1TL : InstrItinClass; 470b57cec5SDimitry Andricdef II_BC1CCZ : InstrItinClass; 480b57cec5SDimitry Andricdef II_BC2CCZ : InstrItinClass; 490b57cec5SDimitry Andricdef II_BCC : InstrItinClass; // beq and bne 500b57cec5SDimitry Andricdef II_BCCZ : InstrItinClass; // b[gl][et]z 510b57cec5SDimitry Andricdef II_BCCC : InstrItinClass; // b<cc>c 520b57cec5SDimitry Andricdef II_BCCZAL : InstrItinClass; // bgezal and bltzal 530b57cec5SDimitry Andricdef II_BCCZALS : InstrItinClass; // bgezals and bltzals 540b57cec5SDimitry Andricdef II_BCCZC : InstrItinClass; // beqzc, bnezc 550b57cec5SDimitry Andricdef II_BITSWAP : InstrItinClass; 560b57cec5SDimitry Andricdef II_CEIL : InstrItinClass; 570b57cec5SDimitry Andricdef II_CFC1 : InstrItinClass; 580b57cec5SDimitry Andricdef II_CFC2 : InstrItinClass; 590b57cec5SDimitry Andricdef II_CLO : InstrItinClass; 600b57cec5SDimitry Andricdef II_CLZ : InstrItinClass; 610b57cec5SDimitry Andricdef II_CRC32B : InstrItinClass; 620b57cec5SDimitry Andricdef II_CRC32CB : InstrItinClass; 630b57cec5SDimitry Andricdef II_CRC32CD : InstrItinClass; 640b57cec5SDimitry Andricdef II_CRC32CH : InstrItinClass; 650b57cec5SDimitry Andricdef II_CRC32CW : InstrItinClass; 660b57cec5SDimitry Andricdef II_CRC32D : InstrItinClass; 670b57cec5SDimitry Andricdef II_CRC32H : InstrItinClass; 680b57cec5SDimitry Andricdef II_CRC32W : InstrItinClass; 690b57cec5SDimitry Andricdef II_CTC1 : InstrItinClass; 700b57cec5SDimitry Andricdef II_CTC2 : InstrItinClass; 710b57cec5SDimitry Andricdef II_CVT : InstrItinClass; 720b57cec5SDimitry Andricdef II_C_CC_D : InstrItinClass; // Any c.<cc>.d instruction 730b57cec5SDimitry Andricdef II_C_CC_S : InstrItinClass; // Any c.<cc>.s instruction 740b57cec5SDimitry Andricdef II_CMP_CC_D : InstrItinClass; // Any cmp.<cc>.d instruction 750b57cec5SDimitry Andricdef II_CMP_CC_S : InstrItinClass; // Any cmp.<cc>.s instruction 760b57cec5SDimitry Andricdef II_CLASS_D : InstrItinClass; 770b57cec5SDimitry Andricdef II_CLASS_S : InstrItinClass; 780b57cec5SDimitry Andricdef II_DADDIU : InstrItinClass; 790b57cec5SDimitry Andricdef II_DADDU : InstrItinClass; 800b57cec5SDimitry Andricdef II_DADDI : InstrItinClass; 810b57cec5SDimitry Andricdef II_DADD : InstrItinClass; 820b57cec5SDimitry Andricdef II_DAHI : InstrItinClass; 830b57cec5SDimitry Andricdef II_DATI : InstrItinClass; 840b57cec5SDimitry Andricdef II_DAUI : InstrItinClass; 850b57cec5SDimitry Andricdef II_DALIGN : InstrItinClass; 860b57cec5SDimitry Andricdef II_DBITSWAP : InstrItinClass; 870b57cec5SDimitry Andricdef II_DCLO : InstrItinClass; 880b57cec5SDimitry Andricdef II_DCLZ : InstrItinClass; 890b57cec5SDimitry Andricdef II_DDIV : InstrItinClass; 900b57cec5SDimitry Andricdef II_DDIVU : InstrItinClass; 910b57cec5SDimitry Andricdef II_DIV : InstrItinClass; 920b57cec5SDimitry Andricdef II_DIVU : InstrItinClass; 930b57cec5SDimitry Andricdef II_DIV_D : InstrItinClass; 940b57cec5SDimitry Andricdef II_DIV_S : InstrItinClass; 950b57cec5SDimitry Andricdef II_DMFC0 : InstrItinClass; 960b57cec5SDimitry Andricdef II_DMFGC0 : InstrItinClass; 970b57cec5SDimitry Andricdef II_DMT : InstrItinClass; 980b57cec5SDimitry Andricdef II_DMTC0 : InstrItinClass; 990b57cec5SDimitry Andricdef II_DMTGC0 : InstrItinClass; 1000b57cec5SDimitry Andricdef II_DMFC1 : InstrItinClass; 1010b57cec5SDimitry Andricdef II_DMTC1 : InstrItinClass; 1020b57cec5SDimitry Andricdef II_DMOD : InstrItinClass; 1030b57cec5SDimitry Andricdef II_DMODU : InstrItinClass; 1040b57cec5SDimitry Andricdef II_DMUH : InstrItinClass; 1050b57cec5SDimitry Andricdef II_DMUHU : InstrItinClass; 1060b57cec5SDimitry Andricdef II_DMFC2 : InstrItinClass; 1070b57cec5SDimitry Andricdef II_DMTC2 : InstrItinClass; 1080b57cec5SDimitry Andricdef II_DMUL : InstrItinClass; 1090b57cec5SDimitry Andricdef II_DMULU : InstrItinClass; 1100b57cec5SDimitry Andricdef II_DMULT : InstrItinClass; 1110b57cec5SDimitry Andricdef II_DMULTU : InstrItinClass; 1120b57cec5SDimitry Andricdef II_DROTR : InstrItinClass; 1130b57cec5SDimitry Andricdef II_DROTR32 : InstrItinClass; 1140b57cec5SDimitry Andricdef II_DROTRV : InstrItinClass; 1150b57cec5SDimitry Andricdef II_DSLL : InstrItinClass; 1160b57cec5SDimitry Andricdef II_DSLL32 : InstrItinClass; 1170b57cec5SDimitry Andricdef II_DSLLV : InstrItinClass; 1180b57cec5SDimitry Andricdef II_DSRA : InstrItinClass; 1190b57cec5SDimitry Andricdef II_DSRA32 : InstrItinClass; 1200b57cec5SDimitry Andricdef II_DSRAV : InstrItinClass; 1210b57cec5SDimitry Andricdef II_DSRL : InstrItinClass; 1220b57cec5SDimitry Andricdef II_DSRL32 : InstrItinClass; 1230b57cec5SDimitry Andricdef II_DSRLV : InstrItinClass; 1240b57cec5SDimitry Andricdef II_DSBH : InstrItinClass; 1250b57cec5SDimitry Andricdef II_DSHD : InstrItinClass; 1260b57cec5SDimitry Andricdef II_DSUBU : InstrItinClass; 1270b57cec5SDimitry Andricdef II_DSUB : InstrItinClass; 1280b57cec5SDimitry Andricdef II_DVPE : InstrItinClass; 1290b57cec5SDimitry Andricdef II_EMT : InstrItinClass; 1300b57cec5SDimitry Andricdef II_EVPE : InstrItinClass; 1310b57cec5SDimitry Andricdef II_EXT : InstrItinClass; // Any EXT instruction 1320b57cec5SDimitry Andricdef II_FLOOR : InstrItinClass; 1330b57cec5SDimitry Andricdef II_FORK : InstrItinClass; 1340b57cec5SDimitry Andricdef II_GINVI : InstrItinClass; 1350b57cec5SDimitry Andricdef II_GINVT : InstrItinClass; 1360b57cec5SDimitry Andricdef II_HYPCALL : InstrItinClass; 1370b57cec5SDimitry Andricdef II_INS : InstrItinClass; // Any INS instruction 1380b57cec5SDimitry Andricdef II_IndirectBranchPseudo : InstrItinClass; // Indirect branch pseudo. 1390b57cec5SDimitry Andricdef II_J : InstrItinClass; 1400b57cec5SDimitry Andricdef II_JAL : InstrItinClass; 1410b57cec5SDimitry Andricdef II_JALR : InstrItinClass; 1420b57cec5SDimitry Andricdef II_JALR_HB : InstrItinClass; 1430b57cec5SDimitry Andricdef II_JALRC : InstrItinClass; 1440b57cec5SDimitry Andricdef II_JALRS : InstrItinClass; 1450b57cec5SDimitry Andricdef II_JALS : InstrItinClass; 1460b57cec5SDimitry Andricdef II_JIC : InstrItinClass; 1470b57cec5SDimitry Andricdef II_JIALC : InstrItinClass; 1480b57cec5SDimitry Andricdef II_JR : InstrItinClass; 1490b57cec5SDimitry Andricdef II_JR_HB : InstrItinClass; 1500b57cec5SDimitry Andricdef II_JRADDIUSP : InstrItinClass; 1510b57cec5SDimitry Andricdef II_JRC : InstrItinClass; 1520b57cec5SDimitry Andricdef II_ReturnPseudo : InstrItinClass; // Return pseudo. 1530b57cec5SDimitry Andricdef II_ERET : InstrItinClass; 1540b57cec5SDimitry Andricdef II_DERET : InstrItinClass; 1550b57cec5SDimitry Andricdef II_ERETNC : InstrItinClass; 1560b57cec5SDimitry Andricdef II_EHB : InstrItinClass; 1570b57cec5SDimitry Andricdef II_SDBBP : InstrItinClass; 1580b57cec5SDimitry Andricdef II_SIGRIE : InstrItinClass; 1590b57cec5SDimitry Andricdef II_SSNOP : InstrItinClass; 1600b57cec5SDimitry Andricdef II_SYSCALL : InstrItinClass; 1610b57cec5SDimitry Andricdef II_PAUSE : InstrItinClass; 1620b57cec5SDimitry Andricdef II_WAIT : InstrItinClass; 1630b57cec5SDimitry Andricdef II_EI : InstrItinClass; 1640b57cec5SDimitry Andricdef II_DI : InstrItinClass; 1650b57cec5SDimitry Andricdef II_TEQ : InstrItinClass; 1660b57cec5SDimitry Andricdef II_TEQI : InstrItinClass; 1670b57cec5SDimitry Andricdef II_TGE : InstrItinClass; 1680b57cec5SDimitry Andricdef II_TGEI : InstrItinClass; 1690b57cec5SDimitry Andricdef II_TGEIU : InstrItinClass; 1700b57cec5SDimitry Andricdef II_TGEU : InstrItinClass; 1710b57cec5SDimitry Andricdef II_TNE : InstrItinClass; 1720b57cec5SDimitry Andricdef II_TNEI : InstrItinClass; 1730b57cec5SDimitry Andricdef II_TLT : InstrItinClass; 1740b57cec5SDimitry Andricdef II_TLTI : InstrItinClass; 1750b57cec5SDimitry Andricdef II_TLTU : InstrItinClass; 1760b57cec5SDimitry Andricdef II_TTLTIU : InstrItinClass; 1770b57cec5SDimitry Andricdef II_TLBP : InstrItinClass; 1780b57cec5SDimitry Andricdef II_TLBR : InstrItinClass; 1790b57cec5SDimitry Andricdef II_TLBWI : InstrItinClass; 1800b57cec5SDimitry Andricdef II_TLBWR : InstrItinClass; 1810b57cec5SDimitry Andricdef II_TRAP : InstrItinClass; 1820b57cec5SDimitry Andricdef II_BREAK : InstrItinClass; 1830b57cec5SDimitry Andricdef II_SYNC : InstrItinClass; 1840b57cec5SDimitry Andricdef II_SYNCI : InstrItinClass; 1850b57cec5SDimitry Andricdef II_LB : InstrItinClass; 1860b57cec5SDimitry Andricdef II_LBE : InstrItinClass; 1870b57cec5SDimitry Andricdef II_LBU : InstrItinClass; 1880b57cec5SDimitry Andricdef II_LBUE : InstrItinClass; 1890b57cec5SDimitry Andricdef II_LD : InstrItinClass; 1900b57cec5SDimitry Andricdef II_LDC1 : InstrItinClass; 1910b57cec5SDimitry Andricdef II_LDC2 : InstrItinClass; 1920b57cec5SDimitry Andricdef II_LDC3 : InstrItinClass; 1930b57cec5SDimitry Andricdef II_LDL : InstrItinClass; 1940b57cec5SDimitry Andricdef II_LDR : InstrItinClass; 1950b57cec5SDimitry Andricdef II_LDPC : InstrItinClass; 1960b57cec5SDimitry Andricdef II_LDXC1 : InstrItinClass; 1970b57cec5SDimitry Andricdef II_LH : InstrItinClass; 1980b57cec5SDimitry Andricdef II_LHE : InstrItinClass; 1990b57cec5SDimitry Andricdef II_LHU : InstrItinClass; 2000b57cec5SDimitry Andricdef II_LHUE : InstrItinClass; 2010b57cec5SDimitry Andricdef II_LL : InstrItinClass; 2020b57cec5SDimitry Andricdef II_LI : InstrItinClass; 2030b57cec5SDimitry Andricdef II_LLD : InstrItinClass; 2040b57cec5SDimitry Andricdef II_LUI : InstrItinClass; 2050b57cec5SDimitry Andricdef II_LUXC1 : InstrItinClass; 2060b57cec5SDimitry Andricdef II_LW : InstrItinClass; 2070b57cec5SDimitry Andricdef II_LWE : InstrItinClass; 2080b57cec5SDimitry Andricdef II_LWC1 : InstrItinClass; 2090b57cec5SDimitry Andricdef II_LWC2 : InstrItinClass; 2100b57cec5SDimitry Andricdef II_LWC3 : InstrItinClass; 2110b57cec5SDimitry Andricdef II_LWM : InstrItinClass; 2120b57cec5SDimitry Andricdef II_LWL : InstrItinClass; 2130b57cec5SDimitry Andricdef II_LWLE : InstrItinClass; 2140b57cec5SDimitry Andricdef II_LWPC : InstrItinClass; 2150b57cec5SDimitry Andricdef II_LWP : InstrItinClass; 2160b57cec5SDimitry Andricdef II_LWR : InstrItinClass; 2170b57cec5SDimitry Andricdef II_LWRE : InstrItinClass; 2180b57cec5SDimitry Andricdef II_LWU : InstrItinClass; 2190b57cec5SDimitry Andricdef II_LWUPC : InstrItinClass; 2200b57cec5SDimitry Andricdef II_LWXC1 : InstrItinClass; 2210b57cec5SDimitry Andricdef II_LWXS : InstrItinClass; 2220b57cec5SDimitry Andricdef II_LSA : InstrItinClass; 2230b57cec5SDimitry Andricdef II_DLSA : InstrItinClass; 2240b57cec5SDimitry Andricdef II_MADD : InstrItinClass; 2250b57cec5SDimitry Andricdef II_MADDU : InstrItinClass; 2260b57cec5SDimitry Andricdef II_MADD_D : InstrItinClass; 2270b57cec5SDimitry Andricdef II_MADD_S : InstrItinClass; 2280b57cec5SDimitry Andricdef II_MADDF_D : InstrItinClass; 2290b57cec5SDimitry Andricdef II_MADDF_S : InstrItinClass; 2300b57cec5SDimitry Andricdef II_MAX_D : InstrItinClass; 2310b57cec5SDimitry Andricdef II_MAX_S : InstrItinClass; 2320b57cec5SDimitry Andricdef II_MAXA_D : InstrItinClass; 2330b57cec5SDimitry Andricdef II_MAXA_S : InstrItinClass; 2340b57cec5SDimitry Andricdef II_MIN_D : InstrItinClass; 2350b57cec5SDimitry Andricdef II_MIN_S : InstrItinClass; 2360b57cec5SDimitry Andricdef II_MINA_D : InstrItinClass; 2370b57cec5SDimitry Andricdef II_MINA_S : InstrItinClass; 2380b57cec5SDimitry Andricdef II_MFC0 : InstrItinClass; 2390b57cec5SDimitry Andricdef II_MFHC0 : InstrItinClass; 2400b57cec5SDimitry Andricdef II_MFC1 : InstrItinClass; 2410b57cec5SDimitry Andricdef II_MFHC1 : InstrItinClass; 2420b57cec5SDimitry Andricdef II_MFC2 : InstrItinClass; 2430b57cec5SDimitry Andricdef II_MFGC0 : InstrItinClass; 2440b57cec5SDimitry Andricdef II_MFHGC0 : InstrItinClass; 2450b57cec5SDimitry Andricdef II_MFHI_MFLO : InstrItinClass; // mfhi and mflo 2460b57cec5SDimitry Andricdef II_MFTR : InstrItinClass; 2470b57cec5SDimitry Andricdef II_MOD : InstrItinClass; 2480b57cec5SDimitry Andricdef II_MODU : InstrItinClass; 2490b57cec5SDimitry Andricdef II_MOVE : InstrItinClass; 2500b57cec5SDimitry Andricdef II_MOVF : InstrItinClass; 2510b57cec5SDimitry Andricdef II_MOVF_D : InstrItinClass; 2520b57cec5SDimitry Andricdef II_MOVF_S : InstrItinClass; 2530b57cec5SDimitry Andricdef II_MOVN : InstrItinClass; 2540b57cec5SDimitry Andricdef II_MOVN_D : InstrItinClass; 2550b57cec5SDimitry Andricdef II_MOVN_S : InstrItinClass; 2560b57cec5SDimitry Andricdef II_MOVT : InstrItinClass; 2570b57cec5SDimitry Andricdef II_MOVT_D : InstrItinClass; 2580b57cec5SDimitry Andricdef II_MOVT_S : InstrItinClass; 2590b57cec5SDimitry Andricdef II_MOVZ : InstrItinClass; 2600b57cec5SDimitry Andricdef II_MOVZ_D : InstrItinClass; 2610b57cec5SDimitry Andricdef II_MOVZ_S : InstrItinClass; 2620b57cec5SDimitry Andricdef II_MOV_D : InstrItinClass; 2630b57cec5SDimitry Andricdef II_MOV_S : InstrItinClass; 2640b57cec5SDimitry Andricdef II_MSUB : InstrItinClass; 2650b57cec5SDimitry Andricdef II_MSUBU : InstrItinClass; 2660b57cec5SDimitry Andricdef II_MSUB_D : InstrItinClass; 2670b57cec5SDimitry Andricdef II_MSUB_S : InstrItinClass; 2680b57cec5SDimitry Andricdef II_MSUBF_D : InstrItinClass; 2690b57cec5SDimitry Andricdef II_MSUBF_S : InstrItinClass; 2700b57cec5SDimitry Andricdef II_MTC0 : InstrItinClass; 2710b57cec5SDimitry Andricdef II_MTHC0 : InstrItinClass; 2720b57cec5SDimitry Andricdef II_MTC1 : InstrItinClass; 2730b57cec5SDimitry Andricdef II_MTHC1 : InstrItinClass; 2740b57cec5SDimitry Andricdef II_MTC2 : InstrItinClass; 2750b57cec5SDimitry Andricdef II_MTGC0 : InstrItinClass; 2760b57cec5SDimitry Andricdef II_MTHGC0 : InstrItinClass; 2770b57cec5SDimitry Andricdef II_MTHI_MTLO : InstrItinClass; // mthi and mtlo 2780b57cec5SDimitry Andricdef II_MTTR : InstrItinClass; 2790b57cec5SDimitry Andricdef II_MUL : InstrItinClass; 2800b57cec5SDimitry Andricdef II_MUH : InstrItinClass; 2810b57cec5SDimitry Andricdef II_MUHU : InstrItinClass; 2820b57cec5SDimitry Andricdef II_MULU : InstrItinClass; 283*e8d8bef9SDimitry Andricdef II_MUL_PS : InstrItinClass; 2845ffd83dbSDimitry Andricdef II_MULR_PS : InstrItinClass; 2850b57cec5SDimitry Andricdef II_MULT : InstrItinClass; 2860b57cec5SDimitry Andricdef II_MULTU : InstrItinClass; 2870b57cec5SDimitry Andricdef II_MUL_D : InstrItinClass; 2880b57cec5SDimitry Andricdef II_MUL_S : InstrItinClass; 2890b57cec5SDimitry Andricdef II_NEG : InstrItinClass; 2900b57cec5SDimitry Andricdef II_NMADD_D : InstrItinClass; 2910b57cec5SDimitry Andricdef II_NMADD_S : InstrItinClass; 2920b57cec5SDimitry Andricdef II_NMSUB_D : InstrItinClass; 2930b57cec5SDimitry Andricdef II_NMSUB_S : InstrItinClass; 2940b57cec5SDimitry Andricdef II_NOR : InstrItinClass; 2950b57cec5SDimitry Andricdef II_NOT : InstrItinClass; 2960b57cec5SDimitry Andricdef II_OR : InstrItinClass; 2970b57cec5SDimitry Andricdef II_ORI : InstrItinClass; 2980b57cec5SDimitry Andricdef II_POP : InstrItinClass; 2990b57cec5SDimitry Andricdef II_RDHWR : InstrItinClass; 3000b57cec5SDimitry Andricdef II_RESTORE : InstrItinClass; 3010b57cec5SDimitry Andricdef II_RECIP_S : InstrItinClass; 3020b57cec5SDimitry Andricdef II_RECIP_D : InstrItinClass; 3030b57cec5SDimitry Andricdef II_RINT_S : InstrItinClass; 3040b57cec5SDimitry Andricdef II_RINT_D : InstrItinClass; 3050b57cec5SDimitry Andricdef II_ROTR : InstrItinClass; 3060b57cec5SDimitry Andricdef II_ROTRV : InstrItinClass; 3070b57cec5SDimitry Andricdef II_ROUND : InstrItinClass; 3080b57cec5SDimitry Andricdef II_RSQRT_S : InstrItinClass; 3090b57cec5SDimitry Andricdef II_RSQRT_D : InstrItinClass; 3100b57cec5SDimitry Andricdef II_SAVE : InstrItinClass; 3110b57cec5SDimitry Andricdef II_SC : InstrItinClass; 3120b57cec5SDimitry Andricdef II_SCD : InstrItinClass; 3130b57cec5SDimitry Andricdef II_SB : InstrItinClass; 3140b57cec5SDimitry Andricdef II_SBE : InstrItinClass; 3150b57cec5SDimitry Andricdef II_SD : InstrItinClass; 3160b57cec5SDimitry Andricdef II_SDC1 : InstrItinClass; 3170b57cec5SDimitry Andricdef II_SDC2 : InstrItinClass; 3180b57cec5SDimitry Andricdef II_SDC3 : InstrItinClass; 3190b57cec5SDimitry Andricdef II_SDL : InstrItinClass; 3200b57cec5SDimitry Andricdef II_SDR : InstrItinClass; 3210b57cec5SDimitry Andricdef II_SDXC1 : InstrItinClass; 3220b57cec5SDimitry Andricdef II_SEB : InstrItinClass; 3230b57cec5SDimitry Andricdef II_SEH : InstrItinClass; 3240b57cec5SDimitry Andricdef II_SELCCZ : InstrItinClass; 3250b57cec5SDimitry Andricdef II_SELCCZ_D : InstrItinClass; 3260b57cec5SDimitry Andricdef II_SELCCZ_S : InstrItinClass; 3270b57cec5SDimitry Andricdef II_SEQ_SNE : InstrItinClass; // seq and sne 3280b57cec5SDimitry Andricdef II_SEQI_SNEI : InstrItinClass; // seqi and snei 3290b57cec5SDimitry Andricdef II_SH : InstrItinClass; 3300b57cec5SDimitry Andricdef II_SHE : InstrItinClass; 3310b57cec5SDimitry Andricdef II_SLL : InstrItinClass; 3320b57cec5SDimitry Andricdef II_SLLV : InstrItinClass; 3330b57cec5SDimitry Andricdef II_SLTI_SLTIU : InstrItinClass; // slti and sltiu 3340b57cec5SDimitry Andricdef II_SLT_SLTU : InstrItinClass; // slt and sltu 3350b57cec5SDimitry Andricdef II_SQRT_D : InstrItinClass; 3360b57cec5SDimitry Andricdef II_SQRT_S : InstrItinClass; 3370b57cec5SDimitry Andricdef II_SEL_D : InstrItinClass; 3380b57cec5SDimitry Andricdef II_SEL_S : InstrItinClass; 3390b57cec5SDimitry Andricdef II_SRA : InstrItinClass; 3400b57cec5SDimitry Andricdef II_SRAV : InstrItinClass; 3410b57cec5SDimitry Andricdef II_SRL : InstrItinClass; 3420b57cec5SDimitry Andricdef II_SRLV : InstrItinClass; 3430b57cec5SDimitry Andricdef II_SUB : InstrItinClass; 3440b57cec5SDimitry Andricdef II_SUBU : InstrItinClass; 3450b57cec5SDimitry Andricdef II_SUB_D : InstrItinClass; 346*e8d8bef9SDimitry Andricdef II_SUB_PS : InstrItinClass; 3470b57cec5SDimitry Andricdef II_SUB_S : InstrItinClass; 3480b57cec5SDimitry Andricdef II_SUXC1 : InstrItinClass; 3490b57cec5SDimitry Andricdef II_SW : InstrItinClass; 3500b57cec5SDimitry Andricdef II_SWE : InstrItinClass; 3510b57cec5SDimitry Andricdef II_SWC1 : InstrItinClass; 3520b57cec5SDimitry Andricdef II_SWC2 : InstrItinClass; 3530b57cec5SDimitry Andricdef II_SWC3 : InstrItinClass; 3540b57cec5SDimitry Andricdef II_SWL : InstrItinClass; 3550b57cec5SDimitry Andricdef II_SWLE : InstrItinClass; 3560b57cec5SDimitry Andricdef II_SWM : InstrItinClass; 3570b57cec5SDimitry Andricdef II_SWP : InstrItinClass; 3580b57cec5SDimitry Andricdef II_SWR : InstrItinClass; 3590b57cec5SDimitry Andricdef II_SWRE : InstrItinClass; 3600b57cec5SDimitry Andricdef II_SWXC1 : InstrItinClass; 3610b57cec5SDimitry Andricdef II_TRUNC : InstrItinClass; 3620b57cec5SDimitry Andricdef II_WSBH : InstrItinClass; 3630b57cec5SDimitry Andricdef II_XOR : InstrItinClass; 3640b57cec5SDimitry Andricdef II_XORI : InstrItinClass; 3650b57cec5SDimitry Andricdef II_CACHE : InstrItinClass; 3660b57cec5SDimitry Andricdef II_PREF : InstrItinClass; 3670b57cec5SDimitry Andricdef II_CACHEE : InstrItinClass; 3680b57cec5SDimitry Andricdef II_PREFE : InstrItinClass; 3690b57cec5SDimitry Andricdef II_LLE : InstrItinClass; 3700b57cec5SDimitry Andricdef II_SCE : InstrItinClass; 3710b57cec5SDimitry Andricdef II_TLBGINV : InstrItinClass; 3720b57cec5SDimitry Andricdef II_TLBGINVF : InstrItinClass; 3730b57cec5SDimitry Andricdef II_TLBGP : InstrItinClass; 3740b57cec5SDimitry Andricdef II_TLBGR : InstrItinClass; 3750b57cec5SDimitry Andricdef II_TLBGWI : InstrItinClass; 3760b57cec5SDimitry Andricdef II_TLBGWR : InstrItinClass; 3770b57cec5SDimitry Andricdef II_TLBINV : InstrItinClass; 3780b57cec5SDimitry Andricdef II_TLBINVF : InstrItinClass; 3790b57cec5SDimitry Andricdef II_WRPGPR : InstrItinClass; 3800b57cec5SDimitry Andricdef II_RDPGPR : InstrItinClass; 3810b57cec5SDimitry Andricdef II_DVP : InstrItinClass; 3820b57cec5SDimitry Andricdef II_EVP : InstrItinClass; 3830b57cec5SDimitry Andricdef II_YIELD : InstrItinClass; 3840b57cec5SDimitry Andric 3850b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 3860b57cec5SDimitry Andric// Mips Generic instruction itineraries. 3870b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 3880b57cec5SDimitry Andricdef MipsGenericItineraries : ProcessorItineraries<[ALU, IMULDIV], [], [ 3890b57cec5SDimitry Andric InstrItinData<IIM16Alu , [InstrStage<1, [ALU]>]>, 3900b57cec5SDimitry Andric InstrItinData<II_ADDI , [InstrStage<1, [ALU]>]>, 3910b57cec5SDimitry Andric InstrItinData<II_ADDIU , [InstrStage<1, [ALU]>]>, 3920b57cec5SDimitry Andric InstrItinData<II_ADDIUPC , [InstrStage<1, [ALU]>]>, 3930b57cec5SDimitry Andric InstrItinData<II_ADD , [InstrStage<1, [ALU]>]>, 3940b57cec5SDimitry Andric InstrItinData<II_ADDU , [InstrStage<1, [ALU]>]>, 3950b57cec5SDimitry Andric InstrItinData<II_AUI , [InstrStage<1, [ALU]>]>, 3960b57cec5SDimitry Andric InstrItinData<II_AND , [InstrStage<1, [ALU]>]>, 3970b57cec5SDimitry Andric InstrItinData<II_ALUIPC , [InstrStage<1, [ALU]>]>, 3980b57cec5SDimitry Andric InstrItinData<II_AUIPC , [InstrStage<1, [ALU]>]>, 3990b57cec5SDimitry Andric InstrItinData<II_ALIGN , [InstrStage<1, [ALU]>]>, 4000b57cec5SDimitry Andric InstrItinData<II_BADDU , [InstrStage<1, [ALU]>]>, 4010b57cec5SDimitry Andric InstrItinData<II_BITSWAP , [InstrStage<1, [ALU]>]>, 4020b57cec5SDimitry Andric InstrItinData<II_SLL , [InstrStage<1, [ALU]>]>, 4030b57cec5SDimitry Andric InstrItinData<II_SRA , [InstrStage<1, [ALU]>]>, 4040b57cec5SDimitry Andric InstrItinData<II_SRL , [InstrStage<1, [ALU]>]>, 4050b57cec5SDimitry Andric InstrItinData<II_ROTR , [InstrStage<1, [ALU]>]>, 4060b57cec5SDimitry Andric InstrItinData<II_SLLV , [InstrStage<1, [ALU]>]>, 4070b57cec5SDimitry Andric InstrItinData<II_SRAV , [InstrStage<1, [ALU]>]>, 4080b57cec5SDimitry Andric InstrItinData<II_SRLV , [InstrStage<1, [ALU]>]>, 4090b57cec5SDimitry Andric InstrItinData<II_ROTRV , [InstrStage<1, [ALU]>]>, 4100b57cec5SDimitry Andric InstrItinData<II_CLO , [InstrStage<1, [ALU]>]>, 4110b57cec5SDimitry Andric InstrItinData<II_CLZ , [InstrStage<1, [ALU]>]>, 4120b57cec5SDimitry Andric InstrItinData<II_DADDIU , [InstrStage<1, [ALU]>]>, 4130b57cec5SDimitry Andric InstrItinData<II_DADDU , [InstrStage<1, [ALU]>]>, 4140b57cec5SDimitry Andric InstrItinData<II_DADDI , [InstrStage<1, [ALU]>]>, 4150b57cec5SDimitry Andric InstrItinData<II_DADD , [InstrStage<1, [ALU]>]>, 4160b57cec5SDimitry Andric InstrItinData<II_DALIGN , [InstrStage<1, [ALU]>]>, 4170b57cec5SDimitry Andric InstrItinData<II_DAHI , [InstrStage<1, [ALU]>]>, 4180b57cec5SDimitry Andric InstrItinData<II_DATI , [InstrStage<1, [ALU]>]>, 4190b57cec5SDimitry Andric InstrItinData<II_DAUI , [InstrStage<1, [ALU]>]>, 4200b57cec5SDimitry Andric InstrItinData<II_DBITSWAP , [InstrStage<1, [ALU]>]>, 4210b57cec5SDimitry Andric InstrItinData<II_DCLO , [InstrStage<1, [ALU]>]>, 4220b57cec5SDimitry Andric InstrItinData<II_DCLZ , [InstrStage<1, [ALU]>]>, 4230b57cec5SDimitry Andric InstrItinData<II_DMOD , [InstrStage<17, [IMULDIV]>]>, 4240b57cec5SDimitry Andric InstrItinData<II_DMODU , [InstrStage<17, [IMULDIV]>]>, 4250b57cec5SDimitry Andric InstrItinData<II_DMT , [InstrStage<2, [ALU]>]>, 4260b57cec5SDimitry Andric InstrItinData<II_DSLL , [InstrStage<1, [ALU]>]>, 4270b57cec5SDimitry Andric InstrItinData<II_DSLL32 , [InstrStage<1, [ALU]>]>, 4280b57cec5SDimitry Andric InstrItinData<II_DSRL , [InstrStage<1, [ALU]>]>, 4290b57cec5SDimitry Andric InstrItinData<II_DSRL32 , [InstrStage<1, [ALU]>]>, 4300b57cec5SDimitry Andric InstrItinData<II_DSRA , [InstrStage<1, [ALU]>]>, 4310b57cec5SDimitry Andric InstrItinData<II_DSRA32 , [InstrStage<1, [ALU]>]>, 4320b57cec5SDimitry Andric InstrItinData<II_DSLLV , [InstrStage<1, [ALU]>]>, 4330b57cec5SDimitry Andric InstrItinData<II_DSRLV , [InstrStage<1, [ALU]>]>, 4340b57cec5SDimitry Andric InstrItinData<II_DSRAV , [InstrStage<1, [ALU]>]>, 4350b57cec5SDimitry Andric InstrItinData<II_DSUBU , [InstrStage<1, [ALU]>]>, 4360b57cec5SDimitry Andric InstrItinData<II_DSUB , [InstrStage<1, [ALU]>]>, 4370b57cec5SDimitry Andric InstrItinData<II_DROTR , [InstrStage<1, [ALU]>]>, 4380b57cec5SDimitry Andric InstrItinData<II_DROTR32 , [InstrStage<1, [ALU]>]>, 4390b57cec5SDimitry Andric InstrItinData<II_DROTRV , [InstrStage<1, [ALU]>]>, 4400b57cec5SDimitry Andric InstrItinData<II_DSBH , [InstrStage<1, [ALU]>]>, 4410b57cec5SDimitry Andric InstrItinData<II_DSHD , [InstrStage<1, [ALU]>]>, 4420b57cec5SDimitry Andric InstrItinData<II_DCLO , [InstrStage<1, [ALU]>]>, 4430b57cec5SDimitry Andric InstrItinData<II_DCLZ , [InstrStage<1, [ALU]>]>, 4440b57cec5SDimitry Andric InstrItinData<II_DVPE , [InstrStage<2, [ALU]>]>, 4450b57cec5SDimitry Andric InstrItinData<II_EMT , [InstrStage<2, [ALU]>]>, 4460b57cec5SDimitry Andric InstrItinData<II_EVPE , [InstrStage<2, [ALU]>]>, 4470b57cec5SDimitry Andric InstrItinData<II_EXT , [InstrStage<1, [ALU]>]>, 4480b57cec5SDimitry Andric InstrItinData<II_FORK , [InstrStage<1, [ALU]>]>, 4490b57cec5SDimitry Andric InstrItinData<II_INS , [InstrStage<1, [ALU]>]>, 4500b57cec5SDimitry Andric InstrItinData<II_LUI , [InstrStage<1, [ALU]>]>, 4510b57cec5SDimitry Andric InstrItinData<II_MOVE , [InstrStage<1, [ALU]>]>, 4520b57cec5SDimitry Andric InstrItinData<II_MOVF , [InstrStage<1, [ALU]>]>, 4530b57cec5SDimitry Andric InstrItinData<II_MOVN , [InstrStage<1, [ALU]>]>, 4540b57cec5SDimitry Andric InstrItinData<II_MOVN_S , [InstrStage<1, [ALU]>]>, 4550b57cec5SDimitry Andric InstrItinData<II_MOVN_D , [InstrStage<1, [ALU]>]>, 4560b57cec5SDimitry Andric InstrItinData<II_MOVT , [InstrStage<1, [ALU]>]>, 4570b57cec5SDimitry Andric InstrItinData<II_MOVZ , [InstrStage<1, [ALU]>]>, 4580b57cec5SDimitry Andric InstrItinData<II_NOR , [InstrStage<1, [ALU]>]>, 4590b57cec5SDimitry Andric InstrItinData<II_NOT , [InstrStage<1, [ALU]>]>, 4600b57cec5SDimitry Andric InstrItinData<II_OR , [InstrStage<1, [ALU]>]>, 4610b57cec5SDimitry Andric InstrItinData<II_POP , [InstrStage<1, [ALU]>]>, 4620b57cec5SDimitry Andric InstrItinData<II_RDHWR , [InstrStage<1, [ALU]>]>, 4630b57cec5SDimitry Andric InstrItinData<II_SUB , [InstrStage<1, [ALU]>]>, 4640b57cec5SDimitry Andric InstrItinData<II_SUBU , [InstrStage<1, [ALU]>]>, 4650b57cec5SDimitry Andric InstrItinData<II_XOR , [InstrStage<1, [ALU]>]>, 4660b57cec5SDimitry Andric InstrItinData<II_ANDI , [InstrStage<1, [ALU]>]>, 4670b57cec5SDimitry Andric InstrItinData<II_ORI , [InstrStage<1, [ALU]>]>, 4680b57cec5SDimitry Andric InstrItinData<II_XORI , [InstrStage<1, [ALU]>]>, 4690b57cec5SDimitry Andric InstrItinData<II_LB , [InstrStage<3, [ALU]>]>, 4700b57cec5SDimitry Andric InstrItinData<II_LBE , [InstrStage<3, [ALU]>]>, 4710b57cec5SDimitry Andric InstrItinData<II_LBU , [InstrStage<3, [ALU]>]>, 4720b57cec5SDimitry Andric InstrItinData<II_LBUE , [InstrStage<3, [ALU]>]>, 4730b57cec5SDimitry Andric InstrItinData<II_LH , [InstrStage<3, [ALU]>]>, 4740b57cec5SDimitry Andric InstrItinData<II_LHU , [InstrStage<3, [ALU]>]>, 4750b57cec5SDimitry Andric InstrItinData<II_LHUE , [InstrStage<3, [ALU]>]>, 4760b57cec5SDimitry Andric InstrItinData<II_LW , [InstrStage<3, [ALU]>]>, 4770b57cec5SDimitry Andric InstrItinData<II_LWM , [InstrStage<3, [ALU]>]>, 4780b57cec5SDimitry Andric InstrItinData<II_LWP , [InstrStage<3, [ALU]>]>, 4790b57cec5SDimitry Andric InstrItinData<II_LWPC , [InstrStage<3, [ALU]>]>, 4800b57cec5SDimitry Andric InstrItinData<II_LWL , [InstrStage<3, [ALU]>]>, 4810b57cec5SDimitry Andric InstrItinData<II_LWLE , [InstrStage<3, [ALU]>]>, 4820b57cec5SDimitry Andric InstrItinData<II_LWR , [InstrStage<3, [ALU]>]>, 4830b57cec5SDimitry Andric InstrItinData<II_LWRE , [InstrStage<3, [ALU]>]>, 4840b57cec5SDimitry Andric InstrItinData<II_LWUPC , [InstrStage<3, [ALU]>]>, 4850b57cec5SDimitry Andric InstrItinData<II_LD , [InstrStage<3, [ALU]>]>, 4860b57cec5SDimitry Andric InstrItinData<II_LDL , [InstrStage<3, [ALU]>]>, 4870b57cec5SDimitry Andric InstrItinData<II_LDR , [InstrStage<3, [ALU]>]>, 4880b57cec5SDimitry Andric InstrItinData<II_LDPC , [InstrStage<3, [ALU]>]>, 4890b57cec5SDimitry Andric InstrItinData<II_LI , [InstrStage<1, [ALU]>]>, 4900b57cec5SDimitry Andric InstrItinData<II_LL , [InstrStage<3, [ALU]>]>, 4910b57cec5SDimitry Andric InstrItinData<II_LLD , [InstrStage<3, [ALU]>]>, 4920b57cec5SDimitry Andric InstrItinData<II_RESTORE , [InstrStage<3, [ALU]>]>, 4930b57cec5SDimitry Andric InstrItinData<II_SB , [InstrStage<1, [ALU]>]>, 4940b57cec5SDimitry Andric InstrItinData<II_SH , [InstrStage<1, [ALU]>]>, 4950b57cec5SDimitry Andric InstrItinData<II_SHE , [InstrStage<1, [ALU]>]>, 4960b57cec5SDimitry Andric InstrItinData<II_SW , [InstrStage<1, [ALU]>]>, 4970b57cec5SDimitry Andric InstrItinData<II_SWM , [InstrStage<1, [ALU]>]>, 4980b57cec5SDimitry Andric InstrItinData<II_SWL , [InstrStage<1, [ALU]>]>, 4990b57cec5SDimitry Andric InstrItinData<II_SWR , [InstrStage<1, [ALU]>]>, 5000b57cec5SDimitry Andric InstrItinData<II_SWP , [InstrStage<1, [ALU]>]>, 5010b57cec5SDimitry Andric InstrItinData<II_SDL , [InstrStage<1, [ALU]>]>, 5020b57cec5SDimitry Andric InstrItinData<II_SDR , [InstrStage<1, [ALU]>]>, 5030b57cec5SDimitry Andric InstrItinData<II_SD , [InstrStage<1, [ALU]>]>, 5040b57cec5SDimitry Andric InstrItinData<II_SC , [InstrStage<1, [ALU]>]>, 5050b57cec5SDimitry Andric InstrItinData<II_SCD , [InstrStage<1, [ALU]>]>, 5060b57cec5SDimitry Andric InstrItinData<II_SAVE , [InstrStage<1, [ALU]>]>, 5070b57cec5SDimitry Andric InstrItinData<II_SELCCZ_S , [InstrStage<1, [ALU]>]>, 5080b57cec5SDimitry Andric InstrItinData<II_SELCCZ_D , [InstrStage<1, [ALU]>]>, 5090b57cec5SDimitry Andric InstrItinData<II_SEQ_SNE , [InstrStage<1, [ALU]>]>, 5100b57cec5SDimitry Andric InstrItinData<II_SEQI_SNEI , [InstrStage<1, [ALU]>]>, 5110b57cec5SDimitry Andric InstrItinData<II_SLTI_SLTIU , [InstrStage<1, [ALU]>]>, 5120b57cec5SDimitry Andric InstrItinData<II_SLT_SLTU , [InstrStage<1, [ALU]>]>, 5130b57cec5SDimitry Andric InstrItinData<II_B , [InstrStage<1, [ALU]>]>, 5140b57cec5SDimitry Andric InstrItinData<II_BALC , [InstrStage<1, [ALU]>]>, 5150b57cec5SDimitry Andric InstrItinData<II_BBIT , [InstrStage<1, [ALU]>]>, 5160b57cec5SDimitry Andric InstrItinData<II_BC , [InstrStage<1, [ALU]>]>, 5170b57cec5SDimitry Andric InstrItinData<II_BC1F , [InstrStage<1, [ALU]>]>, 5180b57cec5SDimitry Andric InstrItinData<II_BC1FL , [InstrStage<1, [ALU]>]>, 5190b57cec5SDimitry Andric InstrItinData<II_BC1T , [InstrStage<1, [ALU]>]>, 5200b57cec5SDimitry Andric InstrItinData<II_BC1TL , [InstrStage<1, [ALU]>]>, 5210b57cec5SDimitry Andric InstrItinData<II_BC1CCZ , [InstrStage<1, [ALU]>]>, 5220b57cec5SDimitry Andric InstrItinData<II_BC2CCZ , [InstrStage<1, [ALU]>]>, 5230b57cec5SDimitry Andric InstrItinData<II_BCC , [InstrStage<1, [ALU]>]>, 5240b57cec5SDimitry Andric InstrItinData<II_BCCC , [InstrStage<1, [ALU]>]>, 5250b57cec5SDimitry Andric InstrItinData<II_BCCZ , [InstrStage<1, [ALU]>]>, 5260b57cec5SDimitry Andric InstrItinData<II_BCCZAL , [InstrStage<1, [ALU]>]>, 5270b57cec5SDimitry Andric InstrItinData<II_BCCZALS , [InstrStage<1, [ALU]>]>, 5280b57cec5SDimitry Andric InstrItinData<II_BCCZC , [InstrStage<1, [ALU]>]>, 5290b57cec5SDimitry Andric InstrItinData<II_CLASS_D , [InstrStage<1, [ALU]>]>, 5300b57cec5SDimitry Andric InstrItinData<II_CLASS_S , [InstrStage<1, [ALU]>]>, 5310b57cec5SDimitry Andric InstrItinData<II_IndirectBranchPseudo, [InstrStage<1, [ALU]>]>, 5320b57cec5SDimitry Andric InstrItinData<II_J , [InstrStage<1, [ALU]>]>, 5330b57cec5SDimitry Andric InstrItinData<II_JAL , [InstrStage<1, [ALU]>]>, 5340b57cec5SDimitry Andric InstrItinData<II_JALR , [InstrStage<1, [ALU]>]>, 5350b57cec5SDimitry Andric InstrItinData<II_JALR_HB , [InstrStage<1, [ALU]>]>, 5360b57cec5SDimitry Andric InstrItinData<II_JALRC , [InstrStage<1, [ALU]>]>, 5370b57cec5SDimitry Andric InstrItinData<II_JALRS , [InstrStage<1, [ALU]>]>, 5380b57cec5SDimitry Andric InstrItinData<II_JALS , [InstrStage<1, [ALU]>]>, 5390b57cec5SDimitry Andric InstrItinData<II_JIC , [InstrStage<1, [ALU]>]>, 5400b57cec5SDimitry Andric InstrItinData<II_JIALC , [InstrStage<1, [ALU]>]>, 5410b57cec5SDimitry Andric InstrItinData<II_JR , [InstrStage<1, [ALU]>]>, 5420b57cec5SDimitry Andric InstrItinData<II_JR_HB , [InstrStage<1, [ALU]>]>, 5430b57cec5SDimitry Andric InstrItinData<II_JRADDIUSP , [InstrStage<1, [ALU]>]>, 5440b57cec5SDimitry Andric InstrItinData<II_JRC , [InstrStage<1, [ALU]>]>, 5450b57cec5SDimitry Andric InstrItinData<II_ReturnPseudo , [InstrStage<1, [ALU]>]>, 5460b57cec5SDimitry Andric InstrItinData<IIPseudo , [InstrStage<1, [ALU]>]>, 5470b57cec5SDimitry Andric InstrItinData<II_DMUH , [InstrStage<17, [IMULDIV]>]>, 5480b57cec5SDimitry Andric InstrItinData<II_DMUHU , [InstrStage<17, [IMULDIV]>]>, 5490b57cec5SDimitry Andric InstrItinData<II_ERET , [InstrStage<1, [ALU]>]>, 5500b57cec5SDimitry Andric InstrItinData<II_DERET , [InstrStage<1, [ALU]>]>, 5510b57cec5SDimitry Andric InstrItinData<II_ERETNC , [InstrStage<1, [ALU]>]>, 5520b57cec5SDimitry Andric InstrItinData<II_EHB , [InstrStage<1, [ALU]>]>, 5530b57cec5SDimitry Andric InstrItinData<II_SDBBP , [InstrStage<1, [ALU]>]>, 5540b57cec5SDimitry Andric InstrItinData<II_SIGRIE , [InstrStage<1, [ALU]>]>, 5550b57cec5SDimitry Andric InstrItinData<II_SSNOP , [InstrStage<1, [ALU]>]>, 5560b57cec5SDimitry Andric InstrItinData<II_SYSCALL , [InstrStage<1, [ALU]>]>, 5570b57cec5SDimitry Andric InstrItinData<II_PAUSE , [InstrStage<1, [ALU]>]>, 5580b57cec5SDimitry Andric InstrItinData<II_WAIT , [InstrStage<1, [ALU]>]>, 5590b57cec5SDimitry Andric InstrItinData<II_EI , [InstrStage<1, [ALU]>]>, 5600b57cec5SDimitry Andric InstrItinData<II_DI , [InstrStage<1, [ALU]>]>, 5610b57cec5SDimitry Andric InstrItinData<II_TEQ , [InstrStage<1, [ALU]>]>, 5620b57cec5SDimitry Andric InstrItinData<II_TEQI , [InstrStage<1, [ALU]>]>, 5630b57cec5SDimitry Andric InstrItinData<II_TGE , [InstrStage<1, [ALU]>]>, 5640b57cec5SDimitry Andric InstrItinData<II_TGEI , [InstrStage<1, [ALU]>]>, 5650b57cec5SDimitry Andric InstrItinData<II_TGEIU , [InstrStage<1, [ALU]>]>, 5660b57cec5SDimitry Andric InstrItinData<II_TGEU , [InstrStage<1, [ALU]>]>, 5670b57cec5SDimitry Andric InstrItinData<II_TNE , [InstrStage<1, [ALU]>]>, 5680b57cec5SDimitry Andric InstrItinData<II_TNEI , [InstrStage<1, [ALU]>]>, 5690b57cec5SDimitry Andric InstrItinData<II_TLT , [InstrStage<1, [ALU]>]>, 5700b57cec5SDimitry Andric InstrItinData<II_TLTI , [InstrStage<1, [ALU]>]>, 5710b57cec5SDimitry Andric InstrItinData<II_TLTU , [InstrStage<1, [ALU]>]>, 5720b57cec5SDimitry Andric InstrItinData<II_TTLTIU , [InstrStage<1, [ALU]>]>, 5730b57cec5SDimitry Andric InstrItinData<II_TLBP , [InstrStage<1, [ALU]>]>, 5740b57cec5SDimitry Andric InstrItinData<II_TLBR , [InstrStage<1, [ALU]>]>, 5750b57cec5SDimitry Andric InstrItinData<II_TLBWI , [InstrStage<1, [ALU]>]>, 5760b57cec5SDimitry Andric InstrItinData<II_TLBWR , [InstrStage<1, [ALU]>]>, 5770b57cec5SDimitry Andric InstrItinData<II_TRAP , [InstrStage<1, [ALU]>]>, 5780b57cec5SDimitry Andric InstrItinData<II_BREAK , [InstrStage<1, [ALU]>]>, 5790b57cec5SDimitry Andric InstrItinData<II_SYNC , [InstrStage<1, [ALU]>]>, 5800b57cec5SDimitry Andric InstrItinData<II_SYNCI , [InstrStage<1, [ALU]>]>, 5810b57cec5SDimitry Andric InstrItinData<II_DMUL , [InstrStage<17, [IMULDIV]>]>, 5820b57cec5SDimitry Andric InstrItinData<II_DMULT , [InstrStage<17, [IMULDIV]>]>, 5830b57cec5SDimitry Andric InstrItinData<II_DMULTU , [InstrStage<17, [IMULDIV]>]>, 5840b57cec5SDimitry Andric InstrItinData<II_DMULU , [InstrStage<17, [IMULDIV]>]>, 5850b57cec5SDimitry Andric InstrItinData<II_MADD , [InstrStage<17, [IMULDIV]>]>, 5860b57cec5SDimitry Andric InstrItinData<II_MADDU , [InstrStage<17, [IMULDIV]>]>, 5870b57cec5SDimitry Andric InstrItinData<II_MFHI_MFLO , [InstrStage<1, [IMULDIV]>]>, 5880b57cec5SDimitry Andric InstrItinData<II_MAX_D , [InstrStage<4, [ALU]>]>, 5890b57cec5SDimitry Andric InstrItinData<II_MAX_S , [InstrStage<4, [ALU]>]>, 5900b57cec5SDimitry Andric InstrItinData<II_MAXA_D , [InstrStage<4, [ALU]>]>, 5910b57cec5SDimitry Andric InstrItinData<II_MAXA_S , [InstrStage<4, [ALU]>]>, 5920b57cec5SDimitry Andric InstrItinData<II_MIN_S , [InstrStage<4, [ALU]>]>, 5930b57cec5SDimitry Andric InstrItinData<II_MIN_D , [InstrStage<4, [ALU]>]>, 5940b57cec5SDimitry Andric InstrItinData<II_MINA_S , [InstrStage<4, [ALU]>]>, 5950b57cec5SDimitry Andric InstrItinData<II_MINA_D , [InstrStage<4, [ALU]>]>, 5960b57cec5SDimitry Andric InstrItinData<II_MOD , [InstrStage<38, [IMULDIV]>]>, 5970b57cec5SDimitry Andric InstrItinData<II_MODU , [InstrStage<38, [IMULDIV]>]>, 5980b57cec5SDimitry Andric InstrItinData<II_MSUB , [InstrStage<17, [IMULDIV]>]>, 5990b57cec5SDimitry Andric InstrItinData<II_MSUBU , [InstrStage<17, [IMULDIV]>]>, 6000b57cec5SDimitry Andric InstrItinData<II_MTHI_MTLO , [InstrStage<1, [IMULDIV]>]>, 6010b57cec5SDimitry Andric InstrItinData<II_MUH , [InstrStage<17, [IMULDIV]>]>, 6020b57cec5SDimitry Andric InstrItinData<II_MUHU , [InstrStage<17, [IMULDIV]>]>, 6030b57cec5SDimitry Andric InstrItinData<II_MUL , [InstrStage<17, [IMULDIV]>]>, 6040b57cec5SDimitry Andric InstrItinData<II_MULT , [InstrStage<17, [IMULDIV]>]>, 6050b57cec5SDimitry Andric InstrItinData<II_MULTU , [InstrStage<17, [IMULDIV]>]>, 6060b57cec5SDimitry Andric InstrItinData<II_MULU , [InstrStage<17, [IMULDIV]>]>, 6070b57cec5SDimitry Andric InstrItinData<II_MSUB , [InstrStage<17, [IMULDIV]>]>, 6080b57cec5SDimitry Andric InstrItinData<II_MSUBU , [InstrStage<17, [IMULDIV]>]>, 6090b57cec5SDimitry Andric InstrItinData<II_DIV , [InstrStage<38, [IMULDIV]>]>, 6100b57cec5SDimitry Andric InstrItinData<II_DIVU , [InstrStage<38, [IMULDIV]>]>, 6110b57cec5SDimitry Andric InstrItinData<II_DDIV , [InstrStage<38, [IMULDIV]>]>, 6120b57cec5SDimitry Andric InstrItinData<II_DDIVU , [InstrStage<38, [IMULDIV]>]>, 6130b57cec5SDimitry Andric InstrItinData<II_CEIL , [InstrStage<1, [ALU]>]>, 6140b57cec5SDimitry Andric InstrItinData<II_CVT , [InstrStage<1, [ALU]>]>, 6150b57cec5SDimitry Andric InstrItinData<II_ABS , [InstrStage<1, [ALU]>]>, 6160b57cec5SDimitry Andric InstrItinData<II_FLOOR , [InstrStage<1, [ALU]>]>, 6170b57cec5SDimitry Andric InstrItinData<II_NEG , [InstrStage<1, [ALU]>]>, 6180b57cec5SDimitry Andric InstrItinData<II_ROUND , [InstrStage<1, [ALU]>]>, 6190b57cec5SDimitry Andric InstrItinData<II_TRUNC , [InstrStage<1, [ALU]>]>, 6200b57cec5SDimitry Andric InstrItinData<II_MOV_D , [InstrStage<2, [ALU]>]>, 6210b57cec5SDimitry Andric InstrItinData<II_MOV_S , [InstrStage<2, [ALU]>]>, 6220b57cec5SDimitry Andric InstrItinData<II_CFC1 , [InstrStage<2, [ALU]>]>, 6230b57cec5SDimitry Andric InstrItinData<II_CTC1 , [InstrStage<2, [ALU]>]>, 6240b57cec5SDimitry Andric InstrItinData<II_CFC2 , [InstrStage<2, [ALU]>]>, 6250b57cec5SDimitry Andric InstrItinData<II_CTC2 , [InstrStage<2, [ALU]>]>, 6260b57cec5SDimitry Andric InstrItinData<II_MOVF_D , [InstrStage<2, [ALU]>]>, 6270b57cec5SDimitry Andric InstrItinData<II_MOVF_S , [InstrStage<2, [ALU]>]>, 6280b57cec5SDimitry Andric InstrItinData<II_MOVT_D , [InstrStage<2, [ALU]>]>, 6290b57cec5SDimitry Andric InstrItinData<II_MOVT_S , [InstrStage<2, [ALU]>]>, 6300b57cec5SDimitry Andric InstrItinData<II_MOVZ_D , [InstrStage<2, [ALU]>]>, 6310b57cec5SDimitry Andric InstrItinData<II_MOVZ_S , [InstrStage<2, [ALU]>]>, 6320b57cec5SDimitry Andric InstrItinData<II_C_CC_S , [InstrStage<3, [ALU]>]>, 6330b57cec5SDimitry Andric InstrItinData<II_C_CC_D , [InstrStage<3, [ALU]>]>, 6340b57cec5SDimitry Andric InstrItinData<II_CMP_CC_S , [InstrStage<3, [ALU]>]>, 6350b57cec5SDimitry Andric InstrItinData<II_CMP_CC_D , [InstrStage<3, [ALU]>]>, 6360b57cec5SDimitry Andric InstrItinData<II_ADD_D , [InstrStage<4, [ALU]>]>, 6370b57cec5SDimitry Andric InstrItinData<II_ADD_S , [InstrStage<4, [ALU]>]>, 6380b57cec5SDimitry Andric InstrItinData<II_SUB_D , [InstrStage<4, [ALU]>]>, 6390b57cec5SDimitry Andric InstrItinData<II_SUB_S , [InstrStage<4, [ALU]>]>, 6400b57cec5SDimitry Andric InstrItinData<II_MUL_S , [InstrStage<7, [ALU]>]>, 6410b57cec5SDimitry Andric InstrItinData<II_MADD_S , [InstrStage<7, [ALU]>]>, 6420b57cec5SDimitry Andric InstrItinData<II_MADDF_S , [InstrStage<7, [ALU]>]>, 6430b57cec5SDimitry Andric InstrItinData<II_MSUB_S , [InstrStage<7, [ALU]>]>, 6440b57cec5SDimitry Andric InstrItinData<II_MSUBF_S , [InstrStage<7, [ALU]>]>, 6450b57cec5SDimitry Andric InstrItinData<II_NMADD_S , [InstrStage<7, [ALU]>]>, 6460b57cec5SDimitry Andric InstrItinData<II_NMSUB_S , [InstrStage<7, [ALU]>]>, 6470b57cec5SDimitry Andric InstrItinData<II_MUL_D , [InstrStage<8, [ALU]>]>, 6480b57cec5SDimitry Andric InstrItinData<II_MADD_D , [InstrStage<8, [ALU]>]>, 6490b57cec5SDimitry Andric InstrItinData<II_MADDF_D , [InstrStage<8, [ALU]>]>, 6500b57cec5SDimitry Andric InstrItinData<II_MSUB_D , [InstrStage<8, [ALU]>]>, 6510b57cec5SDimitry Andric InstrItinData<II_MSUBF_D , [InstrStage<8, [ALU]>]>, 6520b57cec5SDimitry Andric InstrItinData<II_NMADD_D , [InstrStage<8, [ALU]>]>, 6530b57cec5SDimitry Andric InstrItinData<II_NMSUB_D , [InstrStage<8, [ALU]>]>, 6540b57cec5SDimitry Andric InstrItinData<II_DIV_S , [InstrStage<23, [ALU]>]>, 6550b57cec5SDimitry Andric InstrItinData<II_DIV_D , [InstrStage<36, [ALU]>]>, 6560b57cec5SDimitry Andric InstrItinData<II_RECIP_D , [InstrStage<25, [ALU]>]>, 6570b57cec5SDimitry Andric InstrItinData<II_RECIP_S , [InstrStage<13, [ALU]>]>, 6580b57cec5SDimitry Andric InstrItinData<II_RSQRT_D , [InstrStage<29, [ALU]>]>, 6590b57cec5SDimitry Andric InstrItinData<II_RSQRT_S , [InstrStage<14, [ALU]>]>, 6600b57cec5SDimitry Andric InstrItinData<II_RINT_D , [InstrStage<1, [ALU]>]>, 6610b57cec5SDimitry Andric InstrItinData<II_RINT_S , [InstrStage<1, [ALU]>]>, 6620b57cec5SDimitry Andric InstrItinData<II_SQRT_S , [InstrStage<54, [ALU]>]>, 6630b57cec5SDimitry Andric InstrItinData<II_SQRT_D , [InstrStage<12, [ALU]>]>, 6640b57cec5SDimitry Andric InstrItinData<II_SEL_D , [InstrStage<1, [ALU]>]>, 6650b57cec5SDimitry Andric InstrItinData<II_SEL_S , [InstrStage<1, [ALU]>]>, 6660b57cec5SDimitry Andric InstrItinData<II_WSBH , [InstrStage<1, [ALU]>]>, 6670b57cec5SDimitry Andric InstrItinData<II_LSA , [InstrStage<1, [ALU]>]>, 6680b57cec5SDimitry Andric InstrItinData<II_DLSA , [InstrStage<1, [ALU]>]>, 6690b57cec5SDimitry Andric InstrItinData<II_LDC1 , [InstrStage<3, [ALU]>]>, 6700b57cec5SDimitry Andric InstrItinData<II_LDC2 , [InstrStage<3, [ALU]>]>, 6710b57cec5SDimitry Andric InstrItinData<II_LDC3 , [InstrStage<3, [ALU]>]>, 6720b57cec5SDimitry Andric InstrItinData<II_LWC1 , [InstrStage<3, [ALU]>]>, 6730b57cec5SDimitry Andric InstrItinData<II_LWC2 , [InstrStage<3, [ALU]>]>, 6740b57cec5SDimitry Andric InstrItinData<II_LWC3 , [InstrStage<3, [ALU]>]>, 6750b57cec5SDimitry Andric InstrItinData<II_LDXC1 , [InstrStage<3, [ALU]>]>, 6760b57cec5SDimitry Andric InstrItinData<II_LWXC1 , [InstrStage<3, [ALU]>]>, 6770b57cec5SDimitry Andric InstrItinData<II_LUXC1 , [InstrStage<3, [ALU]>]>, 6780b57cec5SDimitry Andric InstrItinData<II_LWXS , [InstrStage<3, [ALU]>]>, 6790b57cec5SDimitry Andric InstrItinData<II_SDC1 , [InstrStage<1, [ALU]>]>, 6800b57cec5SDimitry Andric InstrItinData<II_SDC2 , [InstrStage<1, [ALU]>]>, 6810b57cec5SDimitry Andric InstrItinData<II_SDC3 , [InstrStage<1, [ALU]>]>, 6820b57cec5SDimitry Andric InstrItinData<II_SWC1 , [InstrStage<1, [ALU]>]>, 6830b57cec5SDimitry Andric InstrItinData<II_SWC2 , [InstrStage<1, [ALU]>]>, 6840b57cec5SDimitry Andric InstrItinData<II_SWC3 , [InstrStage<1, [ALU]>]>, 6850b57cec5SDimitry Andric InstrItinData<II_SDXC1 , [InstrStage<1, [ALU]>]>, 6860b57cec5SDimitry Andric InstrItinData<II_SWXC1 , [InstrStage<1, [ALU]>]>, 6870b57cec5SDimitry Andric InstrItinData<II_SUXC1 , [InstrStage<1, [ALU]>]>, 6880b57cec5SDimitry Andric InstrItinData<II_DMFC0 , [InstrStage<2, [ALU]>]>, 6890b57cec5SDimitry Andric InstrItinData<II_DMFC1 , [InstrStage<2, [ALU]>]>, 6900b57cec5SDimitry Andric InstrItinData<II_DMFC2 , [InstrStage<2, [ALU]>]>, 6910b57cec5SDimitry Andric InstrItinData<II_DMTC0 , [InstrStage<2, [ALU]>]>, 6920b57cec5SDimitry Andric InstrItinData<II_DMTC1 , [InstrStage<2, [ALU]>]>, 6930b57cec5SDimitry Andric InstrItinData<II_DMTC2 , [InstrStage<2, [ALU]>]>, 6940b57cec5SDimitry Andric InstrItinData<II_MFC0 , [InstrStage<2, [ALU]>]>, 6950b57cec5SDimitry Andric InstrItinData<II_MFHC0 , [InstrStage<2, [ALU]>]>, 6960b57cec5SDimitry Andric InstrItinData<II_MFC1 , [InstrStage<2, [ALU]>]>, 6970b57cec5SDimitry Andric InstrItinData<II_MFC2 , [InstrStage<2, [ALU]>]>, 6980b57cec5SDimitry Andric InstrItinData<II_MFTR , [InstrStage<2, [ALU]>]>, 6990b57cec5SDimitry Andric InstrItinData<II_MTC0 , [InstrStage<2, [ALU]>]>, 7000b57cec5SDimitry Andric InstrItinData<II_MTHC0 , [InstrStage<2, [ALU]>]>, 7010b57cec5SDimitry Andric InstrItinData<II_MTC1 , [InstrStage<2, [ALU]>]>, 7020b57cec5SDimitry Andric InstrItinData<II_MTC2 , [InstrStage<2, [ALU]>]>, 7030b57cec5SDimitry Andric InstrItinData<II_MFHC1 , [InstrStage<2, [ALU]>]>, 7040b57cec5SDimitry Andric InstrItinData<II_MTHC1 , [InstrStage<2, [ALU]>]>, 7050b57cec5SDimitry Andric InstrItinData<II_MTTR , [InstrStage<2, [ALU]>]>, 7060b57cec5SDimitry Andric InstrItinData<II_CACHE , [InstrStage<1, [ALU]>]>, 7070b57cec5SDimitry Andric InstrItinData<II_PREF , [InstrStage<1, [ALU]>]>, 7080b57cec5SDimitry Andric InstrItinData<II_CACHEE , [InstrStage<1, [ALU]>]>, 7090b57cec5SDimitry Andric InstrItinData<II_PREFE , [InstrStage<1, [ALU]>]>, 7100b57cec5SDimitry Andric InstrItinData<II_TLBINV , [InstrStage<1, [ALU]>]>, 7110b57cec5SDimitry Andric InstrItinData<II_TLBINVF , [InstrStage<1, [ALU]>]>, 7120b57cec5SDimitry Andric InstrItinData<II_LLE , [InstrStage<3, [ALU]>]>, 7130b57cec5SDimitry Andric InstrItinData<II_SCE , [InstrStage<1, [ALU]>]>, 7140b57cec5SDimitry Andric InstrItinData<II_WRPGPR , [InstrStage<1, [ALU]>]>, 7150b57cec5SDimitry Andric InstrItinData<II_RDPGPR , [InstrStage<1, [ALU]>]>, 7160b57cec5SDimitry Andric InstrItinData<II_DVP , [InstrStage<1, [ALU]>]>, 7170b57cec5SDimitry Andric InstrItinData<II_EVP , [InstrStage<1, [ALU]>]>, 7180b57cec5SDimitry Andric InstrItinData<II_YIELD , [InstrStage<5, [ALU]>]>, 7190b57cec5SDimitry Andric InstrItinData<II_CRC32B , [InstrStage<1, [ALU]>]>, 7200b57cec5SDimitry Andric InstrItinData<II_CRC32H , [InstrStage<1, [ALU]>]>, 7210b57cec5SDimitry Andric InstrItinData<II_CRC32W , [InstrStage<1, [ALU]>]>, 7220b57cec5SDimitry Andric InstrItinData<II_CRC32D , [InstrStage<1, [ALU]>]>, 7230b57cec5SDimitry Andric InstrItinData<II_CRC32CB , [InstrStage<1, [ALU]>]>, 7240b57cec5SDimitry Andric InstrItinData<II_CRC32CH , [InstrStage<1, [ALU]>]>, 7250b57cec5SDimitry Andric InstrItinData<II_CRC32CW , [InstrStage<1, [ALU]>]>, 7260b57cec5SDimitry Andric InstrItinData<II_CRC32CD , [InstrStage<1, [ALU]>]>, 7270b57cec5SDimitry Andric InstrItinData<II_MFGC0 , [InstrStage<2, [ALU]>]>, 7280b57cec5SDimitry Andric InstrItinData<II_MTGC0 , [InstrStage<2, [ALU]>]>, 7290b57cec5SDimitry Andric InstrItinData<II_MFHGC0 , [InstrStage<2, [ALU]>]>, 7300b57cec5SDimitry Andric InstrItinData<II_MTHGC0 , [InstrStage<2, [ALU]>]>, 7310b57cec5SDimitry Andric InstrItinData<II_HYPCALL , [InstrStage<2, [ALU]>]>, 7320b57cec5SDimitry Andric InstrItinData<II_TLBGINV , [InstrStage<2, [ALU]>]>, 7330b57cec5SDimitry Andric InstrItinData<II_TLBGINVF , [InstrStage<2, [ALU]>]>, 7340b57cec5SDimitry Andric InstrItinData<II_TLBGP , [InstrStage<2, [ALU]>]>, 7350b57cec5SDimitry Andric InstrItinData<II_TLBGR , [InstrStage<2, [ALU]>]>, 7360b57cec5SDimitry Andric InstrItinData<II_TLBWI , [InstrStage<2, [ALU]>]>, 7370b57cec5SDimitry Andric InstrItinData<II_TLBWR , [InstrStage<2, [ALU]>]>, 7380b57cec5SDimitry Andric InstrItinData<II_DMFGC0 , [InstrStage<2, [ALU]>]>, 7390b57cec5SDimitry Andric InstrItinData<II_DMTGC0 , [InstrStage<2, [ALU]>]>, 7400b57cec5SDimitry Andric InstrItinData<II_GINVI , [InstrStage<1, [ALU]>]>, 7410b57cec5SDimitry Andric InstrItinData<II_GINVT , [InstrStage<1, [ALU]>]> 7420b57cec5SDimitry Andric]>; 743