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", R600_VLIW5_Itin, 17 [FeatureR600, FeatureVertexCache, FeatureWavefrontSize64]>; 18 19def : Proc<"r630", R600_VLIW5_Itin, 20 [FeatureR600, FeatureVertexCache, FeatureWavefrontSize32]>; 21 22def : Proc<"rs880", R600_VLIW5_Itin, 23 [FeatureR600, FeatureWavefrontSize16]>; 24 25def : Proc<"rv670", R600_VLIW5_Itin, 26 [FeatureR600, FeatureFP64, FeatureVertexCache, FeatureWavefrontSize64]>; 27 28//===----------------------------------------------------------------------===// 29// R700 30//===----------------------------------------------------------------------===// 31 32def : Proc<"rv710", R600_VLIW5_Itin, 33 [FeatureR700, FeatureVertexCache, FeatureWavefrontSize32]>; 34 35def : Proc<"rv730", R600_VLIW5_Itin, 36 [FeatureR700, FeatureVertexCache, FeatureWavefrontSize32]>; 37 38def : Proc<"rv770", R600_VLIW5_Itin, 39 [FeatureR700, FeatureFP64, FeatureVertexCache, FeatureWavefrontSize64]>; 40 41//===----------------------------------------------------------------------===// 42// Evergreen 43//===----------------------------------------------------------------------===// 44 45def : Proc<"cedar", R600_VLIW5_Itin, 46 [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize32, 47 FeatureCFALUBug]>; 48 49def : Proc<"redwood", R600_VLIW5_Itin, 50 [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize64, 51 FeatureCFALUBug]>; 52 53def : Proc<"sumo", R600_VLIW5_Itin, 54 [FeatureEvergreen, FeatureWavefrontSize64, FeatureCFALUBug]>; 55 56def : Proc<"juniper", R600_VLIW5_Itin, 57 [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize64]>; 58 59def : Proc<"cypress", R600_VLIW5_Itin, 60 [FeatureEvergreen, FeatureFP64, FeatureVertexCache, 61 FeatureWavefrontSize64]>; 62 63//===----------------------------------------------------------------------===// 64// Northern Islands 65//===----------------------------------------------------------------------===// 66 67def : Proc<"barts", R600_VLIW5_Itin, 68 [FeatureNorthernIslands, FeatureVertexCache, FeatureCFALUBug]>; 69 70def : Proc<"turks", R600_VLIW5_Itin, 71 [FeatureNorthernIslands, FeatureVertexCache, FeatureCFALUBug]>; 72 73def : Proc<"caicos", R600_VLIW5_Itin, 74 [FeatureNorthernIslands, FeatureCFALUBug]>; 75 76def : Proc<"cayman", R600_VLIW4_Itin, 77 [FeatureNorthernIslands, FeatureFP64, FeatureCaymanISA]>; 78 79//===----------------------------------------------------------------------===// 80// Southern Islands 81//===----------------------------------------------------------------------===// 82 83def : ProcessorModel<"SI", SIFullSpeedModel, 84 [FeatureSouthernIslands, FeatureFastFMAF32, HalfRate64Ops] 85>; 86 87def : ProcessorModel<"tahiti", SIFullSpeedModel, 88 [FeatureSouthernIslands, FeatureFastFMAF32, HalfRate64Ops] 89>; 90 91def : ProcessorModel<"pitcairn", SIQuarterSpeedModel, [FeatureSouthernIslands]>; 92 93def : ProcessorModel<"verde", SIQuarterSpeedModel, [FeatureSouthernIslands]>; 94 95def : ProcessorModel<"oland", SIQuarterSpeedModel, [FeatureSouthernIslands]>; 96 97def : ProcessorModel<"hainan", SIQuarterSpeedModel, [FeatureSouthernIslands]>; 98 99//===----------------------------------------------------------------------===// 100// Sea Islands 101//===----------------------------------------------------------------------===// 102 103def : ProcessorModel<"bonaire", SIQuarterSpeedModel, 104 [FeatureSeaIslands, FeatureLDSBankCount32, FeatureISAVersion7_0_0] 105>; 106 107def : ProcessorModel<"kabini", SIQuarterSpeedModel, 108 [FeatureSeaIslands, FeatureLDSBankCount16] 109>; 110 111def : ProcessorModel<"kaveri", SIQuarterSpeedModel, 112 [FeatureSeaIslands, FeatureLDSBankCount32, FeatureISAVersion7_0_0] 113>; 114 115def : ProcessorModel<"hawaii", SIFullSpeedModel, 116 [FeatureSeaIslands, FeatureFastFMAF32, HalfRate64Ops, 117 FeatureLDSBankCount32, FeatureISAVersion7_0_1] 118>; 119 120def : ProcessorModel<"mullins", SIQuarterSpeedModel, 121 [FeatureSeaIslands, FeatureLDSBankCount16]>; 122 123//===----------------------------------------------------------------------===// 124// Volcanic Islands 125//===----------------------------------------------------------------------===// 126 127def : ProcessorModel<"tonga", SIQuarterSpeedModel, 128 [FeatureVolcanicIslands, FeatureSGPRInitBug, FeatureISAVersion8_0_0, 129 FeatureLDSBankCount32] 130>; 131 132def : ProcessorModel<"iceland", SIQuarterSpeedModel, 133 [FeatureVolcanicIslands, FeatureSGPRInitBug, FeatureISAVersion8_0_0, 134 FeatureLDSBankCount32] 135>; 136 137def : ProcessorModel<"carrizo", SIQuarterSpeedModel, 138 [FeatureVolcanicIslands, FeatureISAVersion8_0_1, FeatureLDSBankCount32] 139>; 140 141def : ProcessorModel<"fiji", SIQuarterSpeedModel, 142 [FeatureVolcanicIslands, FeatureISAVersion8_0_3, FeatureLDSBankCount32] 143>; 144 145def : ProcessorModel<"stoney", SIQuarterSpeedModel, 146 [FeatureVolcanicIslands, FeatureISAVersion8_0_1, FeatureLDSBankCount16] 147>; 148 149def : ProcessorModel<"polaris10", SIQuarterSpeedModel, 150 [FeatureVolcanicIslands, FeatureISAVersion8_0_1, FeatureLDSBankCount32] 151>; 152 153def : ProcessorModel<"polaris11", SIQuarterSpeedModel, 154 [FeatureVolcanicIslands, FeatureISAVersion8_0_1, FeatureLDSBankCount32] 155>; 156