106f32e7eSjoerg//===-- MipsSchedule.td - Mips Scheduling Definitions ------*- tablegen -*-===// 206f32e7eSjoerg// 306f32e7eSjoerg// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 406f32e7eSjoerg// See https://llvm.org/LICENSE.txt for license information. 506f32e7eSjoerg// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 606f32e7eSjoerg// 706f32e7eSjoerg//===----------------------------------------------------------------------===// 806f32e7eSjoerg 906f32e7eSjoerg//===----------------------------------------------------------------------===// 1006f32e7eSjoerg// Functional units across Mips chips sets. Based on GCC/Mips backend files. 1106f32e7eSjoerg//===----------------------------------------------------------------------===// 1206f32e7eSjoergdef ALU : FuncUnit; 1306f32e7eSjoergdef IMULDIV : FuncUnit; 1406f32e7eSjoerg 1506f32e7eSjoerg//===----------------------------------------------------------------------===// 1606f32e7eSjoerg// Instruction Itinerary classes used for Mips 1706f32e7eSjoerg//===----------------------------------------------------------------------===// 1806f32e7eSjoerg// IIM16Alu is a placeholder class for most MIPS16 instructions. 1906f32e7eSjoergdef IIM16Alu : InstrItinClass; 2006f32e7eSjoergdef IIPseudo : InstrItinClass; 2106f32e7eSjoerg 2206f32e7eSjoergdef II_ABS : InstrItinClass; 2306f32e7eSjoergdef II_ADDI : InstrItinClass; 2406f32e7eSjoergdef II_ADDIU : InstrItinClass; 2506f32e7eSjoergdef II_ADDIUPC : InstrItinClass; 2606f32e7eSjoergdef II_ADD : InstrItinClass; 2706f32e7eSjoergdef II_ADDU : InstrItinClass; 2806f32e7eSjoergdef II_ADD_D : InstrItinClass; 29*da58b97aSjoergdef II_ADD_PS : InstrItinClass; 3006f32e7eSjoergdef II_ADD_S : InstrItinClass; 31*da58b97aSjoergdef II_ADDR_PS : InstrItinClass; 3206f32e7eSjoergdef II_ALIGN : InstrItinClass; 3306f32e7eSjoergdef II_AND : InstrItinClass; 3406f32e7eSjoergdef II_ANDI : InstrItinClass; 3506f32e7eSjoergdef II_ALUIPC : InstrItinClass; 3606f32e7eSjoergdef II_AUI : InstrItinClass; 3706f32e7eSjoergdef II_AUIPC : InstrItinClass; 3806f32e7eSjoergdef II_B : InstrItinClass; 3906f32e7eSjoergdef II_BADDU : InstrItinClass; 4006f32e7eSjoergdef II_BBIT : InstrItinClass; // bbit[01], bbit[01]32 4106f32e7eSjoergdef II_BALC : InstrItinClass; 4206f32e7eSjoergdef II_BC : InstrItinClass; 4306f32e7eSjoergdef II_BC1F : InstrItinClass; 4406f32e7eSjoergdef II_BC1FL : InstrItinClass; 4506f32e7eSjoergdef II_BC1T : InstrItinClass; 4606f32e7eSjoergdef II_BC1TL : InstrItinClass; 4706f32e7eSjoergdef II_BC1CCZ : InstrItinClass; 4806f32e7eSjoergdef II_BC2CCZ : InstrItinClass; 4906f32e7eSjoergdef II_BCC : InstrItinClass; // beq and bne 5006f32e7eSjoergdef II_BCCZ : InstrItinClass; // b[gl][et]z 5106f32e7eSjoergdef II_BCCC : InstrItinClass; // b<cc>c 5206f32e7eSjoergdef II_BCCZAL : InstrItinClass; // bgezal and bltzal 5306f32e7eSjoergdef II_BCCZALS : InstrItinClass; // bgezals and bltzals 5406f32e7eSjoergdef II_BCCZC : InstrItinClass; // beqzc, bnezc 5506f32e7eSjoergdef II_BITSWAP : InstrItinClass; 5606f32e7eSjoergdef II_CEIL : InstrItinClass; 5706f32e7eSjoergdef II_CFC1 : InstrItinClass; 5806f32e7eSjoergdef II_CFC2 : InstrItinClass; 5906f32e7eSjoergdef II_CLO : InstrItinClass; 6006f32e7eSjoergdef II_CLZ : InstrItinClass; 6106f32e7eSjoergdef II_CRC32B : InstrItinClass; 6206f32e7eSjoergdef II_CRC32CB : InstrItinClass; 6306f32e7eSjoergdef II_CRC32CD : InstrItinClass; 6406f32e7eSjoergdef II_CRC32CH : InstrItinClass; 6506f32e7eSjoergdef II_CRC32CW : InstrItinClass; 6606f32e7eSjoergdef II_CRC32D : InstrItinClass; 6706f32e7eSjoergdef II_CRC32H : InstrItinClass; 6806f32e7eSjoergdef II_CRC32W : InstrItinClass; 6906f32e7eSjoergdef II_CTC1 : InstrItinClass; 7006f32e7eSjoergdef II_CTC2 : InstrItinClass; 7106f32e7eSjoergdef II_CVT : InstrItinClass; 7206f32e7eSjoergdef II_C_CC_D : InstrItinClass; // Any c.<cc>.d instruction 7306f32e7eSjoergdef II_C_CC_S : InstrItinClass; // Any c.<cc>.s instruction 7406f32e7eSjoergdef II_CMP_CC_D : InstrItinClass; // Any cmp.<cc>.d instruction 7506f32e7eSjoergdef II_CMP_CC_S : InstrItinClass; // Any cmp.<cc>.s instruction 7606f32e7eSjoergdef II_CLASS_D : InstrItinClass; 7706f32e7eSjoergdef II_CLASS_S : InstrItinClass; 7806f32e7eSjoergdef II_DADDIU : InstrItinClass; 7906f32e7eSjoergdef II_DADDU : InstrItinClass; 8006f32e7eSjoergdef II_DADDI : InstrItinClass; 8106f32e7eSjoergdef II_DADD : InstrItinClass; 8206f32e7eSjoergdef II_DAHI : InstrItinClass; 8306f32e7eSjoergdef II_DATI : InstrItinClass; 8406f32e7eSjoergdef II_DAUI : InstrItinClass; 8506f32e7eSjoergdef II_DALIGN : InstrItinClass; 8606f32e7eSjoergdef II_DBITSWAP : InstrItinClass; 8706f32e7eSjoergdef II_DCLO : InstrItinClass; 8806f32e7eSjoergdef II_DCLZ : InstrItinClass; 8906f32e7eSjoergdef II_DDIV : InstrItinClass; 9006f32e7eSjoergdef II_DDIVU : InstrItinClass; 9106f32e7eSjoergdef II_DIV : InstrItinClass; 9206f32e7eSjoergdef II_DIVU : InstrItinClass; 9306f32e7eSjoergdef II_DIV_D : InstrItinClass; 9406f32e7eSjoergdef II_DIV_S : InstrItinClass; 9506f32e7eSjoergdef II_DMFC0 : InstrItinClass; 9606f32e7eSjoergdef II_DMFGC0 : InstrItinClass; 9706f32e7eSjoergdef II_DMT : InstrItinClass; 9806f32e7eSjoergdef II_DMTC0 : InstrItinClass; 9906f32e7eSjoergdef II_DMTGC0 : InstrItinClass; 10006f32e7eSjoergdef II_DMFC1 : InstrItinClass; 10106f32e7eSjoergdef II_DMTC1 : InstrItinClass; 10206f32e7eSjoergdef II_DMOD : InstrItinClass; 10306f32e7eSjoergdef II_DMODU : InstrItinClass; 10406f32e7eSjoergdef II_DMUH : InstrItinClass; 10506f32e7eSjoergdef II_DMUHU : InstrItinClass; 10606f32e7eSjoergdef II_DMFC2 : InstrItinClass; 10706f32e7eSjoergdef II_DMTC2 : InstrItinClass; 10806f32e7eSjoergdef II_DMUL : InstrItinClass; 10906f32e7eSjoergdef II_DMULU : InstrItinClass; 11006f32e7eSjoergdef II_DMULT : InstrItinClass; 11106f32e7eSjoergdef II_DMULTU : InstrItinClass; 11206f32e7eSjoergdef II_DROTR : InstrItinClass; 11306f32e7eSjoergdef II_DROTR32 : InstrItinClass; 11406f32e7eSjoergdef II_DROTRV : InstrItinClass; 11506f32e7eSjoergdef II_DSLL : InstrItinClass; 11606f32e7eSjoergdef II_DSLL32 : InstrItinClass; 11706f32e7eSjoergdef II_DSLLV : InstrItinClass; 11806f32e7eSjoergdef II_DSRA : InstrItinClass; 11906f32e7eSjoergdef II_DSRA32 : InstrItinClass; 12006f32e7eSjoergdef II_DSRAV : InstrItinClass; 12106f32e7eSjoergdef II_DSRL : InstrItinClass; 12206f32e7eSjoergdef II_DSRL32 : InstrItinClass; 12306f32e7eSjoergdef II_DSRLV : InstrItinClass; 12406f32e7eSjoergdef II_DSBH : InstrItinClass; 12506f32e7eSjoergdef II_DSHD : InstrItinClass; 12606f32e7eSjoergdef II_DSUBU : InstrItinClass; 12706f32e7eSjoergdef II_DSUB : InstrItinClass; 12806f32e7eSjoergdef II_DVPE : InstrItinClass; 12906f32e7eSjoergdef II_EMT : InstrItinClass; 13006f32e7eSjoergdef II_EVPE : InstrItinClass; 13106f32e7eSjoergdef II_EXT : InstrItinClass; // Any EXT instruction 13206f32e7eSjoergdef II_FLOOR : InstrItinClass; 13306f32e7eSjoergdef II_FORK : InstrItinClass; 13406f32e7eSjoergdef II_GINVI : InstrItinClass; 13506f32e7eSjoergdef II_GINVT : InstrItinClass; 13606f32e7eSjoergdef II_HYPCALL : InstrItinClass; 13706f32e7eSjoergdef II_INS : InstrItinClass; // Any INS instruction 13806f32e7eSjoergdef II_IndirectBranchPseudo : InstrItinClass; // Indirect branch pseudo. 13906f32e7eSjoergdef II_J : InstrItinClass; 14006f32e7eSjoergdef II_JAL : InstrItinClass; 14106f32e7eSjoergdef II_JALR : InstrItinClass; 14206f32e7eSjoergdef II_JALR_HB : InstrItinClass; 14306f32e7eSjoergdef II_JALRC : InstrItinClass; 14406f32e7eSjoergdef II_JALRS : InstrItinClass; 14506f32e7eSjoergdef II_JALS : InstrItinClass; 14606f32e7eSjoergdef II_JIC : InstrItinClass; 14706f32e7eSjoergdef II_JIALC : InstrItinClass; 14806f32e7eSjoergdef II_JR : InstrItinClass; 14906f32e7eSjoergdef II_JR_HB : InstrItinClass; 15006f32e7eSjoergdef II_JRADDIUSP : InstrItinClass; 15106f32e7eSjoergdef II_JRC : InstrItinClass; 15206f32e7eSjoergdef II_ReturnPseudo : InstrItinClass; // Return pseudo. 15306f32e7eSjoergdef II_ERET : InstrItinClass; 15406f32e7eSjoergdef II_DERET : InstrItinClass; 15506f32e7eSjoergdef II_ERETNC : InstrItinClass; 15606f32e7eSjoergdef II_EHB : InstrItinClass; 15706f32e7eSjoergdef II_SDBBP : InstrItinClass; 15806f32e7eSjoergdef II_SIGRIE : InstrItinClass; 15906f32e7eSjoergdef II_SSNOP : InstrItinClass; 16006f32e7eSjoergdef II_SYSCALL : InstrItinClass; 16106f32e7eSjoergdef II_PAUSE : InstrItinClass; 16206f32e7eSjoergdef II_WAIT : InstrItinClass; 16306f32e7eSjoergdef II_EI : InstrItinClass; 16406f32e7eSjoergdef II_DI : InstrItinClass; 16506f32e7eSjoergdef II_TEQ : InstrItinClass; 16606f32e7eSjoergdef II_TEQI : InstrItinClass; 16706f32e7eSjoergdef II_TGE : InstrItinClass; 16806f32e7eSjoergdef II_TGEI : InstrItinClass; 16906f32e7eSjoergdef II_TGEIU : InstrItinClass; 17006f32e7eSjoergdef II_TGEU : InstrItinClass; 17106f32e7eSjoergdef II_TNE : InstrItinClass; 17206f32e7eSjoergdef II_TNEI : InstrItinClass; 17306f32e7eSjoergdef II_TLT : InstrItinClass; 17406f32e7eSjoergdef II_TLTI : InstrItinClass; 17506f32e7eSjoergdef II_TLTU : InstrItinClass; 17606f32e7eSjoergdef II_TTLTIU : InstrItinClass; 17706f32e7eSjoergdef II_TLBP : InstrItinClass; 17806f32e7eSjoergdef II_TLBR : InstrItinClass; 17906f32e7eSjoergdef II_TLBWI : InstrItinClass; 18006f32e7eSjoergdef II_TLBWR : InstrItinClass; 18106f32e7eSjoergdef II_TRAP : InstrItinClass; 18206f32e7eSjoergdef II_BREAK : InstrItinClass; 18306f32e7eSjoergdef II_SYNC : InstrItinClass; 18406f32e7eSjoergdef II_SYNCI : InstrItinClass; 18506f32e7eSjoergdef II_LB : InstrItinClass; 18606f32e7eSjoergdef II_LBE : InstrItinClass; 18706f32e7eSjoergdef II_LBU : InstrItinClass; 18806f32e7eSjoergdef II_LBUE : InstrItinClass; 18906f32e7eSjoergdef II_LD : InstrItinClass; 19006f32e7eSjoergdef II_LDC1 : InstrItinClass; 19106f32e7eSjoergdef II_LDC2 : InstrItinClass; 19206f32e7eSjoergdef II_LDC3 : InstrItinClass; 19306f32e7eSjoergdef II_LDL : InstrItinClass; 19406f32e7eSjoergdef II_LDR : InstrItinClass; 19506f32e7eSjoergdef II_LDPC : InstrItinClass; 19606f32e7eSjoergdef II_LDXC1 : InstrItinClass; 19706f32e7eSjoergdef II_LH : InstrItinClass; 19806f32e7eSjoergdef II_LHE : InstrItinClass; 19906f32e7eSjoergdef II_LHU : InstrItinClass; 20006f32e7eSjoergdef II_LHUE : InstrItinClass; 20106f32e7eSjoergdef II_LL : InstrItinClass; 20206f32e7eSjoergdef II_LI : InstrItinClass; 20306f32e7eSjoergdef II_LLD : InstrItinClass; 20406f32e7eSjoergdef II_LUI : InstrItinClass; 20506f32e7eSjoergdef II_LUXC1 : InstrItinClass; 20606f32e7eSjoergdef II_LW : InstrItinClass; 20706f32e7eSjoergdef II_LWE : InstrItinClass; 20806f32e7eSjoergdef II_LWC1 : InstrItinClass; 20906f32e7eSjoergdef II_LWC2 : InstrItinClass; 21006f32e7eSjoergdef II_LWC3 : InstrItinClass; 21106f32e7eSjoergdef II_LWM : InstrItinClass; 21206f32e7eSjoergdef II_LWL : InstrItinClass; 21306f32e7eSjoergdef II_LWLE : InstrItinClass; 21406f32e7eSjoergdef II_LWPC : InstrItinClass; 21506f32e7eSjoergdef II_LWP : InstrItinClass; 21606f32e7eSjoergdef II_LWR : InstrItinClass; 21706f32e7eSjoergdef II_LWRE : InstrItinClass; 21806f32e7eSjoergdef II_LWU : InstrItinClass; 21906f32e7eSjoergdef II_LWUPC : InstrItinClass; 22006f32e7eSjoergdef II_LWXC1 : InstrItinClass; 22106f32e7eSjoergdef II_LWXS : InstrItinClass; 22206f32e7eSjoergdef II_LSA : InstrItinClass; 22306f32e7eSjoergdef II_DLSA : InstrItinClass; 22406f32e7eSjoergdef II_MADD : InstrItinClass; 22506f32e7eSjoergdef II_MADDU : InstrItinClass; 22606f32e7eSjoergdef II_MADD_D : InstrItinClass; 22706f32e7eSjoergdef II_MADD_S : InstrItinClass; 22806f32e7eSjoergdef II_MADDF_D : InstrItinClass; 22906f32e7eSjoergdef II_MADDF_S : InstrItinClass; 23006f32e7eSjoergdef II_MAX_D : InstrItinClass; 23106f32e7eSjoergdef II_MAX_S : InstrItinClass; 23206f32e7eSjoergdef II_MAXA_D : InstrItinClass; 23306f32e7eSjoergdef II_MAXA_S : InstrItinClass; 23406f32e7eSjoergdef II_MIN_D : InstrItinClass; 23506f32e7eSjoergdef II_MIN_S : InstrItinClass; 23606f32e7eSjoergdef II_MINA_D : InstrItinClass; 23706f32e7eSjoergdef II_MINA_S : InstrItinClass; 23806f32e7eSjoergdef II_MFC0 : InstrItinClass; 23906f32e7eSjoergdef II_MFHC0 : InstrItinClass; 24006f32e7eSjoergdef II_MFC1 : InstrItinClass; 24106f32e7eSjoergdef II_MFHC1 : InstrItinClass; 24206f32e7eSjoergdef II_MFC2 : InstrItinClass; 24306f32e7eSjoergdef II_MFGC0 : InstrItinClass; 24406f32e7eSjoergdef II_MFHGC0 : InstrItinClass; 24506f32e7eSjoergdef II_MFHI_MFLO : InstrItinClass; // mfhi and mflo 24606f32e7eSjoergdef II_MFTR : InstrItinClass; 24706f32e7eSjoergdef II_MOD : InstrItinClass; 24806f32e7eSjoergdef II_MODU : InstrItinClass; 24906f32e7eSjoergdef II_MOVE : InstrItinClass; 25006f32e7eSjoergdef II_MOVF : InstrItinClass; 25106f32e7eSjoergdef II_MOVF_D : InstrItinClass; 25206f32e7eSjoergdef II_MOVF_S : InstrItinClass; 25306f32e7eSjoergdef II_MOVN : InstrItinClass; 25406f32e7eSjoergdef II_MOVN_D : InstrItinClass; 25506f32e7eSjoergdef II_MOVN_S : InstrItinClass; 25606f32e7eSjoergdef II_MOVT : InstrItinClass; 25706f32e7eSjoergdef II_MOVT_D : InstrItinClass; 25806f32e7eSjoergdef II_MOVT_S : InstrItinClass; 25906f32e7eSjoergdef II_MOVZ : InstrItinClass; 26006f32e7eSjoergdef II_MOVZ_D : InstrItinClass; 26106f32e7eSjoergdef II_MOVZ_S : InstrItinClass; 26206f32e7eSjoergdef II_MOV_D : InstrItinClass; 26306f32e7eSjoergdef II_MOV_S : InstrItinClass; 26406f32e7eSjoergdef II_MSUB : InstrItinClass; 26506f32e7eSjoergdef II_MSUBU : InstrItinClass; 26606f32e7eSjoergdef II_MSUB_D : InstrItinClass; 26706f32e7eSjoergdef II_MSUB_S : InstrItinClass; 26806f32e7eSjoergdef II_MSUBF_D : InstrItinClass; 26906f32e7eSjoergdef II_MSUBF_S : InstrItinClass; 27006f32e7eSjoergdef II_MTC0 : InstrItinClass; 27106f32e7eSjoergdef II_MTHC0 : InstrItinClass; 27206f32e7eSjoergdef II_MTC1 : InstrItinClass; 27306f32e7eSjoergdef II_MTHC1 : InstrItinClass; 27406f32e7eSjoergdef II_MTC2 : InstrItinClass; 27506f32e7eSjoergdef II_MTGC0 : InstrItinClass; 27606f32e7eSjoergdef II_MTHGC0 : InstrItinClass; 27706f32e7eSjoergdef II_MTHI_MTLO : InstrItinClass; // mthi and mtlo 27806f32e7eSjoergdef II_MTTR : InstrItinClass; 27906f32e7eSjoergdef II_MUL : InstrItinClass; 28006f32e7eSjoergdef II_MUH : InstrItinClass; 28106f32e7eSjoergdef II_MUHU : InstrItinClass; 28206f32e7eSjoergdef II_MULU : InstrItinClass; 283*da58b97aSjoergdef II_MUL_PS : InstrItinClass; 284*da58b97aSjoergdef II_MULR_PS : InstrItinClass; 28506f32e7eSjoergdef II_MULT : InstrItinClass; 28606f32e7eSjoergdef II_MULTU : InstrItinClass; 28706f32e7eSjoergdef II_MUL_D : InstrItinClass; 28806f32e7eSjoergdef II_MUL_S : InstrItinClass; 28906f32e7eSjoergdef II_NEG : InstrItinClass; 29006f32e7eSjoergdef II_NMADD_D : InstrItinClass; 29106f32e7eSjoergdef II_NMADD_S : InstrItinClass; 29206f32e7eSjoergdef II_NMSUB_D : InstrItinClass; 29306f32e7eSjoergdef II_NMSUB_S : InstrItinClass; 29406f32e7eSjoergdef II_NOR : InstrItinClass; 29506f32e7eSjoergdef II_NOT : InstrItinClass; 29606f32e7eSjoergdef II_OR : InstrItinClass; 29706f32e7eSjoergdef II_ORI : InstrItinClass; 29806f32e7eSjoergdef II_POP : InstrItinClass; 29906f32e7eSjoergdef II_RDHWR : InstrItinClass; 30006f32e7eSjoergdef II_RESTORE : InstrItinClass; 30106f32e7eSjoergdef II_RECIP_S : InstrItinClass; 30206f32e7eSjoergdef II_RECIP_D : InstrItinClass; 30306f32e7eSjoergdef II_RINT_S : InstrItinClass; 30406f32e7eSjoergdef II_RINT_D : InstrItinClass; 30506f32e7eSjoergdef II_ROTR : InstrItinClass; 30606f32e7eSjoergdef II_ROTRV : InstrItinClass; 30706f32e7eSjoergdef II_ROUND : InstrItinClass; 30806f32e7eSjoergdef II_RSQRT_S : InstrItinClass; 30906f32e7eSjoergdef II_RSQRT_D : InstrItinClass; 31006f32e7eSjoergdef II_SAVE : InstrItinClass; 31106f32e7eSjoergdef II_SC : InstrItinClass; 31206f32e7eSjoergdef II_SCD : InstrItinClass; 31306f32e7eSjoergdef II_SB : InstrItinClass; 31406f32e7eSjoergdef II_SBE : InstrItinClass; 31506f32e7eSjoergdef II_SD : InstrItinClass; 31606f32e7eSjoergdef II_SDC1 : InstrItinClass; 31706f32e7eSjoergdef II_SDC2 : InstrItinClass; 31806f32e7eSjoergdef II_SDC3 : InstrItinClass; 31906f32e7eSjoergdef II_SDL : InstrItinClass; 32006f32e7eSjoergdef II_SDR : InstrItinClass; 32106f32e7eSjoergdef II_SDXC1 : InstrItinClass; 32206f32e7eSjoergdef II_SEB : InstrItinClass; 32306f32e7eSjoergdef II_SEH : InstrItinClass; 32406f32e7eSjoergdef II_SELCCZ : InstrItinClass; 32506f32e7eSjoergdef II_SELCCZ_D : InstrItinClass; 32606f32e7eSjoergdef II_SELCCZ_S : InstrItinClass; 32706f32e7eSjoergdef II_SEQ_SNE : InstrItinClass; // seq and sne 32806f32e7eSjoergdef II_SEQI_SNEI : InstrItinClass; // seqi and snei 32906f32e7eSjoergdef II_SH : InstrItinClass; 33006f32e7eSjoergdef II_SHE : InstrItinClass; 33106f32e7eSjoergdef II_SLL : InstrItinClass; 33206f32e7eSjoergdef II_SLLV : InstrItinClass; 33306f32e7eSjoergdef II_SLTI_SLTIU : InstrItinClass; // slti and sltiu 33406f32e7eSjoergdef II_SLT_SLTU : InstrItinClass; // slt and sltu 33506f32e7eSjoergdef II_SQRT_D : InstrItinClass; 33606f32e7eSjoergdef II_SQRT_S : InstrItinClass; 33706f32e7eSjoergdef II_SEL_D : InstrItinClass; 33806f32e7eSjoergdef II_SEL_S : InstrItinClass; 33906f32e7eSjoergdef II_SRA : InstrItinClass; 34006f32e7eSjoergdef II_SRAV : InstrItinClass; 34106f32e7eSjoergdef II_SRL : InstrItinClass; 34206f32e7eSjoergdef II_SRLV : InstrItinClass; 34306f32e7eSjoergdef II_SUB : InstrItinClass; 34406f32e7eSjoergdef II_SUBU : InstrItinClass; 34506f32e7eSjoergdef II_SUB_D : InstrItinClass; 346*da58b97aSjoergdef II_SUB_PS : InstrItinClass; 34706f32e7eSjoergdef II_SUB_S : InstrItinClass; 34806f32e7eSjoergdef II_SUXC1 : InstrItinClass; 34906f32e7eSjoergdef II_SW : InstrItinClass; 35006f32e7eSjoergdef II_SWE : InstrItinClass; 35106f32e7eSjoergdef II_SWC1 : InstrItinClass; 35206f32e7eSjoergdef II_SWC2 : InstrItinClass; 35306f32e7eSjoergdef II_SWC3 : InstrItinClass; 35406f32e7eSjoergdef II_SWL : InstrItinClass; 35506f32e7eSjoergdef II_SWLE : InstrItinClass; 35606f32e7eSjoergdef II_SWM : InstrItinClass; 35706f32e7eSjoergdef II_SWP : InstrItinClass; 35806f32e7eSjoergdef II_SWR : InstrItinClass; 35906f32e7eSjoergdef II_SWRE : InstrItinClass; 36006f32e7eSjoergdef II_SWXC1 : InstrItinClass; 36106f32e7eSjoergdef II_TRUNC : InstrItinClass; 36206f32e7eSjoergdef II_WSBH : InstrItinClass; 36306f32e7eSjoergdef II_XOR : InstrItinClass; 36406f32e7eSjoergdef II_XORI : InstrItinClass; 36506f32e7eSjoergdef II_CACHE : InstrItinClass; 36606f32e7eSjoergdef II_PREF : InstrItinClass; 36706f32e7eSjoergdef II_CACHEE : InstrItinClass; 36806f32e7eSjoergdef II_PREFE : InstrItinClass; 36906f32e7eSjoergdef II_LLE : InstrItinClass; 37006f32e7eSjoergdef II_SCE : InstrItinClass; 37106f32e7eSjoergdef II_TLBGINV : InstrItinClass; 37206f32e7eSjoergdef II_TLBGINVF : InstrItinClass; 37306f32e7eSjoergdef II_TLBGP : InstrItinClass; 37406f32e7eSjoergdef II_TLBGR : InstrItinClass; 37506f32e7eSjoergdef II_TLBGWI : InstrItinClass; 37606f32e7eSjoergdef II_TLBGWR : InstrItinClass; 37706f32e7eSjoergdef II_TLBINV : InstrItinClass; 37806f32e7eSjoergdef II_TLBINVF : InstrItinClass; 37906f32e7eSjoergdef II_WRPGPR : InstrItinClass; 38006f32e7eSjoergdef II_RDPGPR : InstrItinClass; 38106f32e7eSjoergdef II_DVP : InstrItinClass; 38206f32e7eSjoergdef II_EVP : InstrItinClass; 38306f32e7eSjoergdef II_YIELD : InstrItinClass; 38406f32e7eSjoerg 38506f32e7eSjoerg//===----------------------------------------------------------------------===// 38606f32e7eSjoerg// Mips Generic instruction itineraries. 38706f32e7eSjoerg//===----------------------------------------------------------------------===// 38806f32e7eSjoergdef MipsGenericItineraries : ProcessorItineraries<[ALU, IMULDIV], [], [ 38906f32e7eSjoerg InstrItinData<IIM16Alu , [InstrStage<1, [ALU]>]>, 39006f32e7eSjoerg InstrItinData<II_ADDI , [InstrStage<1, [ALU]>]>, 39106f32e7eSjoerg InstrItinData<II_ADDIU , [InstrStage<1, [ALU]>]>, 39206f32e7eSjoerg InstrItinData<II_ADDIUPC , [InstrStage<1, [ALU]>]>, 39306f32e7eSjoerg InstrItinData<II_ADD , [InstrStage<1, [ALU]>]>, 39406f32e7eSjoerg InstrItinData<II_ADDU , [InstrStage<1, [ALU]>]>, 39506f32e7eSjoerg InstrItinData<II_AUI , [InstrStage<1, [ALU]>]>, 39606f32e7eSjoerg InstrItinData<II_AND , [InstrStage<1, [ALU]>]>, 39706f32e7eSjoerg InstrItinData<II_ALUIPC , [InstrStage<1, [ALU]>]>, 39806f32e7eSjoerg InstrItinData<II_AUIPC , [InstrStage<1, [ALU]>]>, 39906f32e7eSjoerg InstrItinData<II_ALIGN , [InstrStage<1, [ALU]>]>, 40006f32e7eSjoerg InstrItinData<II_BADDU , [InstrStage<1, [ALU]>]>, 40106f32e7eSjoerg InstrItinData<II_BITSWAP , [InstrStage<1, [ALU]>]>, 40206f32e7eSjoerg InstrItinData<II_SLL , [InstrStage<1, [ALU]>]>, 40306f32e7eSjoerg InstrItinData<II_SRA , [InstrStage<1, [ALU]>]>, 40406f32e7eSjoerg InstrItinData<II_SRL , [InstrStage<1, [ALU]>]>, 40506f32e7eSjoerg InstrItinData<II_ROTR , [InstrStage<1, [ALU]>]>, 40606f32e7eSjoerg InstrItinData<II_SLLV , [InstrStage<1, [ALU]>]>, 40706f32e7eSjoerg InstrItinData<II_SRAV , [InstrStage<1, [ALU]>]>, 40806f32e7eSjoerg InstrItinData<II_SRLV , [InstrStage<1, [ALU]>]>, 40906f32e7eSjoerg InstrItinData<II_ROTRV , [InstrStage<1, [ALU]>]>, 41006f32e7eSjoerg InstrItinData<II_CLO , [InstrStage<1, [ALU]>]>, 41106f32e7eSjoerg InstrItinData<II_CLZ , [InstrStage<1, [ALU]>]>, 41206f32e7eSjoerg InstrItinData<II_DADDIU , [InstrStage<1, [ALU]>]>, 41306f32e7eSjoerg InstrItinData<II_DADDU , [InstrStage<1, [ALU]>]>, 41406f32e7eSjoerg InstrItinData<II_DADDI , [InstrStage<1, [ALU]>]>, 41506f32e7eSjoerg InstrItinData<II_DADD , [InstrStage<1, [ALU]>]>, 41606f32e7eSjoerg InstrItinData<II_DALIGN , [InstrStage<1, [ALU]>]>, 41706f32e7eSjoerg InstrItinData<II_DAHI , [InstrStage<1, [ALU]>]>, 41806f32e7eSjoerg InstrItinData<II_DATI , [InstrStage<1, [ALU]>]>, 41906f32e7eSjoerg InstrItinData<II_DAUI , [InstrStage<1, [ALU]>]>, 42006f32e7eSjoerg InstrItinData<II_DBITSWAP , [InstrStage<1, [ALU]>]>, 42106f32e7eSjoerg InstrItinData<II_DCLO , [InstrStage<1, [ALU]>]>, 42206f32e7eSjoerg InstrItinData<II_DCLZ , [InstrStage<1, [ALU]>]>, 42306f32e7eSjoerg InstrItinData<II_DMOD , [InstrStage<17, [IMULDIV]>]>, 42406f32e7eSjoerg InstrItinData<II_DMODU , [InstrStage<17, [IMULDIV]>]>, 42506f32e7eSjoerg InstrItinData<II_DMT , [InstrStage<2, [ALU]>]>, 42606f32e7eSjoerg InstrItinData<II_DSLL , [InstrStage<1, [ALU]>]>, 42706f32e7eSjoerg InstrItinData<II_DSLL32 , [InstrStage<1, [ALU]>]>, 42806f32e7eSjoerg InstrItinData<II_DSRL , [InstrStage<1, [ALU]>]>, 42906f32e7eSjoerg InstrItinData<II_DSRL32 , [InstrStage<1, [ALU]>]>, 43006f32e7eSjoerg InstrItinData<II_DSRA , [InstrStage<1, [ALU]>]>, 43106f32e7eSjoerg InstrItinData<II_DSRA32 , [InstrStage<1, [ALU]>]>, 43206f32e7eSjoerg InstrItinData<II_DSLLV , [InstrStage<1, [ALU]>]>, 43306f32e7eSjoerg InstrItinData<II_DSRLV , [InstrStage<1, [ALU]>]>, 43406f32e7eSjoerg InstrItinData<II_DSRAV , [InstrStage<1, [ALU]>]>, 43506f32e7eSjoerg InstrItinData<II_DSUBU , [InstrStage<1, [ALU]>]>, 43606f32e7eSjoerg InstrItinData<II_DSUB , [InstrStage<1, [ALU]>]>, 43706f32e7eSjoerg InstrItinData<II_DROTR , [InstrStage<1, [ALU]>]>, 43806f32e7eSjoerg InstrItinData<II_DROTR32 , [InstrStage<1, [ALU]>]>, 43906f32e7eSjoerg InstrItinData<II_DROTRV , [InstrStage<1, [ALU]>]>, 44006f32e7eSjoerg InstrItinData<II_DSBH , [InstrStage<1, [ALU]>]>, 44106f32e7eSjoerg InstrItinData<II_DSHD , [InstrStage<1, [ALU]>]>, 44206f32e7eSjoerg InstrItinData<II_DCLO , [InstrStage<1, [ALU]>]>, 44306f32e7eSjoerg InstrItinData<II_DCLZ , [InstrStage<1, [ALU]>]>, 44406f32e7eSjoerg InstrItinData<II_DVPE , [InstrStage<2, [ALU]>]>, 44506f32e7eSjoerg InstrItinData<II_EMT , [InstrStage<2, [ALU]>]>, 44606f32e7eSjoerg InstrItinData<II_EVPE , [InstrStage<2, [ALU]>]>, 44706f32e7eSjoerg InstrItinData<II_EXT , [InstrStage<1, [ALU]>]>, 44806f32e7eSjoerg InstrItinData<II_FORK , [InstrStage<1, [ALU]>]>, 44906f32e7eSjoerg InstrItinData<II_INS , [InstrStage<1, [ALU]>]>, 45006f32e7eSjoerg InstrItinData<II_LUI , [InstrStage<1, [ALU]>]>, 45106f32e7eSjoerg InstrItinData<II_MOVE , [InstrStage<1, [ALU]>]>, 45206f32e7eSjoerg InstrItinData<II_MOVF , [InstrStage<1, [ALU]>]>, 45306f32e7eSjoerg InstrItinData<II_MOVN , [InstrStage<1, [ALU]>]>, 45406f32e7eSjoerg InstrItinData<II_MOVN_S , [InstrStage<1, [ALU]>]>, 45506f32e7eSjoerg InstrItinData<II_MOVN_D , [InstrStage<1, [ALU]>]>, 45606f32e7eSjoerg InstrItinData<II_MOVT , [InstrStage<1, [ALU]>]>, 45706f32e7eSjoerg InstrItinData<II_MOVZ , [InstrStage<1, [ALU]>]>, 45806f32e7eSjoerg InstrItinData<II_NOR , [InstrStage<1, [ALU]>]>, 45906f32e7eSjoerg InstrItinData<II_NOT , [InstrStage<1, [ALU]>]>, 46006f32e7eSjoerg InstrItinData<II_OR , [InstrStage<1, [ALU]>]>, 46106f32e7eSjoerg InstrItinData<II_POP , [InstrStage<1, [ALU]>]>, 46206f32e7eSjoerg InstrItinData<II_RDHWR , [InstrStage<1, [ALU]>]>, 46306f32e7eSjoerg InstrItinData<II_SUB , [InstrStage<1, [ALU]>]>, 46406f32e7eSjoerg InstrItinData<II_SUBU , [InstrStage<1, [ALU]>]>, 46506f32e7eSjoerg InstrItinData<II_XOR , [InstrStage<1, [ALU]>]>, 46606f32e7eSjoerg InstrItinData<II_ANDI , [InstrStage<1, [ALU]>]>, 46706f32e7eSjoerg InstrItinData<II_ORI , [InstrStage<1, [ALU]>]>, 46806f32e7eSjoerg InstrItinData<II_XORI , [InstrStage<1, [ALU]>]>, 46906f32e7eSjoerg InstrItinData<II_LB , [InstrStage<3, [ALU]>]>, 47006f32e7eSjoerg InstrItinData<II_LBE , [InstrStage<3, [ALU]>]>, 47106f32e7eSjoerg InstrItinData<II_LBU , [InstrStage<3, [ALU]>]>, 47206f32e7eSjoerg InstrItinData<II_LBUE , [InstrStage<3, [ALU]>]>, 47306f32e7eSjoerg InstrItinData<II_LH , [InstrStage<3, [ALU]>]>, 47406f32e7eSjoerg InstrItinData<II_LHU , [InstrStage<3, [ALU]>]>, 47506f32e7eSjoerg InstrItinData<II_LHUE , [InstrStage<3, [ALU]>]>, 47606f32e7eSjoerg InstrItinData<II_LW , [InstrStage<3, [ALU]>]>, 47706f32e7eSjoerg InstrItinData<II_LWM , [InstrStage<3, [ALU]>]>, 47806f32e7eSjoerg InstrItinData<II_LWP , [InstrStage<3, [ALU]>]>, 47906f32e7eSjoerg InstrItinData<II_LWPC , [InstrStage<3, [ALU]>]>, 48006f32e7eSjoerg InstrItinData<II_LWL , [InstrStage<3, [ALU]>]>, 48106f32e7eSjoerg InstrItinData<II_LWLE , [InstrStage<3, [ALU]>]>, 48206f32e7eSjoerg InstrItinData<II_LWR , [InstrStage<3, [ALU]>]>, 48306f32e7eSjoerg InstrItinData<II_LWRE , [InstrStage<3, [ALU]>]>, 48406f32e7eSjoerg InstrItinData<II_LWUPC , [InstrStage<3, [ALU]>]>, 48506f32e7eSjoerg InstrItinData<II_LD , [InstrStage<3, [ALU]>]>, 48606f32e7eSjoerg InstrItinData<II_LDL , [InstrStage<3, [ALU]>]>, 48706f32e7eSjoerg InstrItinData<II_LDR , [InstrStage<3, [ALU]>]>, 48806f32e7eSjoerg InstrItinData<II_LDPC , [InstrStage<3, [ALU]>]>, 48906f32e7eSjoerg InstrItinData<II_LI , [InstrStage<1, [ALU]>]>, 49006f32e7eSjoerg InstrItinData<II_LL , [InstrStage<3, [ALU]>]>, 49106f32e7eSjoerg InstrItinData<II_LLD , [InstrStage<3, [ALU]>]>, 49206f32e7eSjoerg InstrItinData<II_RESTORE , [InstrStage<3, [ALU]>]>, 49306f32e7eSjoerg InstrItinData<II_SB , [InstrStage<1, [ALU]>]>, 49406f32e7eSjoerg InstrItinData<II_SH , [InstrStage<1, [ALU]>]>, 49506f32e7eSjoerg InstrItinData<II_SHE , [InstrStage<1, [ALU]>]>, 49606f32e7eSjoerg InstrItinData<II_SW , [InstrStage<1, [ALU]>]>, 49706f32e7eSjoerg InstrItinData<II_SWM , [InstrStage<1, [ALU]>]>, 49806f32e7eSjoerg InstrItinData<II_SWL , [InstrStage<1, [ALU]>]>, 49906f32e7eSjoerg InstrItinData<II_SWR , [InstrStage<1, [ALU]>]>, 50006f32e7eSjoerg InstrItinData<II_SWP , [InstrStage<1, [ALU]>]>, 50106f32e7eSjoerg InstrItinData<II_SDL , [InstrStage<1, [ALU]>]>, 50206f32e7eSjoerg InstrItinData<II_SDR , [InstrStage<1, [ALU]>]>, 50306f32e7eSjoerg InstrItinData<II_SD , [InstrStage<1, [ALU]>]>, 50406f32e7eSjoerg InstrItinData<II_SC , [InstrStage<1, [ALU]>]>, 50506f32e7eSjoerg InstrItinData<II_SCD , [InstrStage<1, [ALU]>]>, 50606f32e7eSjoerg InstrItinData<II_SAVE , [InstrStage<1, [ALU]>]>, 50706f32e7eSjoerg InstrItinData<II_SELCCZ_S , [InstrStage<1, [ALU]>]>, 50806f32e7eSjoerg InstrItinData<II_SELCCZ_D , [InstrStage<1, [ALU]>]>, 50906f32e7eSjoerg InstrItinData<II_SEQ_SNE , [InstrStage<1, [ALU]>]>, 51006f32e7eSjoerg InstrItinData<II_SEQI_SNEI , [InstrStage<1, [ALU]>]>, 51106f32e7eSjoerg InstrItinData<II_SLTI_SLTIU , [InstrStage<1, [ALU]>]>, 51206f32e7eSjoerg InstrItinData<II_SLT_SLTU , [InstrStage<1, [ALU]>]>, 51306f32e7eSjoerg InstrItinData<II_B , [InstrStage<1, [ALU]>]>, 51406f32e7eSjoerg InstrItinData<II_BALC , [InstrStage<1, [ALU]>]>, 51506f32e7eSjoerg InstrItinData<II_BBIT , [InstrStage<1, [ALU]>]>, 51606f32e7eSjoerg InstrItinData<II_BC , [InstrStage<1, [ALU]>]>, 51706f32e7eSjoerg InstrItinData<II_BC1F , [InstrStage<1, [ALU]>]>, 51806f32e7eSjoerg InstrItinData<II_BC1FL , [InstrStage<1, [ALU]>]>, 51906f32e7eSjoerg InstrItinData<II_BC1T , [InstrStage<1, [ALU]>]>, 52006f32e7eSjoerg InstrItinData<II_BC1TL , [InstrStage<1, [ALU]>]>, 52106f32e7eSjoerg InstrItinData<II_BC1CCZ , [InstrStage<1, [ALU]>]>, 52206f32e7eSjoerg InstrItinData<II_BC2CCZ , [InstrStage<1, [ALU]>]>, 52306f32e7eSjoerg InstrItinData<II_BCC , [InstrStage<1, [ALU]>]>, 52406f32e7eSjoerg InstrItinData<II_BCCC , [InstrStage<1, [ALU]>]>, 52506f32e7eSjoerg InstrItinData<II_BCCZ , [InstrStage<1, [ALU]>]>, 52606f32e7eSjoerg InstrItinData<II_BCCZAL , [InstrStage<1, [ALU]>]>, 52706f32e7eSjoerg InstrItinData<II_BCCZALS , [InstrStage<1, [ALU]>]>, 52806f32e7eSjoerg InstrItinData<II_BCCZC , [InstrStage<1, [ALU]>]>, 52906f32e7eSjoerg InstrItinData<II_CLASS_D , [InstrStage<1, [ALU]>]>, 53006f32e7eSjoerg InstrItinData<II_CLASS_S , [InstrStage<1, [ALU]>]>, 53106f32e7eSjoerg InstrItinData<II_IndirectBranchPseudo, [InstrStage<1, [ALU]>]>, 53206f32e7eSjoerg InstrItinData<II_J , [InstrStage<1, [ALU]>]>, 53306f32e7eSjoerg InstrItinData<II_JAL , [InstrStage<1, [ALU]>]>, 53406f32e7eSjoerg InstrItinData<II_JALR , [InstrStage<1, [ALU]>]>, 53506f32e7eSjoerg InstrItinData<II_JALR_HB , [InstrStage<1, [ALU]>]>, 53606f32e7eSjoerg InstrItinData<II_JALRC , [InstrStage<1, [ALU]>]>, 53706f32e7eSjoerg InstrItinData<II_JALRS , [InstrStage<1, [ALU]>]>, 53806f32e7eSjoerg InstrItinData<II_JALS , [InstrStage<1, [ALU]>]>, 53906f32e7eSjoerg InstrItinData<II_JIC , [InstrStage<1, [ALU]>]>, 54006f32e7eSjoerg InstrItinData<II_JIALC , [InstrStage<1, [ALU]>]>, 54106f32e7eSjoerg InstrItinData<II_JR , [InstrStage<1, [ALU]>]>, 54206f32e7eSjoerg InstrItinData<II_JR_HB , [InstrStage<1, [ALU]>]>, 54306f32e7eSjoerg InstrItinData<II_JRADDIUSP , [InstrStage<1, [ALU]>]>, 54406f32e7eSjoerg InstrItinData<II_JRC , [InstrStage<1, [ALU]>]>, 54506f32e7eSjoerg InstrItinData<II_ReturnPseudo , [InstrStage<1, [ALU]>]>, 54606f32e7eSjoerg InstrItinData<IIPseudo , [InstrStage<1, [ALU]>]>, 54706f32e7eSjoerg InstrItinData<II_DMUH , [InstrStage<17, [IMULDIV]>]>, 54806f32e7eSjoerg InstrItinData<II_DMUHU , [InstrStage<17, [IMULDIV]>]>, 54906f32e7eSjoerg InstrItinData<II_ERET , [InstrStage<1, [ALU]>]>, 55006f32e7eSjoerg InstrItinData<II_DERET , [InstrStage<1, [ALU]>]>, 55106f32e7eSjoerg InstrItinData<II_ERETNC , [InstrStage<1, [ALU]>]>, 55206f32e7eSjoerg InstrItinData<II_EHB , [InstrStage<1, [ALU]>]>, 55306f32e7eSjoerg InstrItinData<II_SDBBP , [InstrStage<1, [ALU]>]>, 55406f32e7eSjoerg InstrItinData<II_SIGRIE , [InstrStage<1, [ALU]>]>, 55506f32e7eSjoerg InstrItinData<II_SSNOP , [InstrStage<1, [ALU]>]>, 55606f32e7eSjoerg InstrItinData<II_SYSCALL , [InstrStage<1, [ALU]>]>, 55706f32e7eSjoerg InstrItinData<II_PAUSE , [InstrStage<1, [ALU]>]>, 55806f32e7eSjoerg InstrItinData<II_WAIT , [InstrStage<1, [ALU]>]>, 55906f32e7eSjoerg InstrItinData<II_EI , [InstrStage<1, [ALU]>]>, 56006f32e7eSjoerg InstrItinData<II_DI , [InstrStage<1, [ALU]>]>, 56106f32e7eSjoerg InstrItinData<II_TEQ , [InstrStage<1, [ALU]>]>, 56206f32e7eSjoerg InstrItinData<II_TEQI , [InstrStage<1, [ALU]>]>, 56306f32e7eSjoerg InstrItinData<II_TGE , [InstrStage<1, [ALU]>]>, 56406f32e7eSjoerg InstrItinData<II_TGEI , [InstrStage<1, [ALU]>]>, 56506f32e7eSjoerg InstrItinData<II_TGEIU , [InstrStage<1, [ALU]>]>, 56606f32e7eSjoerg InstrItinData<II_TGEU , [InstrStage<1, [ALU]>]>, 56706f32e7eSjoerg InstrItinData<II_TNE , [InstrStage<1, [ALU]>]>, 56806f32e7eSjoerg InstrItinData<II_TNEI , [InstrStage<1, [ALU]>]>, 56906f32e7eSjoerg InstrItinData<II_TLT , [InstrStage<1, [ALU]>]>, 57006f32e7eSjoerg InstrItinData<II_TLTI , [InstrStage<1, [ALU]>]>, 57106f32e7eSjoerg InstrItinData<II_TLTU , [InstrStage<1, [ALU]>]>, 57206f32e7eSjoerg InstrItinData<II_TTLTIU , [InstrStage<1, [ALU]>]>, 57306f32e7eSjoerg InstrItinData<II_TLBP , [InstrStage<1, [ALU]>]>, 57406f32e7eSjoerg InstrItinData<II_TLBR , [InstrStage<1, [ALU]>]>, 57506f32e7eSjoerg InstrItinData<II_TLBWI , [InstrStage<1, [ALU]>]>, 57606f32e7eSjoerg InstrItinData<II_TLBWR , [InstrStage<1, [ALU]>]>, 57706f32e7eSjoerg InstrItinData<II_TRAP , [InstrStage<1, [ALU]>]>, 57806f32e7eSjoerg InstrItinData<II_BREAK , [InstrStage<1, [ALU]>]>, 57906f32e7eSjoerg InstrItinData<II_SYNC , [InstrStage<1, [ALU]>]>, 58006f32e7eSjoerg InstrItinData<II_SYNCI , [InstrStage<1, [ALU]>]>, 58106f32e7eSjoerg InstrItinData<II_DMUL , [InstrStage<17, [IMULDIV]>]>, 58206f32e7eSjoerg InstrItinData<II_DMULT , [InstrStage<17, [IMULDIV]>]>, 58306f32e7eSjoerg InstrItinData<II_DMULTU , [InstrStage<17, [IMULDIV]>]>, 58406f32e7eSjoerg InstrItinData<II_DMULU , [InstrStage<17, [IMULDIV]>]>, 58506f32e7eSjoerg InstrItinData<II_MADD , [InstrStage<17, [IMULDIV]>]>, 58606f32e7eSjoerg InstrItinData<II_MADDU , [InstrStage<17, [IMULDIV]>]>, 58706f32e7eSjoerg InstrItinData<II_MFHI_MFLO , [InstrStage<1, [IMULDIV]>]>, 58806f32e7eSjoerg InstrItinData<II_MAX_D , [InstrStage<4, [ALU]>]>, 58906f32e7eSjoerg InstrItinData<II_MAX_S , [InstrStage<4, [ALU]>]>, 59006f32e7eSjoerg InstrItinData<II_MAXA_D , [InstrStage<4, [ALU]>]>, 59106f32e7eSjoerg InstrItinData<II_MAXA_S , [InstrStage<4, [ALU]>]>, 59206f32e7eSjoerg InstrItinData<II_MIN_S , [InstrStage<4, [ALU]>]>, 59306f32e7eSjoerg InstrItinData<II_MIN_D , [InstrStage<4, [ALU]>]>, 59406f32e7eSjoerg InstrItinData<II_MINA_S , [InstrStage<4, [ALU]>]>, 59506f32e7eSjoerg InstrItinData<II_MINA_D , [InstrStage<4, [ALU]>]>, 59606f32e7eSjoerg InstrItinData<II_MOD , [InstrStage<38, [IMULDIV]>]>, 59706f32e7eSjoerg InstrItinData<II_MODU , [InstrStage<38, [IMULDIV]>]>, 59806f32e7eSjoerg InstrItinData<II_MSUB , [InstrStage<17, [IMULDIV]>]>, 59906f32e7eSjoerg InstrItinData<II_MSUBU , [InstrStage<17, [IMULDIV]>]>, 60006f32e7eSjoerg InstrItinData<II_MTHI_MTLO , [InstrStage<1, [IMULDIV]>]>, 60106f32e7eSjoerg InstrItinData<II_MUH , [InstrStage<17, [IMULDIV]>]>, 60206f32e7eSjoerg InstrItinData<II_MUHU , [InstrStage<17, [IMULDIV]>]>, 60306f32e7eSjoerg InstrItinData<II_MUL , [InstrStage<17, [IMULDIV]>]>, 60406f32e7eSjoerg InstrItinData<II_MULT , [InstrStage<17, [IMULDIV]>]>, 60506f32e7eSjoerg InstrItinData<II_MULTU , [InstrStage<17, [IMULDIV]>]>, 60606f32e7eSjoerg InstrItinData<II_MULU , [InstrStage<17, [IMULDIV]>]>, 60706f32e7eSjoerg InstrItinData<II_MSUB , [InstrStage<17, [IMULDIV]>]>, 60806f32e7eSjoerg InstrItinData<II_MSUBU , [InstrStage<17, [IMULDIV]>]>, 60906f32e7eSjoerg InstrItinData<II_DIV , [InstrStage<38, [IMULDIV]>]>, 61006f32e7eSjoerg InstrItinData<II_DIVU , [InstrStage<38, [IMULDIV]>]>, 61106f32e7eSjoerg InstrItinData<II_DDIV , [InstrStage<38, [IMULDIV]>]>, 61206f32e7eSjoerg InstrItinData<II_DDIVU , [InstrStage<38, [IMULDIV]>]>, 61306f32e7eSjoerg InstrItinData<II_CEIL , [InstrStage<1, [ALU]>]>, 61406f32e7eSjoerg InstrItinData<II_CVT , [InstrStage<1, [ALU]>]>, 61506f32e7eSjoerg InstrItinData<II_ABS , [InstrStage<1, [ALU]>]>, 61606f32e7eSjoerg InstrItinData<II_FLOOR , [InstrStage<1, [ALU]>]>, 61706f32e7eSjoerg InstrItinData<II_NEG , [InstrStage<1, [ALU]>]>, 61806f32e7eSjoerg InstrItinData<II_ROUND , [InstrStage<1, [ALU]>]>, 61906f32e7eSjoerg InstrItinData<II_TRUNC , [InstrStage<1, [ALU]>]>, 62006f32e7eSjoerg InstrItinData<II_MOV_D , [InstrStage<2, [ALU]>]>, 62106f32e7eSjoerg InstrItinData<II_MOV_S , [InstrStage<2, [ALU]>]>, 62206f32e7eSjoerg InstrItinData<II_CFC1 , [InstrStage<2, [ALU]>]>, 62306f32e7eSjoerg InstrItinData<II_CTC1 , [InstrStage<2, [ALU]>]>, 62406f32e7eSjoerg InstrItinData<II_CFC2 , [InstrStage<2, [ALU]>]>, 62506f32e7eSjoerg InstrItinData<II_CTC2 , [InstrStage<2, [ALU]>]>, 62606f32e7eSjoerg InstrItinData<II_MOVF_D , [InstrStage<2, [ALU]>]>, 62706f32e7eSjoerg InstrItinData<II_MOVF_S , [InstrStage<2, [ALU]>]>, 62806f32e7eSjoerg InstrItinData<II_MOVT_D , [InstrStage<2, [ALU]>]>, 62906f32e7eSjoerg InstrItinData<II_MOVT_S , [InstrStage<2, [ALU]>]>, 63006f32e7eSjoerg InstrItinData<II_MOVZ_D , [InstrStage<2, [ALU]>]>, 63106f32e7eSjoerg InstrItinData<II_MOVZ_S , [InstrStage<2, [ALU]>]>, 63206f32e7eSjoerg InstrItinData<II_C_CC_S , [InstrStage<3, [ALU]>]>, 63306f32e7eSjoerg InstrItinData<II_C_CC_D , [InstrStage<3, [ALU]>]>, 63406f32e7eSjoerg InstrItinData<II_CMP_CC_S , [InstrStage<3, [ALU]>]>, 63506f32e7eSjoerg InstrItinData<II_CMP_CC_D , [InstrStage<3, [ALU]>]>, 63606f32e7eSjoerg InstrItinData<II_ADD_D , [InstrStage<4, [ALU]>]>, 63706f32e7eSjoerg InstrItinData<II_ADD_S , [InstrStage<4, [ALU]>]>, 63806f32e7eSjoerg InstrItinData<II_SUB_D , [InstrStage<4, [ALU]>]>, 63906f32e7eSjoerg InstrItinData<II_SUB_S , [InstrStage<4, [ALU]>]>, 64006f32e7eSjoerg InstrItinData<II_MUL_S , [InstrStage<7, [ALU]>]>, 64106f32e7eSjoerg InstrItinData<II_MADD_S , [InstrStage<7, [ALU]>]>, 64206f32e7eSjoerg InstrItinData<II_MADDF_S , [InstrStage<7, [ALU]>]>, 64306f32e7eSjoerg InstrItinData<II_MSUB_S , [InstrStage<7, [ALU]>]>, 64406f32e7eSjoerg InstrItinData<II_MSUBF_S , [InstrStage<7, [ALU]>]>, 64506f32e7eSjoerg InstrItinData<II_NMADD_S , [InstrStage<7, [ALU]>]>, 64606f32e7eSjoerg InstrItinData<II_NMSUB_S , [InstrStage<7, [ALU]>]>, 64706f32e7eSjoerg InstrItinData<II_MUL_D , [InstrStage<8, [ALU]>]>, 64806f32e7eSjoerg InstrItinData<II_MADD_D , [InstrStage<8, [ALU]>]>, 64906f32e7eSjoerg InstrItinData<II_MADDF_D , [InstrStage<8, [ALU]>]>, 65006f32e7eSjoerg InstrItinData<II_MSUB_D , [InstrStage<8, [ALU]>]>, 65106f32e7eSjoerg InstrItinData<II_MSUBF_D , [InstrStage<8, [ALU]>]>, 65206f32e7eSjoerg InstrItinData<II_NMADD_D , [InstrStage<8, [ALU]>]>, 65306f32e7eSjoerg InstrItinData<II_NMSUB_D , [InstrStage<8, [ALU]>]>, 65406f32e7eSjoerg InstrItinData<II_DIV_S , [InstrStage<23, [ALU]>]>, 65506f32e7eSjoerg InstrItinData<II_DIV_D , [InstrStage<36, [ALU]>]>, 65606f32e7eSjoerg InstrItinData<II_RECIP_D , [InstrStage<25, [ALU]>]>, 65706f32e7eSjoerg InstrItinData<II_RECIP_S , [InstrStage<13, [ALU]>]>, 65806f32e7eSjoerg InstrItinData<II_RSQRT_D , [InstrStage<29, [ALU]>]>, 65906f32e7eSjoerg InstrItinData<II_RSQRT_S , [InstrStage<14, [ALU]>]>, 66006f32e7eSjoerg InstrItinData<II_RINT_D , [InstrStage<1, [ALU]>]>, 66106f32e7eSjoerg InstrItinData<II_RINT_S , [InstrStage<1, [ALU]>]>, 66206f32e7eSjoerg InstrItinData<II_SQRT_S , [InstrStage<54, [ALU]>]>, 66306f32e7eSjoerg InstrItinData<II_SQRT_D , [InstrStage<12, [ALU]>]>, 66406f32e7eSjoerg InstrItinData<II_SEL_D , [InstrStage<1, [ALU]>]>, 66506f32e7eSjoerg InstrItinData<II_SEL_S , [InstrStage<1, [ALU]>]>, 66606f32e7eSjoerg InstrItinData<II_WSBH , [InstrStage<1, [ALU]>]>, 66706f32e7eSjoerg InstrItinData<II_LSA , [InstrStage<1, [ALU]>]>, 66806f32e7eSjoerg InstrItinData<II_DLSA , [InstrStage<1, [ALU]>]>, 66906f32e7eSjoerg InstrItinData<II_LDC1 , [InstrStage<3, [ALU]>]>, 67006f32e7eSjoerg InstrItinData<II_LDC2 , [InstrStage<3, [ALU]>]>, 67106f32e7eSjoerg InstrItinData<II_LDC3 , [InstrStage<3, [ALU]>]>, 67206f32e7eSjoerg InstrItinData<II_LWC1 , [InstrStage<3, [ALU]>]>, 67306f32e7eSjoerg InstrItinData<II_LWC2 , [InstrStage<3, [ALU]>]>, 67406f32e7eSjoerg InstrItinData<II_LWC3 , [InstrStage<3, [ALU]>]>, 67506f32e7eSjoerg InstrItinData<II_LDXC1 , [InstrStage<3, [ALU]>]>, 67606f32e7eSjoerg InstrItinData<II_LWXC1 , [InstrStage<3, [ALU]>]>, 67706f32e7eSjoerg InstrItinData<II_LUXC1 , [InstrStage<3, [ALU]>]>, 67806f32e7eSjoerg InstrItinData<II_LWXS , [InstrStage<3, [ALU]>]>, 67906f32e7eSjoerg InstrItinData<II_SDC1 , [InstrStage<1, [ALU]>]>, 68006f32e7eSjoerg InstrItinData<II_SDC2 , [InstrStage<1, [ALU]>]>, 68106f32e7eSjoerg InstrItinData<II_SDC3 , [InstrStage<1, [ALU]>]>, 68206f32e7eSjoerg InstrItinData<II_SWC1 , [InstrStage<1, [ALU]>]>, 68306f32e7eSjoerg InstrItinData<II_SWC2 , [InstrStage<1, [ALU]>]>, 68406f32e7eSjoerg InstrItinData<II_SWC3 , [InstrStage<1, [ALU]>]>, 68506f32e7eSjoerg InstrItinData<II_SDXC1 , [InstrStage<1, [ALU]>]>, 68606f32e7eSjoerg InstrItinData<II_SWXC1 , [InstrStage<1, [ALU]>]>, 68706f32e7eSjoerg InstrItinData<II_SUXC1 , [InstrStage<1, [ALU]>]>, 68806f32e7eSjoerg InstrItinData<II_DMFC0 , [InstrStage<2, [ALU]>]>, 68906f32e7eSjoerg InstrItinData<II_DMFC1 , [InstrStage<2, [ALU]>]>, 69006f32e7eSjoerg InstrItinData<II_DMFC2 , [InstrStage<2, [ALU]>]>, 69106f32e7eSjoerg InstrItinData<II_DMTC0 , [InstrStage<2, [ALU]>]>, 69206f32e7eSjoerg InstrItinData<II_DMTC1 , [InstrStage<2, [ALU]>]>, 69306f32e7eSjoerg InstrItinData<II_DMTC2 , [InstrStage<2, [ALU]>]>, 69406f32e7eSjoerg InstrItinData<II_MFC0 , [InstrStage<2, [ALU]>]>, 69506f32e7eSjoerg InstrItinData<II_MFHC0 , [InstrStage<2, [ALU]>]>, 69606f32e7eSjoerg InstrItinData<II_MFC1 , [InstrStage<2, [ALU]>]>, 69706f32e7eSjoerg InstrItinData<II_MFC2 , [InstrStage<2, [ALU]>]>, 69806f32e7eSjoerg InstrItinData<II_MFTR , [InstrStage<2, [ALU]>]>, 69906f32e7eSjoerg InstrItinData<II_MTC0 , [InstrStage<2, [ALU]>]>, 70006f32e7eSjoerg InstrItinData<II_MTHC0 , [InstrStage<2, [ALU]>]>, 70106f32e7eSjoerg InstrItinData<II_MTC1 , [InstrStage<2, [ALU]>]>, 70206f32e7eSjoerg InstrItinData<II_MTC2 , [InstrStage<2, [ALU]>]>, 70306f32e7eSjoerg InstrItinData<II_MFHC1 , [InstrStage<2, [ALU]>]>, 70406f32e7eSjoerg InstrItinData<II_MTHC1 , [InstrStage<2, [ALU]>]>, 70506f32e7eSjoerg InstrItinData<II_MTTR , [InstrStage<2, [ALU]>]>, 70606f32e7eSjoerg InstrItinData<II_CACHE , [InstrStage<1, [ALU]>]>, 70706f32e7eSjoerg InstrItinData<II_PREF , [InstrStage<1, [ALU]>]>, 70806f32e7eSjoerg InstrItinData<II_CACHEE , [InstrStage<1, [ALU]>]>, 70906f32e7eSjoerg InstrItinData<II_PREFE , [InstrStage<1, [ALU]>]>, 71006f32e7eSjoerg InstrItinData<II_TLBINV , [InstrStage<1, [ALU]>]>, 71106f32e7eSjoerg InstrItinData<II_TLBINVF , [InstrStage<1, [ALU]>]>, 71206f32e7eSjoerg InstrItinData<II_LLE , [InstrStage<3, [ALU]>]>, 71306f32e7eSjoerg InstrItinData<II_SCE , [InstrStage<1, [ALU]>]>, 71406f32e7eSjoerg InstrItinData<II_WRPGPR , [InstrStage<1, [ALU]>]>, 71506f32e7eSjoerg InstrItinData<II_RDPGPR , [InstrStage<1, [ALU]>]>, 71606f32e7eSjoerg InstrItinData<II_DVP , [InstrStage<1, [ALU]>]>, 71706f32e7eSjoerg InstrItinData<II_EVP , [InstrStage<1, [ALU]>]>, 71806f32e7eSjoerg InstrItinData<II_YIELD , [InstrStage<5, [ALU]>]>, 71906f32e7eSjoerg InstrItinData<II_CRC32B , [InstrStage<1, [ALU]>]>, 72006f32e7eSjoerg InstrItinData<II_CRC32H , [InstrStage<1, [ALU]>]>, 72106f32e7eSjoerg InstrItinData<II_CRC32W , [InstrStage<1, [ALU]>]>, 72206f32e7eSjoerg InstrItinData<II_CRC32D , [InstrStage<1, [ALU]>]>, 72306f32e7eSjoerg InstrItinData<II_CRC32CB , [InstrStage<1, [ALU]>]>, 72406f32e7eSjoerg InstrItinData<II_CRC32CH , [InstrStage<1, [ALU]>]>, 72506f32e7eSjoerg InstrItinData<II_CRC32CW , [InstrStage<1, [ALU]>]>, 72606f32e7eSjoerg InstrItinData<II_CRC32CD , [InstrStage<1, [ALU]>]>, 72706f32e7eSjoerg InstrItinData<II_MFGC0 , [InstrStage<2, [ALU]>]>, 72806f32e7eSjoerg InstrItinData<II_MTGC0 , [InstrStage<2, [ALU]>]>, 72906f32e7eSjoerg InstrItinData<II_MFHGC0 , [InstrStage<2, [ALU]>]>, 73006f32e7eSjoerg InstrItinData<II_MTHGC0 , [InstrStage<2, [ALU]>]>, 73106f32e7eSjoerg InstrItinData<II_HYPCALL , [InstrStage<2, [ALU]>]>, 73206f32e7eSjoerg InstrItinData<II_TLBGINV , [InstrStage<2, [ALU]>]>, 73306f32e7eSjoerg InstrItinData<II_TLBGINVF , [InstrStage<2, [ALU]>]>, 73406f32e7eSjoerg InstrItinData<II_TLBGP , [InstrStage<2, [ALU]>]>, 73506f32e7eSjoerg InstrItinData<II_TLBGR , [InstrStage<2, [ALU]>]>, 73606f32e7eSjoerg InstrItinData<II_TLBWI , [InstrStage<2, [ALU]>]>, 73706f32e7eSjoerg InstrItinData<II_TLBWR , [InstrStage<2, [ALU]>]>, 73806f32e7eSjoerg InstrItinData<II_DMFGC0 , [InstrStage<2, [ALU]>]>, 73906f32e7eSjoerg InstrItinData<II_DMTGC0 , [InstrStage<2, [ALU]>]>, 74006f32e7eSjoerg InstrItinData<II_GINVI , [InstrStage<1, [ALU]>]>, 74106f32e7eSjoerg InstrItinData<II_GINVT , [InstrStage<1, [ALU]>]> 74206f32e7eSjoerg]>; 743