1 //===-- Processors.td - TODO: Add brief description -------===//
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 // AMDIL processors supported.
12 //===----------------------------------------------------------------------===//
14 class Proc<string Name, ProcessorItineraries itin, list<SubtargetFeature> Features>
15 : Processor<Name, itin, Features>;
16 def : Proc<"", R600_EG_Itin, [FeatureR600ALUInst]>;
17 def : Proc<"r600", R600_EG_Itin, [FeatureR600ALUInst]>;
18 def : Proc<"rs880", R600_EG_Itin, [FeatureR600ALUInst]>;
19 def : Proc<"rv670", R600_EG_Itin, [FeatureR600ALUInst, FeatureFP64]>;
20 def : Proc<"rv710", R600_EG_Itin, []>;
21 def : Proc<"rv730", R600_EG_Itin, []>;
22 def : Proc<"rv770", R600_EG_Itin, [FeatureFP64]>;
23 def : Proc<"cedar", R600_EG_Itin, [FeatureByteAddress, FeatureImages]>;
24 def : Proc<"sumo", R600_EG_Itin, [FeatureByteAddress, FeatureImages]>;
25 def : Proc<"redwood", R600_EG_Itin, [FeatureByteAddress, FeatureImages]>;
26 def : Proc<"juniper", R600_EG_Itin, [FeatureByteAddress, FeatureImages]>;
27 def : Proc<"cypress", R600_EG_Itin, [FeatureByteAddress, FeatureImages, FeatureFP64]>;
28 def : Proc<"barts", R600_EG_Itin, [FeatureByteAddress, FeatureImages]>;
29 def : Proc<"turks", R600_EG_Itin, [FeatureByteAddress, FeatureImages]>;
30 def : Proc<"caicos", R600_EG_Itin, [FeatureByteAddress, FeatureImages]>;
31 def : Proc<"cayman", R600_EG_Itin, [FeatureByteAddress, FeatureImages, FeatureFP64]>;
32 def : Proc<"SI", SI_Itin, [Feature64BitPtr, FeatureFP64]>;
33 def : Proc<"tahiti", SI_Itin, [Feature64BitPtr, FeatureFP64]>;
34 def : Proc<"pitcairn", SI_Itin, [Feature64BitPtr, FeatureFP64]>;
35 def : Proc<"verde", SI_Itin, [Feature64BitPtr, FeatureFP64]>;
36 def : Proc<"oland", SI_Itin, [Feature64BitPtr, FeatureFP64]>;