blob: fb5aa6135cf952222415f31ec702ff7198149ed0 [file] [log] [blame]
Tom Stellardc2516c62013-05-03 17:21:14 +00001//===-- Processors.td - R600 Processor definitions ------------------------===//
Tom Stellard75aadc22012-12-11 21:25:42 +00002//
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//===----------------------------------------------------------------------===//
Tom Stellard75aadc22012-12-11 21:25:42 +00009
10class Proc<string Name, ProcessorItineraries itin, list<SubtargetFeature> Features>
11: Processor<Name, itin, Features>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000012
13//===----------------------------------------------------------------------===//
14// R600
15//===----------------------------------------------------------------------===//
Vincent Lejeune076c0b22013-04-30 00:14:17 +000016def : Proc<"", R600_VLIW5_Itin,
Tom Stellarda6c6e1b2013-06-07 20:37:48 +000017 [FeatureR600, FeatureVertexCache]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000018
Vincent Lejeune076c0b22013-04-30 00:14:17 +000019def : Proc<"r600", R600_VLIW5_Itin,
Tom Stellard8c347b02014-01-22 21:55:40 +000020 [FeatureR600 , FeatureVertexCache, FeatureWavefrontSize64]>;
21
22def : Proc<"r630", R600_VLIW5_Itin,
23 [FeatureR600, FeatureVertexCache, FeatureWavefrontSize32]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000024
Vincent Lejeune076c0b22013-04-30 00:14:17 +000025def : Proc<"rs880", R600_VLIW5_Itin,
Tom Stellard8c347b02014-01-22 21:55:40 +000026 [FeatureR600, FeatureWavefrontSize16]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000027
Vincent Lejeune076c0b22013-04-30 00:14:17 +000028def : Proc<"rv670", R600_VLIW5_Itin,
Tom Stellard8c347b02014-01-22 21:55:40 +000029 [FeatureR600, FeatureFP64, FeatureVertexCache, FeatureWavefrontSize64]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000030
31//===----------------------------------------------------------------------===//
32// R700
33//===----------------------------------------------------------------------===//
34
Vincent Lejeune076c0b22013-04-30 00:14:17 +000035def : Proc<"rv710", R600_VLIW5_Itin,
Tom Stellard8c347b02014-01-22 21:55:40 +000036 [FeatureR700, FeatureVertexCache, FeatureWavefrontSize32]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000037
Vincent Lejeune076c0b22013-04-30 00:14:17 +000038def : Proc<"rv730", R600_VLIW5_Itin,
Tom Stellard8c347b02014-01-22 21:55:40 +000039 [FeatureR700, FeatureVertexCache, FeatureWavefrontSize32]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000040
Vincent Lejeune076c0b22013-04-30 00:14:17 +000041def : Proc<"rv770", R600_VLIW5_Itin,
Tom Stellard8c347b02014-01-22 21:55:40 +000042 [FeatureR700, FeatureFP64, FeatureVertexCache, FeatureWavefrontSize64]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000043
44//===----------------------------------------------------------------------===//
45// Evergreen
46//===----------------------------------------------------------------------===//
47
Vincent Lejeune076c0b22013-04-30 00:14:17 +000048def : Proc<"cedar", R600_VLIW5_Itin,
Tom Stellard348273d2014-01-23 16:18:02 +000049 [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize32,
50 FeatureCFALUBug]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000051
Vincent Lejeune076c0b22013-04-30 00:14:17 +000052def : Proc<"redwood", R600_VLIW5_Itin,
Tom Stellard348273d2014-01-23 16:18:02 +000053 [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize64,
54 FeatureCFALUBug]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000055
Vincent Lejeune076c0b22013-04-30 00:14:17 +000056def : Proc<"sumo", R600_VLIW5_Itin,
Tom Stellard348273d2014-01-23 16:18:02 +000057 [FeatureEvergreen, FeatureWavefrontSize64, FeatureCFALUBug]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000058
Vincent Lejeune076c0b22013-04-30 00:14:17 +000059def : Proc<"juniper", R600_VLIW5_Itin,
Tom Stellard8c347b02014-01-22 21:55:40 +000060 [FeatureEvergreen, FeatureVertexCache, FeatureWavefrontSize64]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000061
Vincent Lejeune076c0b22013-04-30 00:14:17 +000062def : Proc<"cypress", R600_VLIW5_Itin,
Tom Stellard8c347b02014-01-22 21:55:40 +000063 [FeatureEvergreen, FeatureFP64, FeatureVertexCache,
64 FeatureWavefrontSize64]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000065
66//===----------------------------------------------------------------------===//
67// Northern Islands
68//===----------------------------------------------------------------------===//
69
Vincent Lejeune076c0b22013-04-30 00:14:17 +000070def : Proc<"barts", R600_VLIW5_Itin,
Tom Stellard348273d2014-01-23 16:18:02 +000071 [FeatureNorthernIslands, FeatureVertexCache, FeatureCFALUBug]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000072
Vincent Lejeune076c0b22013-04-30 00:14:17 +000073def : Proc<"turks", R600_VLIW5_Itin,
Tom Stellard348273d2014-01-23 16:18:02 +000074 [FeatureNorthernIslands, FeatureVertexCache, FeatureCFALUBug]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000075
Vincent Lejeune076c0b22013-04-30 00:14:17 +000076def : Proc<"caicos", R600_VLIW5_Itin,
Tom Stellard348273d2014-01-23 16:18:02 +000077 [FeatureNorthernIslands, FeatureCFALUBug]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000078
Vincent Lejeune076c0b22013-04-30 00:14:17 +000079def : Proc<"cayman", R600_VLIW4_Itin,
Tom Stellarda6c6e1b2013-06-07 20:37:48 +000080 [FeatureNorthernIslands, FeatureFP64, FeatureCaymanISA]>;
Tom Stellard3498e4f2013-06-07 20:28:55 +000081
Tom Stellardd7e146e2013-12-11 17:51:51 +000082//===----------------------------------------------------------------------===//
83// Southern Islands
84//===----------------------------------------------------------------------===//
85
Matt Arsenaultb035a572015-01-29 19:34:25 +000086def : ProcessorModel<"SI", SIFullSpeedModel,
87 [FeatureSouthernIslands, FeatureFastFMAF32]
88>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000089
Matt Arsenaultb035a572015-01-29 19:34:25 +000090def : ProcessorModel<"tahiti", SIFullSpeedModel,
91 [FeatureSouthernIslands, FeatureFastFMAF32]
92>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000093
Tom Stellardae38f302015-01-14 01:13:19 +000094def : ProcessorModel<"pitcairn", SIQuarterSpeedModel, [FeatureSouthernIslands]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000095
Tom Stellardae38f302015-01-14 01:13:19 +000096def : ProcessorModel<"verde", SIQuarterSpeedModel, [FeatureSouthernIslands]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000097
Tom Stellardae38f302015-01-14 01:13:19 +000098def : ProcessorModel<"oland", SIQuarterSpeedModel, [FeatureSouthernIslands]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +000099
Tom Stellardae38f302015-01-14 01:13:19 +0000100def : ProcessorModel<"hainan", SIQuarterSpeedModel, [FeatureSouthernIslands]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +0000101
102//===----------------------------------------------------------------------===//
103// Sea Islands
104//===----------------------------------------------------------------------===//
105
Tom Stellardae38f302015-01-14 01:13:19 +0000106def : ProcessorModel<"bonaire", SIQuarterSpeedModel, [FeatureSeaIslands]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +0000107
Tom Stellardae38f302015-01-14 01:13:19 +0000108def : ProcessorModel<"kabini", SIQuarterSpeedModel, [FeatureSeaIslands]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +0000109
Tom Stellardae38f302015-01-14 01:13:19 +0000110def : ProcessorModel<"kaveri", SIQuarterSpeedModel, [FeatureSeaIslands]>;
Tom Stellardd7e146e2013-12-11 17:51:51 +0000111
Matt Arsenaultb035a572015-01-29 19:34:25 +0000112def : ProcessorModel<"hawaii", SIFullSpeedModel,
113 [FeatureSeaIslands, FeatureFastFMAF32]
114>;
Tom Stellard10b15022014-05-02 15:41:49 +0000115
Tom Stellardae38f302015-01-14 01:13:19 +0000116def : ProcessorModel<"mullins", SIQuarterSpeedModel, [FeatureSeaIslands]>;
Marek Olsak5df00d62014-12-07 12:18:57 +0000117
Tom Stellardae38f302015-01-14 01:13:19 +0000118//===----------------------------------------------------------------------===//
119// Volcanic Islands
120//===----------------------------------------------------------------------===//
Marek Olsak5df00d62014-12-07 12:18:57 +0000121
Matt Arsenault572d2302015-01-29 19:34:18 +0000122def : ProcessorModel<"tonga", SIQuarterSpeedModel, [FeatureVolcanicIslands]>;
Marek Olsak5df00d62014-12-07 12:18:57 +0000123
Tom Stellardae38f302015-01-14 01:13:19 +0000124def : ProcessorModel<"iceland", SIQuarterSpeedModel, [FeatureVolcanicIslands]>;
125
126def : ProcessorModel<"carrizo", SIQuarterSpeedModel, [FeatureVolcanicIslands]>;