2013-05-04 01:21:14 +08:00
|
|
|
//===-- Processors.td - R600 Processor definitions ------------------------===//
|
2012-12-12 05:25:42 +08:00
|
|
|
//
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
// License. See LICENSE.TXT for details.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
class Proc<string Name, ProcessorItineraries itin, list<SubtargetFeature> Features>
|
|
|
|
: Processor<Name, itin, Features>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// R600
|
|
|
|
//===----------------------------------------------------------------------===//
|
2013-04-30 08:14:17 +08:00
|
|
|
def : Proc<"r600", R600_VLIW5_Itin,
|
2016-06-03 02:37:16 +08:00
|
|
|
[FeatureR600, FeatureVertexCache, FeatureWavefrontSize64]>;
|
2014-01-23 05:55:40 +08:00
|
|
|
|
|
|
|
def : Proc<"r630", R600_VLIW5_Itin,
|
|
|
|
[FeatureR600, FeatureVertexCache, FeatureWavefrontSize32]>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2013-04-30 08:14:17 +08:00
|
|
|
def : Proc<"rs880", R600_VLIW5_Itin,
|
2014-01-23 05:55:40 +08:00
|
|
|
[FeatureR600, FeatureWavefrontSize16]>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2013-04-30 08:14:17 +08:00
|
|
|
def : Proc<"rv670", R600_VLIW5_Itin,
|
2014-01-23 05:55:40 +08:00
|
|
|
[FeatureR600, FeatureFP64, FeatureVertexCache, FeatureWavefrontSize64]>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// R700
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
2013-04-30 08:14:17 +08:00
|
|
|
def : Proc<"rv710", R600_VLIW5_Itin,
|
2014-01-23 05:55:40 +08:00
|
|
|
[FeatureR700, FeatureVertexCache, FeatureWavefrontSize32]>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2013-04-30 08:14:17 +08:00
|
|
|
def : Proc<"rv730", R600_VLIW5_Itin,
|
2014-01-23 05:55:40 +08:00
|
|
|
[FeatureR700, FeatureVertexCache, FeatureWavefrontSize32]>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2013-04-30 08:14:17 +08:00
|
|
|
def : Proc<"rv770", R600_VLIW5_Itin,
|
2014-01-23 05:55:40 +08:00
|
|
|
[FeatureR700, FeatureFP64, FeatureVertexCache, FeatureWavefrontSize64]>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// Evergreen
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
2013-04-30 08:14:17 +08:00
|
|
|
def : Proc<"cedar", R600_VLIW5_Itin,
|
2014-01-24 00:18:02 +08:00
|
|
|
[FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize32,
|
|
|
|
FeatureCFALUBug]>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2013-04-30 08:14:17 +08:00
|
|
|
def : Proc<"redwood", R600_VLIW5_Itin,
|
2014-01-24 00:18:02 +08:00
|
|
|
[FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize64,
|
|
|
|
FeatureCFALUBug]>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2013-04-30 08:14:17 +08:00
|
|
|
def : Proc<"sumo", R600_VLIW5_Itin,
|
2014-01-24 00:18:02 +08:00
|
|
|
[FeatureEvergreen, FeatureWavefrontSize64, FeatureCFALUBug]>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2013-04-30 08:14:17 +08:00
|
|
|
def : Proc<"juniper", R600_VLIW5_Itin,
|
2014-01-23 05:55:40 +08:00
|
|
|
[FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize64]>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2013-04-30 08:14:17 +08:00
|
|
|
def : Proc<"cypress", R600_VLIW5_Itin,
|
2014-01-23 05:55:40 +08:00
|
|
|
[FeatureEvergreen, FeatureFP64, FeatureVertexCache,
|
|
|
|
FeatureWavefrontSize64]>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// Northern Islands
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
2013-04-30 08:14:17 +08:00
|
|
|
def : Proc<"barts", R600_VLIW5_Itin,
|
2014-01-24 00:18:02 +08:00
|
|
|
[FeatureNorthernIslands, FeatureVertexCache, FeatureCFALUBug]>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2013-04-30 08:14:17 +08:00
|
|
|
def : Proc<"turks", R600_VLIW5_Itin,
|
2014-01-24 00:18:02 +08:00
|
|
|
[FeatureNorthernIslands, FeatureVertexCache, FeatureCFALUBug]>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2013-04-30 08:14:17 +08:00
|
|
|
def : Proc<"caicos", R600_VLIW5_Itin,
|
2014-01-24 00:18:02 +08:00
|
|
|
[FeatureNorthernIslands, FeatureCFALUBug]>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2013-04-30 08:14:17 +08:00
|
|
|
def : Proc<"cayman", R600_VLIW4_Itin,
|
2013-06-08 04:37:48 +08:00
|
|
|
[FeatureNorthernIslands, FeatureFP64, FeatureCaymanISA]>;
|
2013-06-08 04:28:55 +08:00
|
|
|
|
2013-12-12 01:51:51 +08:00
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// Southern Islands
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
2015-01-30 03:34:25 +08:00
|
|
|
def : ProcessorModel<"SI", SIFullSpeedModel,
|
2016-01-19 05:13:50 +08:00
|
|
|
[FeatureSouthernIslands, FeatureFastFMAF32, HalfRate64Ops]
|
2015-01-30 03:34:25 +08:00
|
|
|
>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2016-01-19 05:13:50 +08:00
|
|
|
def : ProcessorModel<"tahiti", SIFullSpeedModel,
|
|
|
|
[FeatureSouthernIslands, FeatureFastFMAF32, HalfRate64Ops]
|
2015-01-30 03:34:25 +08:00
|
|
|
>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2015-01-14 09:13:19 +08:00
|
|
|
def : ProcessorModel<"pitcairn", SIQuarterSpeedModel, [FeatureSouthernIslands]>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2015-01-14 09:13:19 +08:00
|
|
|
def : ProcessorModel<"verde", SIQuarterSpeedModel, [FeatureSouthernIslands]>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2015-01-14 09:13:19 +08:00
|
|
|
def : ProcessorModel<"oland", SIQuarterSpeedModel, [FeatureSouthernIslands]>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2015-01-14 09:13:19 +08:00
|
|
|
def : ProcessorModel<"hainan", SIQuarterSpeedModel, [FeatureSouthernIslands]>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// Sea Islands
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
2015-05-26 00:15:54 +08:00
|
|
|
def : ProcessorModel<"bonaire", SIQuarterSpeedModel,
|
2016-10-27 00:37:56 +08:00
|
|
|
[FeatureISAVersion7_0_0]
|
2015-05-26 00:15:54 +08:00
|
|
|
>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2015-05-26 00:15:54 +08:00
|
|
|
def : ProcessorModel<"kabini", SIQuarterSpeedModel,
|
2016-10-27 00:37:56 +08:00
|
|
|
[FeatureISAVersion7_0_2]
|
2015-05-26 00:15:54 +08:00
|
|
|
>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2015-05-26 00:15:54 +08:00
|
|
|
def : ProcessorModel<"kaveri", SIQuarterSpeedModel,
|
2016-10-27 00:37:56 +08:00
|
|
|
[FeatureISAVersion7_0_0]
|
2015-05-26 00:15:54 +08:00
|
|
|
>;
|
2013-12-12 01:51:51 +08:00
|
|
|
|
2016-10-27 00:37:56 +08:00
|
|
|
def : ProcessorModel<"hawaii", SIFullSpeedModel,
|
|
|
|
[FeatureISAVersion7_0_1]
|
2015-01-30 03:34:25 +08:00
|
|
|
>;
|
2014-05-02 23:41:49 +08:00
|
|
|
|
2015-05-26 00:15:54 +08:00
|
|
|
def : ProcessorModel<"mullins", SIQuarterSpeedModel,
|
2016-10-27 00:37:56 +08:00
|
|
|
[FeatureISAVersion7_0_2]>;
|
|
|
|
|
|
|
|
def : ProcessorModel<"gfx700", SIQuarterSpeedModel,
|
|
|
|
[FeatureISAVersion7_0_0]
|
|
|
|
>;
|
|
|
|
|
|
|
|
def : ProcessorModel<"gfx701", SIFullSpeedModel,
|
|
|
|
[FeatureISAVersion7_0_1]
|
|
|
|
>;
|
|
|
|
|
|
|
|
def : ProcessorModel<"gfx702", SIQuarterSpeedModel,
|
|
|
|
[FeatureISAVersion7_0_2]
|
|
|
|
>;
|
2014-12-07 20:18:57 +08:00
|
|
|
|
2015-01-14 09:13:19 +08:00
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// Volcanic Islands
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
2015-03-09 23:48:09 +08:00
|
|
|
def : ProcessorModel<"tonga", SIQuarterSpeedModel,
|
2016-10-27 00:37:56 +08:00
|
|
|
[FeatureISAVersion8_0_2]
|
2015-03-09 23:48:09 +08:00
|
|
|
>;
|
2014-12-07 20:18:57 +08:00
|
|
|
|
2015-03-09 23:48:09 +08:00
|
|
|
def : ProcessorModel<"iceland", SIQuarterSpeedModel,
|
2016-10-27 00:37:56 +08:00
|
|
|
[FeatureISAVersion8_0_0]
|
2015-03-09 23:48:09 +08:00
|
|
|
>;
|
2014-12-07 20:18:57 +08:00
|
|
|
|
2015-06-27 05:15:07 +08:00
|
|
|
def : ProcessorModel<"carrizo", SIQuarterSpeedModel,
|
2016-10-27 00:37:56 +08:00
|
|
|
[FeatureISAVersion8_0_1]
|
2015-06-27 05:15:07 +08:00
|
|
|
>;
|
2015-08-07 03:43:02 +08:00
|
|
|
|
2016-10-27 00:37:56 +08:00
|
|
|
def : ProcessorModel<"fiji", SIQuarterSpeedModel,
|
|
|
|
[FeatureISAVersion8_0_3]
|
2015-08-07 03:43:02 +08:00
|
|
|
>;
|
2015-11-14 01:06:32 +08:00
|
|
|
|
2016-10-27 00:37:56 +08:00
|
|
|
def : ProcessorModel<"stoney", SIQuarterSpeedModel,
|
|
|
|
[FeatureISAVersion8_1_0]
|
2015-11-14 01:06:32 +08:00
|
|
|
>;
|
2016-03-24 23:31:05 +08:00
|
|
|
|
|
|
|
def : ProcessorModel<"polaris10", SIQuarterSpeedModel,
|
2016-10-27 00:37:56 +08:00
|
|
|
[FeatureISAVersion8_0_3]
|
2016-03-24 23:31:05 +08:00
|
|
|
>;
|
|
|
|
|
|
|
|
def : ProcessorModel<"polaris11", SIQuarterSpeedModel,
|
2016-10-27 00:37:56 +08:00
|
|
|
[FeatureISAVersion8_0_3]
|
|
|
|
>;
|
|
|
|
|
|
|
|
def : ProcessorModel<"gfx800", SIQuarterSpeedModel,
|
|
|
|
[FeatureISAVersion8_0_0]
|
|
|
|
>;
|
|
|
|
|
|
|
|
def : ProcessorModel<"gfx801", SIQuarterSpeedModel,
|
|
|
|
[FeatureISAVersion8_0_1]
|
2016-03-24 23:31:05 +08:00
|
|
|
>;
|
2016-10-27 00:37:56 +08:00
|
|
|
|
|
|
|
def : ProcessorModel<"gfx802", SIQuarterSpeedModel,
|
|
|
|
[FeatureISAVersion8_0_2]
|
|
|
|
>;
|
|
|
|
|
|
|
|
def : ProcessorModel<"gfx803", SIQuarterSpeedModel,
|
|
|
|
[FeatureISAVersion8_0_3]
|
|
|
|
>;
|
|
|
|
|
|
|
|
def : ProcessorModel<"gfx804", SIQuarterSpeedModel,
|
|
|
|
[FeatureISAVersion8_0_4]
|
|
|
|
>;
|
|
|
|
|
|
|
|
def : ProcessorModel<"gfx810", SIQuarterSpeedModel,
|
|
|
|
[FeatureISAVersion8_1_0]
|
|
|
|
>;
|
|
|
|
|