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 : ProcessorModel<"SI", SIFullSpeedModel, 87 [FeatureSouthernIslands, FeatureFastFMAF32] 88>; 89 90def : ProcessorModel<"tahiti", SIFullSpeedModel, 91 [FeatureSouthernIslands, FeatureFastFMAF32] 92>; 93 94def : ProcessorModel<"pitcairn", SIQuarterSpeedModel, [FeatureSouthernIslands]>; 95 96def : ProcessorModel<"verde", SIQuarterSpeedModel, [FeatureSouthernIslands]>; 97 98def : ProcessorModel<"oland", SIQuarterSpeedModel, [FeatureSouthernIslands]>; 99 100def : ProcessorModel<"hainan", SIQuarterSpeedModel, [FeatureSouthernIslands]>; 101 102//===----------------------------------------------------------------------===// 103// Sea Islands 104//===----------------------------------------------------------------------===// 105 106def : ProcessorModel<"bonaire", SIQuarterSpeedModel, 107 [FeatureSeaIslands, FeatureLDSBankCount32, FeatureISAVersion7_0_0] 108>; 109 110def : ProcessorModel<"kabini", SIQuarterSpeedModel, 111 [FeatureSeaIslands, FeatureLDSBankCount16] 112>; 113 114def : ProcessorModel<"kaveri", SIQuarterSpeedModel, 115 [FeatureSeaIslands, FeatureLDSBankCount32, FeatureISAVersion7_0_0] 116>; 117 118def : ProcessorModel<"hawaii", SIFullSpeedModel, 119 [FeatureSeaIslands, FeatureFastFMAF32, FeatureLDSBankCount32, 120 FeatureISAVersion7_0_1] 121>; 122 123def : ProcessorModel<"mullins", SIQuarterSpeedModel, 124 [FeatureSeaIslands, FeatureLDSBankCount16]>; 125 126//===----------------------------------------------------------------------===// 127// Volcanic Islands 128//===----------------------------------------------------------------------===// 129 130def : ProcessorModel<"tonga", SIQuarterSpeedModel, 131 [FeatureVolcanicIslands, FeatureSGPRInitBug, FeatureISAVersion8_0_0] 132>; 133 134def : ProcessorModel<"iceland", SIQuarterSpeedModel, 135 [FeatureVolcanicIslands, FeatureSGPRInitBug, FeatureISAVersion8_0_0] 136>; 137 138def : ProcessorModel<"carrizo", SIQuarterSpeedModel, 139 [FeatureVolcanicIslands, FeatureISAVersion8_0_1] 140>; 141 142def : ProcessorModel<"fiji", SIQuarterSpeedModel, 143 [FeatureVolcanicIslands, FeatureISAVersion8_0_1] 144>; 145 146def : ProcessorModel<"stoney", SIQuarterSpeedModel, 147 [FeatureVolcanicIslands, FeatureISAVersion8_0_1] 148>; 149