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_VLIW5_Itin,
17 [FeatureR600, FeatureVertexCache]>;
19 def : Proc<"r600", R600_VLIW5_Itin,
20 [FeatureR600 , FeatureVertexCache, FeatureWavefrontSize64]>;
22 def : Proc<"r630", R600_VLIW5_Itin,
23 [FeatureR600, FeatureVertexCache, FeatureWavefrontSize32]>;
25 def : Proc<"rs880", R600_VLIW5_Itin,
26 [FeatureR600, FeatureWavefrontSize16]>;
28 def : Proc<"rv670", R600_VLIW5_Itin,
29 [FeatureR600, FeatureFP64, FeatureVertexCache, FeatureWavefrontSize64]>;
31 //===----------------------------------------------------------------------===//
33 //===----------------------------------------------------------------------===//
35 def : Proc<"rv710", R600_VLIW5_Itin,
36 [FeatureR700, FeatureVertexCache, FeatureWavefrontSize32]>;
38 def : Proc<"rv730", R600_VLIW5_Itin,
39 [FeatureR700, FeatureVertexCache, FeatureWavefrontSize32]>;
41 def : Proc<"rv770", R600_VLIW5_Itin,
42 [FeatureR700, FeatureFP64, FeatureVertexCache, FeatureWavefrontSize64]>;
44 //===----------------------------------------------------------------------===//
46 //===----------------------------------------------------------------------===//
48 def : Proc<"cedar", R600_VLIW5_Itin,
49 [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize32,
52 def : Proc<"redwood", R600_VLIW5_Itin,
53 [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize64,
56 def : Proc<"sumo", R600_VLIW5_Itin,
57 [FeatureEvergreen, FeatureWavefrontSize64, FeatureCFALUBug]>;
59 def : Proc<"juniper", R600_VLIW5_Itin,
60 [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize64]>;
62 def : Proc<"cypress", R600_VLIW5_Itin,
63 [FeatureEvergreen, FeatureFP64, FeatureVertexCache,
64 FeatureWavefrontSize64]>;
66 //===----------------------------------------------------------------------===//
68 //===----------------------------------------------------------------------===//
70 def : Proc<"barts", R600_VLIW5_Itin,
71 [FeatureNorthernIslands, FeatureVertexCache, FeatureCFALUBug]>;
73 def : Proc<"turks", R600_VLIW5_Itin,
74 [FeatureNorthernIslands, FeatureVertexCache, FeatureCFALUBug]>;
76 def : Proc<"caicos", R600_VLIW5_Itin,
77 [FeatureNorthernIslands, FeatureCFALUBug]>;
79 def : Proc<"cayman", R600_VLIW4_Itin,
80 [FeatureNorthernIslands, FeatureFP64, FeatureCaymanISA]>;
82 //===----------------------------------------------------------------------===//
84 //===----------------------------------------------------------------------===//
86 def : ProcessorModel<"SI", SIFullSpeedModel,
87 [FeatureSouthernIslands, FeatureFastFMAF32]
90 def : ProcessorModel<"tahiti", SIFullSpeedModel,
91 [FeatureSouthernIslands, FeatureFastFMAF32]
94 def : ProcessorModel<"pitcairn", SIQuarterSpeedModel, [FeatureSouthernIslands]>;
96 def : ProcessorModel<"verde", SIQuarterSpeedModel, [FeatureSouthernIslands]>;
98 def : ProcessorModel<"oland", SIQuarterSpeedModel, [FeatureSouthernIslands]>;
100 def : ProcessorModel<"hainan", SIQuarterSpeedModel, [FeatureSouthernIslands]>;
102 //===----------------------------------------------------------------------===//
104 //===----------------------------------------------------------------------===//
106 def : ProcessorModel<"bonaire", SIQuarterSpeedModel,
107 [FeatureSeaIslands, FeatureLDSBankCount32, FeatureISAVersion7_0_0]
110 def : ProcessorModel<"kabini", SIQuarterSpeedModel,
111 [FeatureSeaIslands, FeatureLDSBankCount16]
114 def : ProcessorModel<"kaveri", SIQuarterSpeedModel,
115 [FeatureSeaIslands, FeatureLDSBankCount32, FeatureISAVersion7_0_0]
118 def : ProcessorModel<"hawaii", SIFullSpeedModel,
119 [FeatureSeaIslands, FeatureFastFMAF32, FeatureLDSBankCount32,
120 FeatureISAVersion7_0_1]
123 def : ProcessorModel<"mullins", SIQuarterSpeedModel,
124 [FeatureSeaIslands, FeatureLDSBankCount16]>;
126 //===----------------------------------------------------------------------===//
128 //===----------------------------------------------------------------------===//
130 def : ProcessorModel<"tonga", SIQuarterSpeedModel,
131 [FeatureVolcanicIslands, FeatureSGPRInitBug, FeatureISAVersion8_0_0]
134 def : ProcessorModel<"iceland", SIQuarterSpeedModel,
135 [FeatureVolcanicIslands, FeatureSGPRInitBug, FeatureISAVersion8_0_0]
138 def : ProcessorModel<"carrizo", SIQuarterSpeedModel,
139 [FeatureVolcanicIslands, FeatureISAVersion8_0_1]
142 def : ProcessorModel<"fiji", SIQuarterSpeedModel,
143 [FeatureVolcanicIslands, FeatureISAVersion8_0_1]
146 def : ProcessorModel<"stoney", SIQuarterSpeedModel,
147 [FeatureVolcanicIslands, FeatureISAVersion8_0_1]