• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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