xref: /llvm-project/llvm/lib/Target/AMDGPU/GCNProcessors.td (revision cd20fc07720520856c385a12b0daa26b9d8a8e44)
1//===-- GCNProcessors.td - GCN Processor definitions ----------------------===//
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-exception
6//
7//===----------------------------------------------------------------------===//
8
9// The code produced for "generic" is only useful for tests and cannot
10// reasonably be expected to execute on any particular target.
11def : ProcessorModel<"generic", NoSchedModel,
12  [FeatureGDS, FeatureGWS]
13>;
14
15def : ProcessorModel<"generic-hsa", NoSchedModel,
16  [FeatureGDS, FeatureGWS, FeatureFlatAddressSpace]
17>;
18
19//===------------------------------------------------------------===//
20// GCN GFX6 (Southern Islands (SI)).
21//===------------------------------------------------------------===//
22
23def : ProcessorModel<"gfx600", SIFullSpeedModel,
24  FeatureISAVersion6_0_0.Features
25>;
26
27def : ProcessorModel<"tahiti", SIFullSpeedModel,
28  FeatureISAVersion6_0_0.Features
29>;
30
31def : ProcessorModel<"gfx601", SIQuarterSpeedModel,
32  FeatureISAVersion6_0_1.Features
33>;
34
35def : ProcessorModel<"pitcairn", SIQuarterSpeedModel,
36  FeatureISAVersion6_0_1.Features
37>;
38
39def : ProcessorModel<"verde", SIQuarterSpeedModel,
40  FeatureISAVersion6_0_1.Features
41>;
42
43def : ProcessorModel<"gfx602", SIQuarterSpeedModel,
44  FeatureISAVersion6_0_2.Features
45>;
46
47def : ProcessorModel<"hainan", SIQuarterSpeedModel,
48  FeatureISAVersion6_0_2.Features
49>;
50
51def : ProcessorModel<"oland", SIQuarterSpeedModel,
52  FeatureISAVersion6_0_2.Features
53>;
54
55//===------------------------------------------------------------===//
56// GCN GFX7 (Sea Islands (CI)).
57//===------------------------------------------------------------===//
58
59def : ProcessorModel<"gfx700", SIQuarterSpeedModel,
60  FeatureISAVersion7_0_0.Features
61>;
62
63def : ProcessorModel<"kaveri", SIQuarterSpeedModel,
64  FeatureISAVersion7_0_0.Features
65>;
66
67def : ProcessorModel<"gfx701", SIFullSpeedModel,
68  FeatureISAVersion7_0_1.Features
69>;
70
71def : ProcessorModel<"hawaii", SIFullSpeedModel,
72  FeatureISAVersion7_0_1.Features
73>;
74
75def : ProcessorModel<"gfx702", SIQuarterSpeedModel,
76  FeatureISAVersion7_0_2.Features
77>;
78
79def : ProcessorModel<"gfx703", SIQuarterSpeedModel,
80  FeatureISAVersion7_0_3.Features
81>;
82
83def : ProcessorModel<"kabini", SIQuarterSpeedModel,
84  FeatureISAVersion7_0_3.Features
85>;
86
87def : ProcessorModel<"mullins", SIQuarterSpeedModel,
88  FeatureISAVersion7_0_3.Features
89>;
90
91def : ProcessorModel<"gfx704", SIQuarterSpeedModel,
92  FeatureISAVersion7_0_4.Features
93>;
94
95def : ProcessorModel<"bonaire", SIQuarterSpeedModel,
96  FeatureISAVersion7_0_4.Features
97>;
98
99def : ProcessorModel<"gfx705", SIQuarterSpeedModel,
100  FeatureISAVersion7_0_5.Features
101>;
102
103//===------------------------------------------------------------===//
104// GCN GFX8 (Volcanic Islands (VI)).
105//===------------------------------------------------------------===//
106
107def : ProcessorModel<"gfx801", SIQuarterSpeedModel,
108  FeatureISAVersion8_0_1.Features
109>;
110
111def : ProcessorModel<"carrizo", SIQuarterSpeedModel,
112  FeatureISAVersion8_0_1.Features
113>;
114
115def : ProcessorModel<"gfx802", SIQuarterSpeedModel,
116  FeatureISAVersion8_0_2.Features
117>;
118
119def : ProcessorModel<"iceland", SIQuarterSpeedModel,
120  FeatureISAVersion8_0_2.Features
121>;
122
123def : ProcessorModel<"tonga", SIQuarterSpeedModel,
124  FeatureISAVersion8_0_2.Features
125>;
126
127def : ProcessorModel<"gfx803", SIQuarterSpeedModel,
128  FeatureISAVersion8_0_3.Features
129>;
130
131def : ProcessorModel<"fiji", SIQuarterSpeedModel,
132  FeatureISAVersion8_0_3.Features
133>;
134
135def : ProcessorModel<"polaris10", SIQuarterSpeedModel,
136  FeatureISAVersion8_0_3.Features
137>;
138
139def : ProcessorModel<"polaris11", SIQuarterSpeedModel,
140  FeatureISAVersion8_0_3.Features
141>;
142
143def : ProcessorModel<"gfx805", SIQuarterSpeedModel,
144  FeatureISAVersion8_0_5.Features
145>;
146
147def : ProcessorModel<"tongapro", SIQuarterSpeedModel,
148  FeatureISAVersion8_0_5.Features
149>;
150
151def : ProcessorModel<"gfx810", SIQuarterSpeedModel,
152  FeatureISAVersion8_1_0.Features
153>;
154
155def : ProcessorModel<"stoney", SIQuarterSpeedModel,
156  FeatureISAVersion8_1_0.Features
157>;
158
159//===------------------------------------------------------------===//
160// GCN GFX9.
161//===------------------------------------------------------------===//
162
163def : ProcessorModel<"gfx900", SIQuarterSpeedModel,
164  FeatureISAVersion9_0_0.Features
165>;
166
167def : ProcessorModel<"gfx902", SIQuarterSpeedModel,
168  FeatureISAVersion9_0_2.Features
169>;
170
171def : ProcessorModel<"gfx904", SIQuarterSpeedModel,
172  FeatureISAVersion9_0_4.Features
173>;
174
175def : ProcessorModel<"gfx906", SIQuarterSpeedModel,
176  FeatureISAVersion9_0_6.Features
177>;
178
179def : ProcessorModel<"gfx908", SIQuarterSpeedModel,
180  FeatureISAVersion9_0_8.Features
181>;
182
183def : ProcessorModel<"gfx909", SIQuarterSpeedModel,
184  FeatureISAVersion9_0_9.Features
185>;
186
187def : ProcessorModel<"gfx90a", SIDPFullSpeedModel,
188  FeatureISAVersion9_0_A.Features
189>;
190
191def : ProcessorModel<"gfx90c", SIQuarterSpeedModel,
192  FeatureISAVersion9_0_C.Features
193>;
194
195def : ProcessorModel<"gfx940", SIDPGFX940FullSpeedModel,
196  FeatureISAVersion9_4_0.Features
197>;
198
199def : ProcessorModel<"gfx941", SIDPGFX940FullSpeedModel,
200  FeatureISAVersion9_4_1.Features
201>;
202
203def : ProcessorModel<"gfx942", SIDPGFX940FullSpeedModel,
204  FeatureISAVersion9_4_2.Features
205>;
206
207def : ProcessorModel<"gfx950", SIDPGFX950FullSpeedModel,
208  FeatureISAVersion9_5_0.Features
209>;
210
211// [gfx900, gfx902, gfx904, gfx906, gfx909, gfx90c]
212def : ProcessorModel<"gfx9-generic", SIQuarterSpeedModel,
213  FeatureISAVersion9_Generic.Features
214>;
215
216// [gfx940, gfx941, gfx942]
217def : ProcessorModel<"gfx9-4-generic", SIDPGFX940FullSpeedModel,
218  FeatureISAVersion9_4_Generic.Features
219>;
220
221//===----------------------------------------------------------------------===//
222// GCN GFX10.
223//===----------------------------------------------------------------------===//
224
225def : ProcessorModel<"gfx1010", GFX10SpeedModel,
226  FeatureISAVersion10_1_0.Features
227>;
228
229def : ProcessorModel<"gfx1011", GFX10SpeedModel,
230  FeatureISAVersion10_1_1.Features
231>;
232
233def : ProcessorModel<"gfx1012", GFX10SpeedModel,
234  FeatureISAVersion10_1_2.Features
235>;
236
237def : ProcessorModel<"gfx1013", GFX10SpeedModel,
238  FeatureISAVersion10_1_3.Features
239>;
240
241def : ProcessorModel<"gfx1030", GFX10SpeedModel,
242  FeatureISAVersion10_3_0.Features
243>;
244
245def : ProcessorModel<"gfx1031", GFX10SpeedModel,
246  FeatureISAVersion10_3_0.Features
247>;
248
249def : ProcessorModel<"gfx1032", GFX10SpeedModel,
250  FeatureISAVersion10_3_0.Features
251>;
252
253def : ProcessorModel<"gfx1033", GFX10SpeedModel,
254  FeatureISAVersion10_3_0.Features
255>;
256
257def : ProcessorModel<"gfx1034", GFX10SpeedModel,
258  FeatureISAVersion10_3_0.Features
259>;
260
261def : ProcessorModel<"gfx1035", GFX10SpeedModel,
262  FeatureISAVersion10_3_0.Features
263>;
264
265def : ProcessorModel<"gfx1036", GFX10SpeedModel,
266  FeatureISAVersion10_3_0.Features
267>;
268
269// [gfx1010, gfx1011, gfx1012, gfx1013]
270def : ProcessorModel<"gfx10-1-generic", GFX10SpeedModel,
271  FeatureISAVersion10_1_Generic.Features
272>;
273
274// [gfx1030, gfx1031, gfx1032, gfx1033, gfx1034, gfx1035, gfx1036]
275def : ProcessorModel<"gfx10-3-generic", GFX10SpeedModel,
276  FeatureISAVersion10_3_Generic.Features
277>;
278
279//===----------------------------------------------------------------------===//
280// GCN GFX11.
281//===----------------------------------------------------------------------===//
282
283def : ProcessorModel<"gfx1100", GFX11SpeedModel,
284  FeatureISAVersion11_0_0.Features
285>;
286
287def : ProcessorModel<"gfx1101", GFX11SpeedModel,
288  FeatureISAVersion11_0_1.Features
289>;
290
291def : ProcessorModel<"gfx1102", GFX11SpeedModel,
292  FeatureISAVersion11_0_2.Features
293>;
294
295def : ProcessorModel<"gfx1103", GFX11SpeedModel,
296  FeatureISAVersion11_0_3.Features
297>;
298
299def : ProcessorModel<"gfx1150", GFX11SpeedModel,
300  FeatureISAVersion11_5_0.Features
301>;
302
303def : ProcessorModel<"gfx1151", GFX11SpeedModel,
304  FeatureISAVersion11_5_1.Features
305>;
306
307def : ProcessorModel<"gfx1152", GFX11SpeedModel,
308  FeatureISAVersion11_5_2.Features
309>;
310
311def : ProcessorModel<"gfx1153", GFX11SpeedModel,
312  FeatureISAVersion11_5_3.Features
313>;
314
315// [gfx1100, gfx1101, gfx1102, gfx1103, gfx1150, gfx1151, gfx1152, gfx1153]
316def : ProcessorModel<"gfx11-generic", GFX11SpeedModel,
317  FeatureISAVersion11_Generic.Features
318>;
319
320//===----------------------------------------------------------------------===//
321// GCN GFX12.
322//===----------------------------------------------------------------------===//
323
324def : ProcessorModel<"gfx1200", GFX12SpeedModel,
325  FeatureISAVersion12.Features
326>;
327
328def : ProcessorModel<"gfx1201", GFX12SpeedModel,
329  FeatureISAVersion12.Features
330>;
331
332// [gfx1200, gfx1201]
333def : ProcessorModel<"gfx12-generic", GFX12SpeedModel,
334  FeatureISAVersion12_Generic.Features
335>;
336