1//===-- PPCSchedule.td - PowerPC Scheduling Definitions ----*- tablegen -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10//===----------------------------------------------------------------------===// 11// Instruction Itinerary classes used for PowerPC 12// 13def IIC_IntSimple : InstrItinClass; 14def IIC_IntGeneral : InstrItinClass; 15def IIC_IntCompare : InstrItinClass; 16def IIC_IntISEL : InstrItinClass; 17def IIC_IntDivD : InstrItinClass; 18def IIC_IntDivW : InstrItinClass; 19def IIC_IntMFFS : InstrItinClass; 20def IIC_IntMFVSCR : InstrItinClass; 21def IIC_IntMTFSB0 : InstrItinClass; 22def IIC_IntMTSRD : InstrItinClass; 23def IIC_IntMulHD : InstrItinClass; 24def IIC_IntMulHW : InstrItinClass; 25def IIC_IntMulHWU : InstrItinClass; 26def IIC_IntMulLI : InstrItinClass; 27def IIC_IntRFID : InstrItinClass; 28def IIC_IntRotateD : InstrItinClass; 29def IIC_IntRotateDI : InstrItinClass; 30def IIC_IntRotate : InstrItinClass; 31def IIC_IntShift : InstrItinClass; 32def IIC_IntTrapD : InstrItinClass; 33def IIC_IntTrapW : InstrItinClass; 34def IIC_BrB : InstrItinClass; 35def IIC_BrCR : InstrItinClass; 36def IIC_BrMCR : InstrItinClass; 37def IIC_BrMCRX : InstrItinClass; 38def IIC_LdStDCBA : InstrItinClass; 39def IIC_LdStDCBF : InstrItinClass; 40def IIC_LdStDCBI : InstrItinClass; 41def IIC_LdStLoad : InstrItinClass; 42def IIC_LdStLoadUpd : InstrItinClass; 43def IIC_LdStLoadUpdX : InstrItinClass; 44def IIC_LdStStore : InstrItinClass; 45def IIC_LdStStoreUpd : InstrItinClass; 46def IIC_LdStDSS : InstrItinClass; 47def IIC_LdStICBI : InstrItinClass; 48def IIC_LdStLD : InstrItinClass; 49def IIC_LdStLDU : InstrItinClass; 50def IIC_LdStLDUX : InstrItinClass; 51def IIC_LdStLDARX : InstrItinClass; 52def IIC_LdStLFD : InstrItinClass; 53def IIC_LdStLFDU : InstrItinClass; 54def IIC_LdStLFDUX : InstrItinClass; 55def IIC_LdStLHA : InstrItinClass; 56def IIC_LdStLHAU : InstrItinClass; 57def IIC_LdStLHAUX : InstrItinClass; 58def IIC_LdStLMW : InstrItinClass; 59def IIC_LdStLVecX : InstrItinClass; 60def IIC_LdStLWA : InstrItinClass; 61def IIC_LdStLWARX : InstrItinClass; 62def IIC_LdStSLBIA : InstrItinClass; 63def IIC_LdStSLBIE : InstrItinClass; 64def IIC_LdStSTD : InstrItinClass; 65def IIC_LdStSTDCX : InstrItinClass; 66def IIC_LdStSTDU : InstrItinClass; 67def IIC_LdStSTDUX : InstrItinClass; 68def IIC_LdStSTFD : InstrItinClass; 69def IIC_LdStSTFDU : InstrItinClass; 70def IIC_LdStSTVEBX : InstrItinClass; 71def IIC_LdStSTWCX : InstrItinClass; 72def IIC_LdStSync : InstrItinClass; 73def IIC_LdStCOPY : InstrItinClass; 74def IIC_LdStPASTE : InstrItinClass; 75def IIC_SprISYNC : InstrItinClass; 76def IIC_SprMFSR : InstrItinClass; 77def IIC_SprMTMSR : InstrItinClass; 78def IIC_SprMTSR : InstrItinClass; 79def IIC_SprTLBSYNC : InstrItinClass; 80def IIC_SprMFCR : InstrItinClass; 81def IIC_SprMFCRF : InstrItinClass; 82def IIC_SprMFMSR : InstrItinClass; 83def IIC_SprMFSPR : InstrItinClass; 84def IIC_SprMFTB : InstrItinClass; 85def IIC_SprMTSPR : InstrItinClass; 86def IIC_SprMTSRIN : InstrItinClass; 87def IIC_SprRFI : InstrItinClass; 88def IIC_SprSC : InstrItinClass; 89def IIC_FPGeneral : InstrItinClass; 90def IIC_FPAddSub : InstrItinClass; 91def IIC_FPCompare : InstrItinClass; 92def IIC_FPDivD : InstrItinClass; 93def IIC_FPDivS : InstrItinClass; 94def IIC_FPFused : InstrItinClass; 95def IIC_FPRes : InstrItinClass; 96def IIC_FPSqrtD : InstrItinClass; 97def IIC_FPSqrtS : InstrItinClass; 98def IIC_VecGeneral : InstrItinClass; 99def IIC_VecFP : InstrItinClass; 100def IIC_VecFPCompare : InstrItinClass; 101def IIC_VecComplex : InstrItinClass; 102def IIC_VecPerm : InstrItinClass; 103def IIC_VecFPRound : InstrItinClass; 104def IIC_VecVSL : InstrItinClass; 105def IIC_VecVSR : InstrItinClass; 106def IIC_SprMTMSRD : InstrItinClass; 107def IIC_SprSLIE : InstrItinClass; 108def IIC_SprSLBIE : InstrItinClass; 109def IIC_SprSLBIEG : InstrItinClass; 110def IIC_SprSLBMTE : InstrItinClass; 111def IIC_SprSLBMFEE : InstrItinClass; 112def IIC_SprSLBIA : InstrItinClass; 113def IIC_SprSLBSYNC : InstrItinClass; 114def IIC_SprTLBIA : InstrItinClass; 115def IIC_SprTLBIEL : InstrItinClass; 116def IIC_SprTLBIE : InstrItinClass; 117def IIC_SprABORT : InstrItinClass; 118def IIC_SprMSGSYNC : InstrItinClass; 119def IIC_SprSTOP : InstrItinClass; 120 121//===----------------------------------------------------------------------===// 122// Processor instruction itineraries. 123 124include "PPCScheduleG3.td" 125include "PPCSchedule440.td" 126include "PPCScheduleG4.td" 127include "PPCScheduleG4Plus.td" 128include "PPCScheduleG5.td" 129include "PPCScheduleP7.td" 130include "PPCScheduleP8.td" 131include "PPCScheduleA2.td" 132include "PPCScheduleE500mc.td" 133include "PPCScheduleE5500.td" 134