Home | History | Annotate | Download | only in R600
      1 //===-- Processors.td - R600 Processor definitions ------------------------===//
      2 //
      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 //===----------------------------------------------------------------------===//
      9 
     10 class Proc<string Name, ProcessorItineraries itin, list<SubtargetFeature> Features>
     11 : Processor<Name, itin, Features>;
     12 
     13 //===----------------------------------------------------------------------===//
     14 // R600
     15 //===----------------------------------------------------------------------===//
     16 def : Proc<"",           R600_VLIW5_Itin,
     17     [FeatureR600, FeatureVertexCache]>;
     18 
     19 def : Proc<"r600",       R600_VLIW5_Itin,
     20     [FeatureR600 , FeatureVertexCache, FeatureWavefrontSize64]>;
     21 
     22 def : Proc<"r630",       R600_VLIW5_Itin,
     23     [FeatureR600, FeatureVertexCache, FeatureWavefrontSize32]>;
     24 
     25 def : Proc<"rs880",      R600_VLIW5_Itin,
     26     [FeatureR600, FeatureWavefrontSize16]>;
     27 
     28 def : Proc<"rv670",      R600_VLIW5_Itin,
     29     [FeatureR600, FeatureFP64, FeatureVertexCache, FeatureWavefrontSize64]>;
     30 
     31 //===----------------------------------------------------------------------===//
     32 // R700
     33 //===----------------------------------------------------------------------===//
     34 
     35 def : Proc<"rv710",      R600_VLIW5_Itin,
     36     [FeatureR700, FeatureVertexCache, FeatureWavefrontSize32]>;
     37 
     38 def : Proc<"rv730",      R600_VLIW5_Itin,
     39     [FeatureR700, FeatureVertexCache, FeatureWavefrontSize32]>;
     40 
     41 def : Proc<"rv770",      R600_VLIW5_Itin,
     42     [FeatureR700, FeatureFP64, FeatureVertexCache, FeatureWavefrontSize64]>;
     43 
     44 //===----------------------------------------------------------------------===//
     45 // Evergreen
     46 //===----------------------------------------------------------------------===//
     47 
     48 def : Proc<"cedar",      R600_VLIW5_Itin,
     49     [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize32,
     50      FeatureCFALUBug]>;
     51 
     52 def : Proc<"redwood",    R600_VLIW5_Itin,
     53     [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize64,
     54      FeatureCFALUBug]>;
     55 
     56 def : Proc<"sumo",       R600_VLIW5_Itin,
     57     [FeatureEvergreen, FeatureWavefrontSize64, FeatureCFALUBug]>;
     58 
     59 def : Proc<"juniper",    R600_VLIW5_Itin,
     60     [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize64]>;
     61 
     62 def : Proc<"cypress",    R600_VLIW5_Itin,
     63     [FeatureEvergreen, FeatureFP64, FeatureVertexCache,
     64      FeatureWavefrontSize64]>;
     65 
     66 //===----------------------------------------------------------------------===//
     67 // Northern Islands
     68 //===----------------------------------------------------------------------===//
     69 
     70 def : Proc<"barts",      R600_VLIW5_Itin,
     71     [FeatureNorthernIslands, FeatureVertexCache, FeatureCFALUBug]>;
     72 
     73 def : Proc<"turks",      R600_VLIW5_Itin,
     74     [FeatureNorthernIslands, FeatureVertexCache, FeatureCFALUBug]>;
     75 
     76 def : Proc<"caicos",     R600_VLIW5_Itin,
     77     [FeatureNorthernIslands, FeatureCFALUBug]>;
     78 
     79 def : Proc<"cayman",     R600_VLIW4_Itin,
     80     [FeatureNorthernIslands, FeatureFP64, FeatureCaymanISA]>;
     81 
     82 //===----------------------------------------------------------------------===//
     83 // Southern Islands
     84 //===----------------------------------------------------------------------===//
     85 
     86 def : Proc<"SI",         SI_Itin, [FeatureSouthernIslands]>;
     87 
     88 def : Proc<"tahiti",     SI_Itin, [FeatureSouthernIslands]>;
     89 
     90 def : Proc<"pitcairn",   SI_Itin, [FeatureSouthernIslands]>;
     91 
     92 def : Proc<"verde",      SI_Itin, [FeatureSouthernIslands]>;
     93 
     94 def : Proc<"oland",      SI_Itin, [FeatureSouthernIslands]>;
     95 
     96 def : Proc<"hainan",     SI_Itin, [FeatureSouthernIslands]>;
     97 
     98 //===----------------------------------------------------------------------===//
     99 // Sea Islands
    100 //===----------------------------------------------------------------------===//
    101 
    102 def : Proc<"bonaire",    SI_Itin, [FeatureSeaIslands]>;
    103 
    104 def : Proc<"kabini",     SI_Itin, [FeatureSeaIslands]>;
    105 
    106 def : Proc<"kaveri",     SI_Itin, [FeatureSeaIslands]>;
    107 
    108 def : Proc<"hawaii",     SI_Itin, [FeatureSeaIslands]>;
    109 
    110 def : Proc<"mullins",    SI_Itin, [FeatureSeaIslands]>;
    111