1 //===-- Processors.td - R600 Processor definitions ------------------------===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 class Proc<string Name, ProcessorItineraries itin, list<SubtargetFeature> Features>
11 : Processor<Name, itin, Features>;
13 //===----------------------------------------------------------------------===//
15 //===----------------------------------------------------------------------===//
16 def : Proc<"r600", R600_VLIW5_Itin,
17 [FeatureR600, FeatureVertexCache, FeatureWavefrontSize64]>;
19 def : Proc<"r630", R600_VLIW5_Itin,
20 [FeatureR600, FeatureVertexCache, FeatureWavefrontSize32]>;
22 def : Proc<"rs880", R600_VLIW5_Itin,
23 [FeatureR600, FeatureWavefrontSize16]>;
25 def : Proc<"rv670", R600_VLIW5_Itin,
26 [FeatureR600, FeatureFP64, FeatureVertexCache, FeatureWavefrontSize64]>;
28 //===----------------------------------------------------------------------===//
30 //===----------------------------------------------------------------------===//
32 def : Proc<"rv710", R600_VLIW5_Itin,
33 [FeatureR700, FeatureVertexCache, FeatureWavefrontSize32]>;
35 def : Proc<"rv730", R600_VLIW5_Itin,
36 [FeatureR700, FeatureVertexCache, FeatureWavefrontSize32]>;
38 def : Proc<"rv770", R600_VLIW5_Itin,
39 [FeatureR700, FeatureFP64, FeatureVertexCache, FeatureWavefrontSize64]>;
41 //===----------------------------------------------------------------------===//
43 //===----------------------------------------------------------------------===//
45 def : Proc<"cedar", R600_VLIW5_Itin,
46 [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize32,
49 def : Proc<"redwood", R600_VLIW5_Itin,
50 [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize64,
53 def : Proc<"sumo", R600_VLIW5_Itin,
54 [FeatureEvergreen, FeatureWavefrontSize64, FeatureCFALUBug]>;
56 def : Proc<"juniper", R600_VLIW5_Itin,
57 [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize64]>;
59 def : Proc<"cypress", R600_VLIW5_Itin,
60 [FeatureEvergreen, FeatureFP64, FeatureVertexCache,
61 FeatureWavefrontSize64]>;
63 //===----------------------------------------------------------------------===//
65 //===----------------------------------------------------------------------===//
67 def : Proc<"barts", R600_VLIW5_Itin,
68 [FeatureNorthernIslands, FeatureVertexCache, FeatureCFALUBug]>;
70 def : Proc<"turks", R600_VLIW5_Itin,
71 [FeatureNorthernIslands, FeatureVertexCache, FeatureCFALUBug]>;
73 def : Proc<"caicos", R600_VLIW5_Itin,
74 [FeatureNorthernIslands, FeatureCFALUBug]>;
76 def : Proc<"cayman", R600_VLIW4_Itin,
77 [FeatureNorthernIslands, FeatureFP64, FeatureCaymanISA]>;
79 //===----------------------------------------------------------------------===//
81 //===----------------------------------------------------------------------===//
83 def : ProcessorModel<"gfx600", SIFullSpeedModel,
84 [FeatureISAVersion6_0_0]>;
86 def : ProcessorModel<"SI", SIFullSpeedModel,
87 [FeatureISAVersion6_0_0]
90 def : ProcessorModel<"tahiti", SIFullSpeedModel,
91 [FeatureISAVersion6_0_0]
94 def : ProcessorModel<"gfx601", SIQuarterSpeedModel,
95 [FeatureISAVersion6_0_1]
98 def : ProcessorModel<"pitcairn", SIQuarterSpeedModel,
99 [FeatureISAVersion6_0_1]>;
101 def : ProcessorModel<"verde", SIQuarterSpeedModel,
102 [FeatureISAVersion6_0_1]>;
104 def : ProcessorModel<"oland", SIQuarterSpeedModel,
105 [FeatureISAVersion6_0_1]>;
107 def : ProcessorModel<"hainan", SIQuarterSpeedModel, [FeatureISAVersion6_0_1]>;
109 //===----------------------------------------------------------------------===//
111 //===----------------------------------------------------------------------===//
113 def : ProcessorModel<"gfx700", SIQuarterSpeedModel,
114 [FeatureISAVersion7_0_0]
117 def : ProcessorModel<"bonaire", SIQuarterSpeedModel,
118 [FeatureISAVersion7_0_0]
121 def : ProcessorModel<"kaveri", SIQuarterSpeedModel,
122 [FeatureISAVersion7_0_0]
125 def : ProcessorModel<"gfx701", SIFullSpeedModel,
126 [FeatureISAVersion7_0_1]
129 def : ProcessorModel<"hawaii", SIFullSpeedModel,
130 [FeatureISAVersion7_0_1]
133 def : ProcessorModel<"gfx702", SIQuarterSpeedModel,
134 [FeatureISAVersion7_0_2]
137 def : ProcessorModel<"gfx703", SIQuarterSpeedModel,
138 [FeatureISAVersion7_0_3]
141 def : ProcessorModel<"kabini", SIQuarterSpeedModel,
142 [FeatureISAVersion7_0_3]
145 def : ProcessorModel<"mullins", SIQuarterSpeedModel,
146 [FeatureISAVersion7_0_3]>;
148 //===----------------------------------------------------------------------===//
150 //===----------------------------------------------------------------------===//
152 def : ProcessorModel<"tonga", SIQuarterSpeedModel,
153 [FeatureISAVersion8_0_2]
156 def : ProcessorModel<"iceland", SIQuarterSpeedModel,
157 [FeatureISAVersion8_0_0]
160 def : ProcessorModel<"carrizo", SIQuarterSpeedModel,
161 [FeatureISAVersion8_0_1]
164 def : ProcessorModel<"fiji", SIQuarterSpeedModel,
165 [FeatureISAVersion8_0_3]
168 def : ProcessorModel<"stoney", SIQuarterSpeedModel,
169 [FeatureISAVersion8_1_0]
172 def : ProcessorModel<"polaris10", SIQuarterSpeedModel,
173 [FeatureISAVersion8_0_3]
176 def : ProcessorModel<"polaris11", SIQuarterSpeedModel,
177 [FeatureISAVersion8_0_3]
180 def : ProcessorModel<"gfx800", SIQuarterSpeedModel,
181 [FeatureISAVersion8_0_0]
184 def : ProcessorModel<"gfx801", SIQuarterSpeedModel,
185 [FeatureISAVersion8_0_1]
188 def : ProcessorModel<"gfx802", SIQuarterSpeedModel,
189 [FeatureISAVersion8_0_2]
192 def : ProcessorModel<"gfx803", SIQuarterSpeedModel,
193 [FeatureISAVersion8_0_3]
196 def : ProcessorModel<"gfx804", SIQuarterSpeedModel,
197 [FeatureISAVersion8_0_4]
200 def : ProcessorModel<"gfx810", SIQuarterSpeedModel,
201 [FeatureISAVersion8_1_0]
204 //===----------------------------------------------------------------------===//
206 //===----------------------------------------------------------------------===//
208 def : ProcessorModel<"gfx900", SIQuarterSpeedModel,
209 [FeatureISAVersion9_0_0]
212 def : ProcessorModel<"gfx901", SIQuarterSpeedModel,
213 [FeatureISAVersion9_0_1]
216 def : ProcessorModel<"gfx902", SIQuarterSpeedModel,
217 [FeatureISAVersion9_0_2]
220 def : ProcessorModel<"gfx903", SIQuarterSpeedModel,
221 [FeatureISAVersion9_0_3]