blob: d30d1d382588c248db2ccea48280fd964273fae9 [file] [log] [blame]
Tom Stellardc2516c62013-05-03 17:21:14 +00001//===-- Processors.td - R600 Processor definitions ------------------------===//
Tom Stellard75aadc22012-12-11 21:25:42 +00002//
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//===----------------------------------------------------------------------===//
Tom Stellard75aadc22012-12-11 21:25:42 +00009
10class Proc<string Name, ProcessorItineraries itin, list<SubtargetFeature> Features>
11: Processor<Name, itin, Features>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000012
13//===----------------------------------------------------------------------===//
14// R600
15//===----------------------------------------------------------------------===//
Vincent Lejeune076c0b22013-04-30 00:14:17 +000016def : Proc<"r600", R600_VLIW5_Itin,
Matt Arsenault8e001942016-06-02 18:37:16 +000017 [FeatureR600, FeatureVertexCache, FeatureWavefrontSize64]>;
Tom Stellard8c347b02014-01-22 21:55:40 +000018
19def : Proc<"r630", R600_VLIW5_Itin,
20 [FeatureR600, FeatureVertexCache, FeatureWavefrontSize32]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000021
Vincent Lejeune076c0b22013-04-30 00:14:17 +000022def : Proc<"rs880", R600_VLIW5_Itin,
Tom Stellard8c347b02014-01-22 21:55:40 +000023 [FeatureR600, FeatureWavefrontSize16]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000024
Vincent Lejeune076c0b22013-04-30 00:14:17 +000025def : Proc<"rv670", R600_VLIW5_Itin,
Tom Stellard8c347b02014-01-22 21:55:40 +000026 [FeatureR600, FeatureFP64, FeatureVertexCache, FeatureWavefrontSize64]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000027
28//===----------------------------------------------------------------------===//
29// R700
30//===----------------------------------------------------------------------===//
31
Vincent Lejeune076c0b22013-04-30 00:14:17 +000032def : Proc<"rv710", R600_VLIW5_Itin,
Tom Stellard8c347b02014-01-22 21:55:40 +000033 [FeatureR700, FeatureVertexCache, FeatureWavefrontSize32]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000034
Vincent Lejeune076c0b22013-04-30 00:14:17 +000035def : Proc<"rv730", R600_VLIW5_Itin,
Tom Stellard8c347b02014-01-22 21:55:40 +000036 [FeatureR700, FeatureVertexCache, FeatureWavefrontSize32]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000037
Vincent Lejeune076c0b22013-04-30 00:14:17 +000038def : Proc<"rv770", R600_VLIW5_Itin,
Tom Stellard8c347b02014-01-22 21:55:40 +000039 [FeatureR700, FeatureFP64, FeatureVertexCache, FeatureWavefrontSize64]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000040
41//===----------------------------------------------------------------------===//
42// Evergreen
43//===----------------------------------------------------------------------===//
44
Vincent Lejeune076c0b22013-04-30 00:14:17 +000045def : Proc<"cedar", R600_VLIW5_Itin,
Tom Stellard348273d2014-01-23 16:18:02 +000046 [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize32,
47 FeatureCFALUBug]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000048
Vincent Lejeune076c0b22013-04-30 00:14:17 +000049def : Proc<"redwood", R600_VLIW5_Itin,
Tom Stellard348273d2014-01-23 16:18:02 +000050 [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize64,
51 FeatureCFALUBug]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000052
Vincent Lejeune076c0b22013-04-30 00:14:17 +000053def : Proc<"sumo", R600_VLIW5_Itin,
Tom Stellard348273d2014-01-23 16:18:02 +000054 [FeatureEvergreen, FeatureWavefrontSize64, FeatureCFALUBug]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000055
Vincent Lejeune076c0b22013-04-30 00:14:17 +000056def : Proc<"juniper", R600_VLIW5_Itin,
Tom Stellard8c347b02014-01-22 21:55:40 +000057 [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize64]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000058
Vincent Lejeune076c0b22013-04-30 00:14:17 +000059def : Proc<"cypress", R600_VLIW5_Itin,
Tom Stellard8c347b02014-01-22 21:55:40 +000060 [FeatureEvergreen, FeatureFP64, FeatureVertexCache,
61 FeatureWavefrontSize64]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000062
63//===----------------------------------------------------------------------===//
64// Northern Islands
65//===----------------------------------------------------------------------===//
66
Vincent Lejeune076c0b22013-04-30 00:14:17 +000067def : Proc<"barts", R600_VLIW5_Itin,
Tom Stellard348273d2014-01-23 16:18:02 +000068 [FeatureNorthernIslands, FeatureVertexCache, FeatureCFALUBug]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000069
Vincent Lejeune076c0b22013-04-30 00:14:17 +000070def : Proc<"turks", R600_VLIW5_Itin,
Tom Stellard348273d2014-01-23 16:18:02 +000071 [FeatureNorthernIslands, FeatureVertexCache, FeatureCFALUBug]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000072
Vincent Lejeune076c0b22013-04-30 00:14:17 +000073def : Proc<"caicos", R600_VLIW5_Itin,
Tom Stellard348273d2014-01-23 16:18:02 +000074 [FeatureNorthernIslands, FeatureCFALUBug]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000075
Vincent Lejeune076c0b22013-04-30 00:14:17 +000076def : Proc<"cayman", R600_VLIW4_Itin,
Tom Stellarda6c6e1b2013-06-07 20:37:48 +000077 [FeatureNorthernIslands, FeatureFP64, FeatureCaymanISA]>;
Tom Stellard3498e4f2013-06-07 20:28:55 +000078
Tom Stellardd7e146e2013-12-11 17:51:51 +000079//===----------------------------------------------------------------------===//
80// Southern Islands
81//===----------------------------------------------------------------------===//
82
Matt Arsenault8bcf2f22017-06-26 03:01:36 +000083def : ProcessorModel<"gfx600", SIFullSpeedModel,
Wei Ding7c3e5112017-06-10 03:53:19 +000084 [FeatureISAVersion6_0_0]>;
85
86def : ProcessorModel<"SI", SIFullSpeedModel,
87 [FeatureISAVersion6_0_0]
Matt Arsenaultb035a572015-01-29 19:34:25 +000088>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000089
Wei Ding7c3e5112017-06-10 03:53:19 +000090def : ProcessorModel<"tahiti", SIFullSpeedModel,
91 [FeatureISAVersion6_0_0]
Matt Arsenaultb035a572015-01-29 19:34:25 +000092>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000093
Wei Ding7c3e5112017-06-10 03:53:19 +000094def : ProcessorModel<"gfx601", SIQuarterSpeedModel,
95 [FeatureISAVersion6_0_1]
96>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000097
Matt Arsenault8bcf2f22017-06-26 03:01:36 +000098def : ProcessorModel<"pitcairn", SIQuarterSpeedModel,
Wei Ding7c3e5112017-06-10 03:53:19 +000099 [FeatureISAVersion6_0_1]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +0000100
Wei Ding7c3e5112017-06-10 03:53:19 +0000101def : ProcessorModel<"verde", SIQuarterSpeedModel,
102 [FeatureISAVersion6_0_1]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +0000103
Wei Ding7c3e5112017-06-10 03:53:19 +0000104def : ProcessorModel<"oland", SIQuarterSpeedModel,
105 [FeatureISAVersion6_0_1]>;
106
107def : ProcessorModel<"hainan", SIQuarterSpeedModel, [FeatureISAVersion6_0_1]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +0000108
109//===----------------------------------------------------------------------===//
110// Sea Islands
111//===----------------------------------------------------------------------===//
112
Wei Ding7c3e5112017-06-10 03:53:19 +0000113def : ProcessorModel<"gfx700", SIQuarterSpeedModel,
114 [FeatureISAVersion7_0_0]
115>;
116
Tom Stellardec87f842015-05-25 16:15:54 +0000117def : ProcessorModel<"bonaire", SIQuarterSpeedModel,
Yaxun Liu94add852016-10-26 16:37:56 +0000118 [FeatureISAVersion7_0_0]
Matt Arsenaultb035a572015-01-29 19:34:25 +0000119>;
Tom Stellard10b15022014-05-02 15:41:49 +0000120
Tom Stellardec87f842015-05-25 16:15:54 +0000121def : ProcessorModel<"kaveri", SIQuarterSpeedModel,
Yaxun Liu94add852016-10-26 16:37:56 +0000122 [FeatureISAVersion7_0_0]
Tom Stellardec87f842015-05-25 16:15:54 +0000123>;
124
Yaxun Liu94add852016-10-26 16:37:56 +0000125def : ProcessorModel<"gfx701", SIFullSpeedModel,
126 [FeatureISAVersion7_0_1]
127>;
128
Wei Ding7c3e5112017-06-10 03:53:19 +0000129def : ProcessorModel<"hawaii", SIFullSpeedModel,
130 [FeatureISAVersion7_0_1]
131>;
132
Yaxun Liu94add852016-10-26 16:37:56 +0000133def : ProcessorModel<"gfx702", SIQuarterSpeedModel,
134 [FeatureISAVersion7_0_2]
135>;
Marek Olsak5df00d62014-12-07 12:18:57 +0000136
Wei Ding7c3e5112017-06-10 03:53:19 +0000137def : ProcessorModel<"gfx703", SIQuarterSpeedModel,
138 [FeatureISAVersion7_0_3]
139>;
140
141def : ProcessorModel<"kabini", SIQuarterSpeedModel,
142 [FeatureISAVersion7_0_3]
143>;
144
145def : ProcessorModel<"mullins", SIQuarterSpeedModel,
146 [FeatureISAVersion7_0_3]>;
147
Tom Stellardae38f302015-01-14 01:13:19 +0000148//===----------------------------------------------------------------------===//
149// Volcanic Islands
150//===----------------------------------------------------------------------===//
Marek Olsak5df00d62014-12-07 12:18:57 +0000151
Marek Olsak4d00dd22015-03-09 15:48:09 +0000152def : ProcessorModel<"tonga", SIQuarterSpeedModel,
Yaxun Liu94add852016-10-26 16:37:56 +0000153 [FeatureISAVersion8_0_2]
Marek Olsak4d00dd22015-03-09 15:48:09 +0000154>;
Marek Olsak5df00d62014-12-07 12:18:57 +0000155
Marek Olsak4d00dd22015-03-09 15:48:09 +0000156def : ProcessorModel<"iceland", SIQuarterSpeedModel,
Yaxun Liu94add852016-10-26 16:37:56 +0000157 [FeatureISAVersion8_0_0]
Marek Olsak4d00dd22015-03-09 15:48:09 +0000158>;
Tom Stellardae38f302015-01-14 01:13:19 +0000159
Tom Stellard347ac792015-06-26 21:15:07 +0000160def : ProcessorModel<"carrizo", SIQuarterSpeedModel,
Yaxun Liu94add852016-10-26 16:37:56 +0000161 [FeatureISAVersion8_0_1]
Tom Stellard347ac792015-06-26 21:15:07 +0000162>;
Tom Stellardd4886052015-08-06 19:43:02 +0000163
Yaxun Liu94add852016-10-26 16:37:56 +0000164def : ProcessorModel<"fiji", SIQuarterSpeedModel,
165 [FeatureISAVersion8_0_3]
Tom Stellardd4886052015-08-06 19:43:02 +0000166>;
Tom Stellardafd6e2f2015-11-13 17:06:32 +0000167
Yaxun Liu94add852016-10-26 16:37:56 +0000168def : ProcessorModel<"stoney", SIQuarterSpeedModel,
169 [FeatureISAVersion8_1_0]
Tom Stellardafd6e2f2015-11-13 17:06:32 +0000170>;
Tom Stellard9babad22016-03-24 15:31:05 +0000171
172def : ProcessorModel<"polaris10", SIQuarterSpeedModel,
Yaxun Liu94add852016-10-26 16:37:56 +0000173 [FeatureISAVersion8_0_3]
Tom Stellard9babad22016-03-24 15:31:05 +0000174>;
175
176def : ProcessorModel<"polaris11", SIQuarterSpeedModel,
Yaxun Liu94add852016-10-26 16:37:56 +0000177 [FeatureISAVersion8_0_3]
Tom Stellard9babad22016-03-24 15:31:05 +0000178>;
Yaxun Liu94add852016-10-26 16:37:56 +0000179
180def : ProcessorModel<"gfx800", SIQuarterSpeedModel,
181 [FeatureISAVersion8_0_0]
182>;
183
184def : ProcessorModel<"gfx801", SIQuarterSpeedModel,
185 [FeatureISAVersion8_0_1]
186>;
187
188def : ProcessorModel<"gfx802", SIQuarterSpeedModel,
189 [FeatureISAVersion8_0_2]
190>;
191
192def : ProcessorModel<"gfx803", SIQuarterSpeedModel,
193 [FeatureISAVersion8_0_3]
194>;
195
196def : ProcessorModel<"gfx804", SIQuarterSpeedModel,
197 [FeatureISAVersion8_0_4]
198>;
199
200def : ProcessorModel<"gfx810", SIQuarterSpeedModel,
201 [FeatureISAVersion8_1_0]
202>;
203
Wei Ding7c3e5112017-06-10 03:53:19 +0000204//===----------------------------------------------------------------------===//
205// GFX9
206//===----------------------------------------------------------------------===//
207
208def : ProcessorModel<"gfx900", SIQuarterSpeedModel,
209 [FeatureISAVersion9_0_0]
Matt Arsenaulte823d922017-02-18 18:29:53 +0000210>;
211
Wei Ding7c3e5112017-06-10 03:53:19 +0000212def : ProcessorModel<"gfx901", SIQuarterSpeedModel,
213 [FeatureISAVersion9_0_1]
Matt Arsenaulte823d922017-02-18 18:29:53 +0000214>;
Wei Ding7c3e5112017-06-10 03:53:19 +0000215
216def : ProcessorModel<"gfx902", SIQuarterSpeedModel,
217 [FeatureISAVersion9_0_2]
218>;
219
220def : ProcessorModel<"gfx903", SIQuarterSpeedModel,
221 [FeatureISAVersion9_0_3]
222>;
223