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]>;
22 def : Proc<"rs880", R600_VLIW5_Itin,
25 def : Proc<"rv670", R600_VLIW5_Itin,
26 [FeatureR600, FeatureFP64, FeatureVertexCache]>;
28 //===----------------------------------------------------------------------===//
30 //===----------------------------------------------------------------------===//
32 def : Proc<"rv710", R600_VLIW5_Itin,
33 [FeatureR700, FeatureVertexCache]>;
35 def : Proc<"rv730", R600_VLIW5_Itin,
36 [FeatureR700, FeatureVertexCache]>;
38 def : Proc<"rv770", R600_VLIW5_Itin,
39 [FeatureR700, FeatureFP64, FeatureVertexCache]>;
41 //===----------------------------------------------------------------------===//
43 //===----------------------------------------------------------------------===//
45 def : Proc<"cedar", R600_VLIW5_Itin,
46 [FeatureEvergreen, FeatureVertexCache]>;
48 def : Proc<"redwood", R600_VLIW5_Itin,
49 [FeatureEvergreen, FeatureVertexCache]>;
51 def : Proc<"sumo", R600_VLIW5_Itin,
54 def : Proc<"juniper", R600_VLIW5_Itin,
55 [FeatureEvergreen, FeatureVertexCache]>;
57 def : Proc<"cypress", R600_VLIW5_Itin,
58 [FeatureEvergreen, FeatureFP64, FeatureVertexCache]>;
60 //===----------------------------------------------------------------------===//
62 //===----------------------------------------------------------------------===//
64 def : Proc<"barts", R600_VLIW5_Itin,
65 [FeatureNorthernIslands, FeatureVertexCache]>;
67 def : Proc<"turks", R600_VLIW5_Itin,
68 [FeatureNorthernIslands, FeatureVertexCache]>;
70 def : Proc<"caicos", R600_VLIW5_Itin,
71 [FeatureNorthernIslands]>;
73 def : Proc<"cayman", R600_VLIW4_Itin,
74 [FeatureNorthernIslands, FeatureFP64, FeatureCaymanISA]>;
76 //===----------------------------------------------------------------------===//
78 //===----------------------------------------------------------------------===//
80 def : Proc<"SI", SI_Itin, [FeatureSouthernIslands]>;
82 def : Proc<"tahiti", SI_Itin, [FeatureSouthernIslands]>;
84 def : Proc<"pitcairn", SI_Itin, [FeatureSouthernIslands]>;
86 def : Proc<"verde", SI_Itin, [FeatureSouthernIslands]>;
88 def : Proc<"oland", SI_Itin, [FeatureSouthernIslands]>;
90 def : Proc<"hainan", SI_Itin, [FeatureSouthernIslands]>;
92 //===----------------------------------------------------------------------===//
94 //===----------------------------------------------------------------------===//
96 def : Proc<"bonaire", SI_Itin, [FeatureSeaIslands]>;
98 def : Proc<"kabini", SI_Itin, [FeatureSeaIslands]>;
100 def : Proc<"kaveri", SI_Itin, [FeatureSeaIslands]>;
102 def : Proc<"hawaii", SI_Itin, [FeatureSeaIslands]>;