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