1*9880d681SAndroid Build Coastguard Worker//===-- Processors.td - R600 Processor definitions ------------------------===// 2*9880d681SAndroid Build Coastguard Worker// 3*9880d681SAndroid Build Coastguard Worker// The LLVM Compiler Infrastructure 4*9880d681SAndroid Build Coastguard Worker// 5*9880d681SAndroid Build Coastguard Worker// This file is distributed under the University of Illinois Open Source 6*9880d681SAndroid Build Coastguard Worker// License. See LICENSE.TXT for details. 7*9880d681SAndroid Build Coastguard Worker// 8*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Workerclass Proc<string Name, ProcessorItineraries itin, list<SubtargetFeature> Features> 11*9880d681SAndroid Build Coastguard Worker: Processor<Name, itin, Features>; 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 14*9880d681SAndroid Build Coastguard Worker// R600 15*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 16*9880d681SAndroid Build Coastguard Workerdef : Proc<"r600", R600_VLIW5_Itin, 17*9880d681SAndroid Build Coastguard Worker [FeatureR600, FeatureVertexCache, FeatureWavefrontSize64]>; 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Workerdef : Proc<"r630", R600_VLIW5_Itin, 20*9880d681SAndroid Build Coastguard Worker [FeatureR600, FeatureVertexCache, FeatureWavefrontSize32]>; 21*9880d681SAndroid Build Coastguard Worker 22*9880d681SAndroid Build Coastguard Workerdef : Proc<"rs880", R600_VLIW5_Itin, 23*9880d681SAndroid Build Coastguard Worker [FeatureR600, FeatureWavefrontSize16]>; 24*9880d681SAndroid Build Coastguard Worker 25*9880d681SAndroid Build Coastguard Workerdef : Proc<"rv670", R600_VLIW5_Itin, 26*9880d681SAndroid Build Coastguard Worker [FeatureR600, FeatureFP64, FeatureVertexCache, FeatureWavefrontSize64]>; 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 29*9880d681SAndroid Build Coastguard Worker// R700 30*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 31*9880d681SAndroid Build Coastguard Worker 32*9880d681SAndroid Build Coastguard Workerdef : Proc<"rv710", R600_VLIW5_Itin, 33*9880d681SAndroid Build Coastguard Worker [FeatureR700, FeatureVertexCache, FeatureWavefrontSize32]>; 34*9880d681SAndroid Build Coastguard Worker 35*9880d681SAndroid Build Coastguard Workerdef : Proc<"rv730", R600_VLIW5_Itin, 36*9880d681SAndroid Build Coastguard Worker [FeatureR700, FeatureVertexCache, FeatureWavefrontSize32]>; 37*9880d681SAndroid Build Coastguard Worker 38*9880d681SAndroid Build Coastguard Workerdef : Proc<"rv770", R600_VLIW5_Itin, 39*9880d681SAndroid Build Coastguard Worker [FeatureR700, FeatureFP64, FeatureVertexCache, FeatureWavefrontSize64]>; 40*9880d681SAndroid Build Coastguard Worker 41*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 42*9880d681SAndroid Build Coastguard Worker// Evergreen 43*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 44*9880d681SAndroid Build Coastguard Worker 45*9880d681SAndroid Build Coastguard Workerdef : Proc<"cedar", R600_VLIW5_Itin, 46*9880d681SAndroid Build Coastguard Worker [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize32, 47*9880d681SAndroid Build Coastguard Worker FeatureCFALUBug]>; 48*9880d681SAndroid Build Coastguard Worker 49*9880d681SAndroid Build Coastguard Workerdef : Proc<"redwood", R600_VLIW5_Itin, 50*9880d681SAndroid Build Coastguard Worker [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize64, 51*9880d681SAndroid Build Coastguard Worker FeatureCFALUBug]>; 52*9880d681SAndroid Build Coastguard Worker 53*9880d681SAndroid Build Coastguard Workerdef : Proc<"sumo", R600_VLIW5_Itin, 54*9880d681SAndroid Build Coastguard Worker [FeatureEvergreen, FeatureWavefrontSize64, FeatureCFALUBug]>; 55*9880d681SAndroid Build Coastguard Worker 56*9880d681SAndroid Build Coastguard Workerdef : Proc<"juniper", R600_VLIW5_Itin, 57*9880d681SAndroid Build Coastguard Worker [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize64]>; 58*9880d681SAndroid Build Coastguard Worker 59*9880d681SAndroid Build Coastguard Workerdef : Proc<"cypress", R600_VLIW5_Itin, 60*9880d681SAndroid Build Coastguard Worker [FeatureEvergreen, FeatureFP64, FeatureVertexCache, 61*9880d681SAndroid Build Coastguard Worker FeatureWavefrontSize64]>; 62*9880d681SAndroid Build Coastguard Worker 63*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 64*9880d681SAndroid Build Coastguard Worker// Northern Islands 65*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 66*9880d681SAndroid Build Coastguard Worker 67*9880d681SAndroid Build Coastguard Workerdef : Proc<"barts", R600_VLIW5_Itin, 68*9880d681SAndroid Build Coastguard Worker [FeatureNorthernIslands, FeatureVertexCache, FeatureCFALUBug]>; 69*9880d681SAndroid Build Coastguard Worker 70*9880d681SAndroid Build Coastguard Workerdef : Proc<"turks", R600_VLIW5_Itin, 71*9880d681SAndroid Build Coastguard Worker [FeatureNorthernIslands, FeatureVertexCache, FeatureCFALUBug]>; 72*9880d681SAndroid Build Coastguard Worker 73*9880d681SAndroid Build Coastguard Workerdef : Proc<"caicos", R600_VLIW5_Itin, 74*9880d681SAndroid Build Coastguard Worker [FeatureNorthernIslands, FeatureCFALUBug]>; 75*9880d681SAndroid Build Coastguard Worker 76*9880d681SAndroid Build Coastguard Workerdef : Proc<"cayman", R600_VLIW4_Itin, 77*9880d681SAndroid Build Coastguard Worker [FeatureNorthernIslands, FeatureFP64, FeatureCaymanISA]>; 78*9880d681SAndroid Build Coastguard Worker 79*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 80*9880d681SAndroid Build Coastguard Worker// Southern Islands 81*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 82*9880d681SAndroid Build Coastguard Worker 83*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"SI", SIFullSpeedModel, 84*9880d681SAndroid Build Coastguard Worker [FeatureSouthernIslands, FeatureFastFMAF32, HalfRate64Ops] 85*9880d681SAndroid Build Coastguard Worker>; 86*9880d681SAndroid Build Coastguard Worker 87*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"tahiti", SIFullSpeedModel, 88*9880d681SAndroid Build Coastguard Worker [FeatureSouthernIslands, FeatureFastFMAF32, HalfRate64Ops] 89*9880d681SAndroid Build Coastguard Worker>; 90*9880d681SAndroid Build Coastguard Worker 91*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"pitcairn", SIQuarterSpeedModel, [FeatureSouthernIslands]>; 92*9880d681SAndroid Build Coastguard Worker 93*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"verde", SIQuarterSpeedModel, [FeatureSouthernIslands]>; 94*9880d681SAndroid Build Coastguard Worker 95*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"oland", SIQuarterSpeedModel, [FeatureSouthernIslands]>; 96*9880d681SAndroid Build Coastguard Worker 97*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"hainan", SIQuarterSpeedModel, [FeatureSouthernIslands]>; 98*9880d681SAndroid Build Coastguard Worker 99*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 100*9880d681SAndroid Build Coastguard Worker// Sea Islands 101*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 102*9880d681SAndroid Build Coastguard Worker 103*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"bonaire", SIQuarterSpeedModel, 104*9880d681SAndroid Build Coastguard Worker [FeatureSeaIslands, FeatureLDSBankCount32, FeatureISAVersion7_0_0] 105*9880d681SAndroid Build Coastguard Worker>; 106*9880d681SAndroid Build Coastguard Worker 107*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"kabini", SIQuarterSpeedModel, 108*9880d681SAndroid Build Coastguard Worker [FeatureSeaIslands, FeatureLDSBankCount16] 109*9880d681SAndroid Build Coastguard Worker>; 110*9880d681SAndroid Build Coastguard Worker 111*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"kaveri", SIQuarterSpeedModel, 112*9880d681SAndroid Build Coastguard Worker [FeatureSeaIslands, FeatureLDSBankCount32, FeatureISAVersion7_0_0] 113*9880d681SAndroid Build Coastguard Worker>; 114*9880d681SAndroid Build Coastguard Worker 115*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"hawaii", SIFullSpeedModel, 116*9880d681SAndroid Build Coastguard Worker [FeatureSeaIslands, FeatureFastFMAF32, HalfRate64Ops, 117*9880d681SAndroid Build Coastguard Worker FeatureLDSBankCount32, FeatureISAVersion7_0_1] 118*9880d681SAndroid Build Coastguard Worker>; 119*9880d681SAndroid Build Coastguard Worker 120*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"mullins", SIQuarterSpeedModel, 121*9880d681SAndroid Build Coastguard Worker [FeatureSeaIslands, FeatureLDSBankCount16]>; 122*9880d681SAndroid Build Coastguard Worker 123*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 124*9880d681SAndroid Build Coastguard Worker// Volcanic Islands 125*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 126*9880d681SAndroid Build Coastguard Worker 127*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"tonga", SIQuarterSpeedModel, 128*9880d681SAndroid Build Coastguard Worker [FeatureVolcanicIslands, FeatureSGPRInitBug, FeatureISAVersion8_0_0, 129*9880d681SAndroid Build Coastguard Worker FeatureLDSBankCount32] 130*9880d681SAndroid Build Coastguard Worker>; 131*9880d681SAndroid Build Coastguard Worker 132*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"iceland", SIQuarterSpeedModel, 133*9880d681SAndroid Build Coastguard Worker [FeatureVolcanicIslands, FeatureSGPRInitBug, FeatureISAVersion8_0_0, 134*9880d681SAndroid Build Coastguard Worker FeatureLDSBankCount32] 135*9880d681SAndroid Build Coastguard Worker>; 136*9880d681SAndroid Build Coastguard Worker 137*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"carrizo", SIQuarterSpeedModel, 138*9880d681SAndroid Build Coastguard Worker [FeatureVolcanicIslands, FeatureISAVersion8_0_1, FeatureLDSBankCount32] 139*9880d681SAndroid Build Coastguard Worker>; 140*9880d681SAndroid Build Coastguard Worker 141*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"fiji", SIQuarterSpeedModel, 142*9880d681SAndroid Build Coastguard Worker [FeatureVolcanicIslands, FeatureISAVersion8_0_3, FeatureLDSBankCount32] 143*9880d681SAndroid Build Coastguard Worker>; 144*9880d681SAndroid Build Coastguard Worker 145*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"stoney", SIQuarterSpeedModel, 146*9880d681SAndroid Build Coastguard Worker [FeatureVolcanicIslands, FeatureISAVersion8_0_1, FeatureLDSBankCount16] 147*9880d681SAndroid Build Coastguard Worker>; 148*9880d681SAndroid Build Coastguard Worker 149*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"polaris10", SIQuarterSpeedModel, 150*9880d681SAndroid Build Coastguard Worker [FeatureVolcanicIslands, FeatureISAVersion8_0_1, FeatureLDSBankCount32] 151*9880d681SAndroid Build Coastguard Worker>; 152*9880d681SAndroid Build Coastguard Worker 153*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"polaris11", SIQuarterSpeedModel, 154*9880d681SAndroid Build Coastguard Worker [FeatureVolcanicIslands, FeatureISAVersion8_0_1, FeatureLDSBankCount32] 155*9880d681SAndroid Build Coastguard Worker>; 156