xref: /freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/GCNProcessors.td (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
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  [FeatureWavefrontSize64, FeatureGDS, FeatureGWS]
13>;
14
15def : ProcessorModel<"generic-hsa", NoSchedModel,
16  [FeatureWavefrontSize64, 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
207// [gfx900, gfx902, gfx904, gfx906, gfx909, gfx90c]
208def : ProcessorModel<"gfx9-generic", SIQuarterSpeedModel,
209  FeatureISAVersion9_Generic.Features
210>;
211
212//===----------------------------------------------------------------------===//
213// GCN GFX10.
214//===----------------------------------------------------------------------===//
215
216def : ProcessorModel<"gfx1010", GFX10SpeedModel,
217  FeatureISAVersion10_1_0.Features
218>;
219
220def : ProcessorModel<"gfx1011", GFX10SpeedModel,
221  FeatureISAVersion10_1_1.Features
222>;
223
224def : ProcessorModel<"gfx1012", GFX10SpeedModel,
225  FeatureISAVersion10_1_2.Features
226>;
227
228def : ProcessorModel<"gfx1013", GFX10SpeedModel,
229  FeatureISAVersion10_1_3.Features
230>;
231
232def : ProcessorModel<"gfx1030", GFX10SpeedModel,
233  FeatureISAVersion10_3_0.Features
234>;
235
236def : ProcessorModel<"gfx1031", GFX10SpeedModel,
237  FeatureISAVersion10_3_0.Features
238>;
239
240def : ProcessorModel<"gfx1032", GFX10SpeedModel,
241  FeatureISAVersion10_3_0.Features
242>;
243
244def : ProcessorModel<"gfx1033", GFX10SpeedModel,
245  FeatureISAVersion10_3_0.Features
246>;
247
248def : ProcessorModel<"gfx1034", GFX10SpeedModel,
249  FeatureISAVersion10_3_0.Features
250>;
251
252def : ProcessorModel<"gfx1035", GFX10SpeedModel,
253  FeatureISAVersion10_3_0.Features
254>;
255
256def : ProcessorModel<"gfx1036", GFX10SpeedModel,
257  FeatureISAVersion10_3_0.Features
258>;
259
260// [gfx1010, gfx1011, gfx1012, gfx1013]
261def : ProcessorModel<"gfx10-1-generic", GFX10SpeedModel,
262  FeatureISAVersion10_1_Generic.Features
263>;
264
265// [gfx1030, gfx1031, gfx1032, gfx1033, gfx1034, gfx1035, gfx1036]
266def : ProcessorModel<"gfx10-3-generic", GFX10SpeedModel,
267  FeatureISAVersion10_3_Generic.Features
268>;
269
270//===----------------------------------------------------------------------===//
271// GCN GFX11.
272//===----------------------------------------------------------------------===//
273
274def : ProcessorModel<"gfx1100", GFX11SpeedModel,
275  FeatureISAVersion11_0_0.Features
276>;
277
278def : ProcessorModel<"gfx1101", GFX11SpeedModel,
279  FeatureISAVersion11_0_1.Features
280>;
281
282def : ProcessorModel<"gfx1102", GFX11SpeedModel,
283  FeatureISAVersion11_0_2.Features
284>;
285
286def : ProcessorModel<"gfx1103", GFX11SpeedModel,
287  FeatureISAVersion11_0_3.Features
288>;
289
290def : ProcessorModel<"gfx1150", GFX11SpeedModel,
291  FeatureISAVersion11_5_0.Features
292>;
293
294def : ProcessorModel<"gfx1151", GFX11SpeedModel,
295  FeatureISAVersion11_5_1.Features
296>;
297
298def : ProcessorModel<"gfx1152", GFX11SpeedModel,
299  FeatureISAVersion11_5_2.Features
300>;
301
302// [gfx1100, gfx1101, gfx1102, gfx1103, gfx1150, gfx1151, gfx1152]
303def : ProcessorModel<"gfx11-generic", GFX11SpeedModel,
304  FeatureISAVersion11_Generic.Features
305>;
306
307//===----------------------------------------------------------------------===//
308// GCN GFX12.
309//===----------------------------------------------------------------------===//
310
311def : ProcessorModel<"gfx1200", GFX12SpeedModel,
312  FeatureISAVersion12.Features
313>;
314
315def : ProcessorModel<"gfx1201", GFX12SpeedModel,
316  FeatureISAVersion12.Features
317>;
318
319// [gfx1200, gfx1201]
320def : ProcessorModel<"gfx12-generic", GFX12SpeedModel,
321  FeatureISAVersion12_Generic.Features
322>;
323