147 lines · plain
1//===-- PPCSchedule.td - PowerPC Scheduling Definitions ----*- tablegen -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9//===----------------------------------------------------------------------===//10// Instruction Itinerary classes used for PowerPC11//12def IIC_IntSimple : InstrItinClass;13def IIC_IntGeneral : InstrItinClass;14def IIC_IntCompare : InstrItinClass;15def IIC_IntISEL : InstrItinClass;16def IIC_IntDivD : InstrItinClass;17def IIC_IntDivW : InstrItinClass;18def IIC_IntMFFS : InstrItinClass;19def IIC_IntMFVSCR : InstrItinClass;20def IIC_IntMTFSB0 : InstrItinClass;21def IIC_IntMTSRD : InstrItinClass;22def IIC_IntMulHD : InstrItinClass;23def IIC_IntMulHW : InstrItinClass;24def IIC_IntMulHWU : InstrItinClass;25def IIC_IntMulLI : InstrItinClass;26def IIC_IntRFID : InstrItinClass;27def IIC_IntRotateD : InstrItinClass;28def IIC_IntRotateDI : InstrItinClass;29def IIC_IntRotate : InstrItinClass;30def IIC_IntShift : InstrItinClass;31def IIC_IntTrapD : InstrItinClass;32def IIC_IntTrapW : InstrItinClass;33def IIC_BrB : InstrItinClass;34def IIC_BrCR : InstrItinClass;35def IIC_BrMCR : InstrItinClass;36def IIC_BrMCRX : InstrItinClass;37def IIC_LdStDCBA : InstrItinClass;38def IIC_LdStDCBF : InstrItinClass;39def IIC_LdStDCBI : InstrItinClass;40def IIC_LdStLoad : InstrItinClass;41def IIC_LdStLoadUpd : InstrItinClass;42def IIC_LdStLoadUpdX : InstrItinClass;43def IIC_LdStStore : InstrItinClass;44def IIC_LdStDSS : InstrItinClass;45def IIC_LdStICBI : InstrItinClass;46def IIC_LdStLD : InstrItinClass;47def IIC_LdStLDU : InstrItinClass;48def IIC_LdStLDUX : InstrItinClass;49def IIC_LdStLDARX : InstrItinClass;50def IIC_LdStLFD : InstrItinClass;51def IIC_LdStLFDU : InstrItinClass;52def IIC_LdStLFDUX : InstrItinClass;53def IIC_LdStLHA : InstrItinClass;54def IIC_LdStLHAU : InstrItinClass;55def IIC_LdStLHAUX : InstrItinClass;56def IIC_LdStLMW : InstrItinClass;57def IIC_LdStLQ : InstrItinClass;58def IIC_LdStLQARX : 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_LdStSTQ : InstrItinClass;67def IIC_LdStSTQCX : InstrItinClass;68def IIC_LdStSTU : InstrItinClass;69def IIC_LdStSTUX : InstrItinClass;70def IIC_LdStSTFD : InstrItinClass;71def IIC_LdStSTFDU : InstrItinClass;72def IIC_LdStSTVEBX : InstrItinClass;73def IIC_LdStSTWCX : InstrItinClass;74def IIC_LdStSync : InstrItinClass;75def IIC_LdStCOPY : InstrItinClass;76def IIC_LdStPASTE : InstrItinClass;77def IIC_SprISYNC : InstrItinClass;78def IIC_SprMFSR : InstrItinClass;79def IIC_SprMTMSR : InstrItinClass;80def IIC_SprMTSR : InstrItinClass;81def IIC_SprTLBSYNC : InstrItinClass;82def IIC_SprMFCR : InstrItinClass;83def IIC_SprMFCRF : InstrItinClass;84def IIC_SprMFMSR : InstrItinClass;85def IIC_SprMFSPR : InstrItinClass;86def IIC_SprMFTB : InstrItinClass;87def IIC_SprMTSPR : InstrItinClass;88def IIC_SprMTSRIN : InstrItinClass;89def IIC_SprRFI : InstrItinClass;90def IIC_SprSC : InstrItinClass;91def IIC_FPGeneral : InstrItinClass;92def IIC_FPDGeneral : InstrItinClass;93def IIC_FPSGeneral : InstrItinClass;94def IIC_FPAddSub : InstrItinClass;95def IIC_FPCompare : InstrItinClass;96def IIC_FPDivD : InstrItinClass;97def IIC_FPDivS : InstrItinClass;98def IIC_FPFused : InstrItinClass;99def IIC_FPRes : InstrItinClass;100def IIC_FPSqrtD : InstrItinClass;101def IIC_FPSqrtS : InstrItinClass;102def IIC_VecGeneral : InstrItinClass;103def IIC_VecFP : InstrItinClass;104def IIC_VecFPCompare : InstrItinClass;105def IIC_VecComplex : InstrItinClass;106def IIC_VecPerm : InstrItinClass;107def IIC_VecFPRound : InstrItinClass;108def IIC_VecVSL : InstrItinClass;109def IIC_VecVSR : InstrItinClass;110def IIC_SprMTMSRD : InstrItinClass;111def IIC_SprSLIE : InstrItinClass;112def IIC_SprSLBFEE : InstrItinClass;113def IIC_SprSLBIE : InstrItinClass;114def IIC_SprSLBIEG : InstrItinClass;115def IIC_SprSLBMTE : InstrItinClass;116def IIC_SprSLBMFEE : InstrItinClass;117def IIC_SprSLBMFEV : InstrItinClass;118def IIC_SprSLBIA : InstrItinClass;119def IIC_SprSLBSYNC : InstrItinClass;120def IIC_SprTLBIA : InstrItinClass;121def IIC_SprTLBIEL : InstrItinClass;122def IIC_SprTLBIE : InstrItinClass;123def IIC_SprABORT : InstrItinClass;124def IIC_SprMSGSYNC : InstrItinClass;125def IIC_SprSTOP : InstrItinClass;126def IIC_SprMFPMR : InstrItinClass;127def IIC_SprMTPMR : InstrItinClass;128 129//===----------------------------------------------------------------------===//130// Processor instruction itineraries.131include "PPCInstrInfo.td"132 133include "PPCSchedPredicates.td"134include "PPCScheduleG3.td"135include "PPCSchedule440.td"136include "PPCScheduleG4.td"137include "PPCScheduleG4Plus.td"138include "PPCScheduleG5.td"139include "PPCScheduleP7.td"140include "PPCScheduleP8.td"141include "PPCScheduleP9.td"142include "PPCScheduleP10.td"143include "PPCScheduleA2.td"144include "PPCScheduleE500.td"145include "PPCScheduleE500mc.td"146include "PPCScheduleE5500.td"147