140 lines
5.2 KiB
TableGen
140 lines
5.2 KiB
TableGen
|
//===-- PPCSchedule.td - PowerPC Scheduling Definitions ----*- tablegen -*-===//
|
||
|
//
|
||
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||
|
// See https://llvm.org/LICENSE.txt for license information.
|
||
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||
|
//
|
||
|
//===----------------------------------------------------------------------===//
|
||
|
|
||
|
//===----------------------------------------------------------------------===//
|
||
|
// Instruction Itinerary classes used for PowerPC
|
||
|
//
|
||
|
def IIC_IntSimple : InstrItinClass;
|
||
|
def IIC_IntGeneral : InstrItinClass;
|
||
|
def IIC_IntCompare : InstrItinClass;
|
||
|
def IIC_IntISEL : InstrItinClass;
|
||
|
def IIC_IntDivD : InstrItinClass;
|
||
|
def IIC_IntDivW : InstrItinClass;
|
||
|
def IIC_IntMFFS : InstrItinClass;
|
||
|
def IIC_IntMFVSCR : InstrItinClass;
|
||
|
def IIC_IntMTFSB0 : InstrItinClass;
|
||
|
def IIC_IntMTSRD : InstrItinClass;
|
||
|
def IIC_IntMulHD : InstrItinClass;
|
||
|
def IIC_IntMulHW : InstrItinClass;
|
||
|
def IIC_IntMulHWU : InstrItinClass;
|
||
|
def IIC_IntMulLI : InstrItinClass;
|
||
|
def IIC_IntRFID : InstrItinClass;
|
||
|
def IIC_IntRotateD : InstrItinClass;
|
||
|
def IIC_IntRotateDI : InstrItinClass;
|
||
|
def IIC_IntRotate : InstrItinClass;
|
||
|
def IIC_IntShift : InstrItinClass;
|
||
|
def IIC_IntTrapD : InstrItinClass;
|
||
|
def IIC_IntTrapW : InstrItinClass;
|
||
|
def IIC_BrB : InstrItinClass;
|
||
|
def IIC_BrCR : InstrItinClass;
|
||
|
def IIC_BrMCR : InstrItinClass;
|
||
|
def IIC_BrMCRX : InstrItinClass;
|
||
|
def IIC_LdStDCBA : InstrItinClass;
|
||
|
def IIC_LdStDCBF : InstrItinClass;
|
||
|
def IIC_LdStDCBI : InstrItinClass;
|
||
|
def IIC_LdStLoad : InstrItinClass;
|
||
|
def IIC_LdStLoadUpd : InstrItinClass;
|
||
|
def IIC_LdStLoadUpdX : InstrItinClass;
|
||
|
def IIC_LdStStore : InstrItinClass;
|
||
|
def IIC_LdStDSS : InstrItinClass;
|
||
|
def IIC_LdStICBI : InstrItinClass;
|
||
|
def IIC_LdStLD : InstrItinClass;
|
||
|
def IIC_LdStLDU : InstrItinClass;
|
||
|
def IIC_LdStLDUX : InstrItinClass;
|
||
|
def IIC_LdStLDARX : InstrItinClass;
|
||
|
def IIC_LdStLFD : InstrItinClass;
|
||
|
def IIC_LdStLFDU : InstrItinClass;
|
||
|
def IIC_LdStLFDUX : InstrItinClass;
|
||
|
def IIC_LdStLHA : InstrItinClass;
|
||
|
def IIC_LdStLHAU : InstrItinClass;
|
||
|
def IIC_LdStLHAUX : InstrItinClass;
|
||
|
def IIC_LdStLMW : InstrItinClass;
|
||
|
def IIC_LdStLVecX : InstrItinClass;
|
||
|
def IIC_LdStLWA : InstrItinClass;
|
||
|
def IIC_LdStLWARX : InstrItinClass;
|
||
|
def IIC_LdStSLBIA : InstrItinClass;
|
||
|
def IIC_LdStSLBIE : InstrItinClass;
|
||
|
def IIC_LdStSTD : InstrItinClass;
|
||
|
def IIC_LdStSTDCX : InstrItinClass;
|
||
|
def IIC_LdStSTU : InstrItinClass;
|
||
|
def IIC_LdStSTUX : InstrItinClass;
|
||
|
def IIC_LdStSTFD : InstrItinClass;
|
||
|
def IIC_LdStSTFDU : InstrItinClass;
|
||
|
def IIC_LdStSTVEBX : InstrItinClass;
|
||
|
def IIC_LdStSTWCX : InstrItinClass;
|
||
|
def IIC_LdStSync : InstrItinClass;
|
||
|
def IIC_LdStCOPY : InstrItinClass;
|
||
|
def IIC_LdStPASTE : InstrItinClass;
|
||
|
def IIC_SprISYNC : InstrItinClass;
|
||
|
def IIC_SprMFSR : InstrItinClass;
|
||
|
def IIC_SprMTMSR : InstrItinClass;
|
||
|
def IIC_SprMTSR : InstrItinClass;
|
||
|
def IIC_SprTLBSYNC : InstrItinClass;
|
||
|
def IIC_SprMFCR : InstrItinClass;
|
||
|
def IIC_SprMFCRF : InstrItinClass;
|
||
|
def IIC_SprMFMSR : InstrItinClass;
|
||
|
def IIC_SprMFSPR : InstrItinClass;
|
||
|
def IIC_SprMFTB : InstrItinClass;
|
||
|
def IIC_SprMTSPR : InstrItinClass;
|
||
|
def IIC_SprMTSRIN : InstrItinClass;
|
||
|
def IIC_SprRFI : InstrItinClass;
|
||
|
def IIC_SprSC : InstrItinClass;
|
||
|
def IIC_FPGeneral : InstrItinClass;
|
||
|
def IIC_FPDGeneral : InstrItinClass;
|
||
|
def IIC_FPSGeneral : InstrItinClass;
|
||
|
def IIC_FPAddSub : InstrItinClass;
|
||
|
def IIC_FPCompare : InstrItinClass;
|
||
|
def IIC_FPDivD : InstrItinClass;
|
||
|
def IIC_FPDivS : InstrItinClass;
|
||
|
def IIC_FPFused : InstrItinClass;
|
||
|
def IIC_FPRes : InstrItinClass;
|
||
|
def IIC_FPSqrtD : InstrItinClass;
|
||
|
def IIC_FPSqrtS : InstrItinClass;
|
||
|
def IIC_VecGeneral : InstrItinClass;
|
||
|
def IIC_VecFP : InstrItinClass;
|
||
|
def IIC_VecFPCompare : InstrItinClass;
|
||
|
def IIC_VecComplex : InstrItinClass;
|
||
|
def IIC_VecPerm : InstrItinClass;
|
||
|
def IIC_VecFPRound : InstrItinClass;
|
||
|
def IIC_VecVSL : InstrItinClass;
|
||
|
def IIC_VecVSR : InstrItinClass;
|
||
|
def IIC_SprMTMSRD : InstrItinClass;
|
||
|
def IIC_SprSLIE : InstrItinClass;
|
||
|
def IIC_SprSLBFEE : InstrItinClass;
|
||
|
def IIC_SprSLBIE : InstrItinClass;
|
||
|
def IIC_SprSLBIEG : InstrItinClass;
|
||
|
def IIC_SprSLBMTE : InstrItinClass;
|
||
|
def IIC_SprSLBMFEE : InstrItinClass;
|
||
|
def IIC_SprSLBMFEV : InstrItinClass;
|
||
|
def IIC_SprSLBIA : InstrItinClass;
|
||
|
def IIC_SprSLBSYNC : InstrItinClass;
|
||
|
def IIC_SprTLBIA : InstrItinClass;
|
||
|
def IIC_SprTLBIEL : InstrItinClass;
|
||
|
def IIC_SprTLBIE : InstrItinClass;
|
||
|
def IIC_SprABORT : InstrItinClass;
|
||
|
def IIC_SprMSGSYNC : InstrItinClass;
|
||
|
def IIC_SprSTOP : InstrItinClass;
|
||
|
def IIC_SprMFPMR : InstrItinClass;
|
||
|
def IIC_SprMTPMR : InstrItinClass;
|
||
|
|
||
|
//===----------------------------------------------------------------------===//
|
||
|
// Processor instruction itineraries.
|
||
|
|
||
|
include "PPCScheduleG3.td"
|
||
|
include "PPCSchedule440.td"
|
||
|
include "PPCScheduleG4.td"
|
||
|
include "PPCScheduleG4Plus.td"
|
||
|
include "PPCScheduleG5.td"
|
||
|
include "PPCScheduleP7.td"
|
||
|
include "PPCScheduleP8.td"
|
||
|
include "PPCScheduleP9.td"
|
||
|
include "PPCScheduleA2.td"
|
||
|
include "PPCScheduleE500.td"
|
||
|
include "PPCScheduleE500mc.td"
|
||
|
include "PPCScheduleE5500.td"
|