10b57cec5SDimitry Andric//===-- GCNProcessors.td - GCN Processor definitions ----------------------===// 20b57cec5SDimitry Andric// 30b57cec5SDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 40b57cec5SDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 50b57cec5SDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 60b57cec5SDimitry Andric// 70b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 80b57cec5SDimitry Andric 90b57cec5SDimitry Andric// The code produced for "generic" is only useful for tests and cannot 100b57cec5SDimitry Andric// reasonably be expected to execute on any particular target. 110b57cec5SDimitry Andricdef : ProcessorModel<"generic", NoSchedModel, 125f757f3fSDimitry Andric [FeatureWavefrontSize64, FeatureGDS, FeatureGWS] 130b57cec5SDimitry Andric>; 140b57cec5SDimitry Andric 150b57cec5SDimitry Andricdef : ProcessorModel<"generic-hsa", NoSchedModel, 165f757f3fSDimitry Andric [FeatureWavefrontSize64, FeatureGDS, FeatureGWS, FeatureFlatAddressSpace] 170b57cec5SDimitry Andric>; 180b57cec5SDimitry Andric 190b57cec5SDimitry Andric//===------------------------------------------------------------===// 200b57cec5SDimitry Andric// GCN GFX6 (Southern Islands (SI)). 210b57cec5SDimitry Andric//===------------------------------------------------------------===// 220b57cec5SDimitry Andric 230b57cec5SDimitry Andricdef : ProcessorModel<"gfx600", SIFullSpeedModel, 240b57cec5SDimitry Andric FeatureISAVersion6_0_0.Features 250b57cec5SDimitry Andric>; 260b57cec5SDimitry Andric 270b57cec5SDimitry Andricdef : ProcessorModel<"tahiti", SIFullSpeedModel, 280b57cec5SDimitry Andric FeatureISAVersion6_0_0.Features 290b57cec5SDimitry Andric>; 300b57cec5SDimitry Andric 310b57cec5SDimitry Andricdef : ProcessorModel<"gfx601", SIQuarterSpeedModel, 320b57cec5SDimitry Andric FeatureISAVersion6_0_1.Features 330b57cec5SDimitry Andric>; 340b57cec5SDimitry Andric 350b57cec5SDimitry Andricdef : ProcessorModel<"pitcairn", SIQuarterSpeedModel, 360b57cec5SDimitry Andric FeatureISAVersion6_0_1.Features 370b57cec5SDimitry Andric>; 380b57cec5SDimitry Andric 390b57cec5SDimitry Andricdef : ProcessorModel<"verde", SIQuarterSpeedModel, 400b57cec5SDimitry Andric FeatureISAVersion6_0_1.Features 410b57cec5SDimitry Andric>; 420b57cec5SDimitry Andric 43e8d8bef9SDimitry Andricdef : ProcessorModel<"gfx602", SIQuarterSpeedModel, 44e8d8bef9SDimitry Andric FeatureISAVersion6_0_2.Features 45e8d8bef9SDimitry Andric>; 46e8d8bef9SDimitry Andric 47e8d8bef9SDimitry Andricdef : ProcessorModel<"hainan", SIQuarterSpeedModel, 48e8d8bef9SDimitry Andric FeatureISAVersion6_0_2.Features 49e8d8bef9SDimitry Andric>; 50e8d8bef9SDimitry Andric 51e8d8bef9SDimitry Andricdef : ProcessorModel<"oland", SIQuarterSpeedModel, 52e8d8bef9SDimitry Andric FeatureISAVersion6_0_2.Features 53e8d8bef9SDimitry Andric>; 54e8d8bef9SDimitry Andric 550b57cec5SDimitry Andric//===------------------------------------------------------------===// 560b57cec5SDimitry Andric// GCN GFX7 (Sea Islands (CI)). 570b57cec5SDimitry Andric//===------------------------------------------------------------===// 580b57cec5SDimitry Andric 590b57cec5SDimitry Andricdef : ProcessorModel<"gfx700", SIQuarterSpeedModel, 600b57cec5SDimitry Andric FeatureISAVersion7_0_0.Features 610b57cec5SDimitry Andric>; 620b57cec5SDimitry Andric 630b57cec5SDimitry Andricdef : ProcessorModel<"kaveri", SIQuarterSpeedModel, 640b57cec5SDimitry Andric FeatureISAVersion7_0_0.Features 650b57cec5SDimitry Andric>; 660b57cec5SDimitry Andric 670b57cec5SDimitry Andricdef : ProcessorModel<"gfx701", SIFullSpeedModel, 680b57cec5SDimitry Andric FeatureISAVersion7_0_1.Features 690b57cec5SDimitry Andric>; 700b57cec5SDimitry Andric 710b57cec5SDimitry Andricdef : ProcessorModel<"hawaii", SIFullSpeedModel, 720b57cec5SDimitry Andric FeatureISAVersion7_0_1.Features 730b57cec5SDimitry Andric>; 740b57cec5SDimitry Andric 750b57cec5SDimitry Andricdef : ProcessorModel<"gfx702", SIQuarterSpeedModel, 760b57cec5SDimitry Andric FeatureISAVersion7_0_2.Features 770b57cec5SDimitry Andric>; 780b57cec5SDimitry Andric 790b57cec5SDimitry Andricdef : ProcessorModel<"gfx703", SIQuarterSpeedModel, 800b57cec5SDimitry Andric FeatureISAVersion7_0_3.Features 810b57cec5SDimitry Andric>; 820b57cec5SDimitry Andric 830b57cec5SDimitry Andricdef : ProcessorModel<"kabini", SIQuarterSpeedModel, 840b57cec5SDimitry Andric FeatureISAVersion7_0_3.Features 850b57cec5SDimitry Andric>; 860b57cec5SDimitry Andric 870b57cec5SDimitry Andricdef : ProcessorModel<"mullins", SIQuarterSpeedModel, 880b57cec5SDimitry Andric FeatureISAVersion7_0_3.Features 890b57cec5SDimitry Andric>; 900b57cec5SDimitry Andric 910b57cec5SDimitry Andricdef : ProcessorModel<"gfx704", SIQuarterSpeedModel, 920b57cec5SDimitry Andric FeatureISAVersion7_0_4.Features 930b57cec5SDimitry Andric>; 940b57cec5SDimitry Andric 950b57cec5SDimitry Andricdef : ProcessorModel<"bonaire", SIQuarterSpeedModel, 960b57cec5SDimitry Andric FeatureISAVersion7_0_4.Features 970b57cec5SDimitry Andric>; 980b57cec5SDimitry Andric 99e8d8bef9SDimitry Andricdef : ProcessorModel<"gfx705", SIQuarterSpeedModel, 100e8d8bef9SDimitry Andric FeatureISAVersion7_0_5.Features 101e8d8bef9SDimitry Andric>; 102e8d8bef9SDimitry Andric 1030b57cec5SDimitry Andric//===------------------------------------------------------------===// 1040b57cec5SDimitry Andric// GCN GFX8 (Volcanic Islands (VI)). 1050b57cec5SDimitry Andric//===------------------------------------------------------------===// 1060b57cec5SDimitry Andric 1070b57cec5SDimitry Andricdef : ProcessorModel<"gfx801", SIQuarterSpeedModel, 1080b57cec5SDimitry Andric FeatureISAVersion8_0_1.Features 1090b57cec5SDimitry Andric>; 1100b57cec5SDimitry Andric 1110b57cec5SDimitry Andricdef : ProcessorModel<"carrizo", SIQuarterSpeedModel, 1120b57cec5SDimitry Andric FeatureISAVersion8_0_1.Features 1130b57cec5SDimitry Andric>; 1140b57cec5SDimitry Andric 1150b57cec5SDimitry Andricdef : ProcessorModel<"gfx802", SIQuarterSpeedModel, 1160b57cec5SDimitry Andric FeatureISAVersion8_0_2.Features 1170b57cec5SDimitry Andric>; 1180b57cec5SDimitry Andric 1190b57cec5SDimitry Andricdef : ProcessorModel<"iceland", SIQuarterSpeedModel, 1200b57cec5SDimitry Andric FeatureISAVersion8_0_2.Features 1210b57cec5SDimitry Andric>; 1220b57cec5SDimitry Andric 1230b57cec5SDimitry Andricdef : ProcessorModel<"tonga", SIQuarterSpeedModel, 1240b57cec5SDimitry Andric FeatureISAVersion8_0_2.Features 1250b57cec5SDimitry Andric>; 1260b57cec5SDimitry Andric 1270b57cec5SDimitry Andricdef : ProcessorModel<"gfx803", SIQuarterSpeedModel, 1280b57cec5SDimitry Andric FeatureISAVersion8_0_3.Features 1290b57cec5SDimitry Andric>; 1300b57cec5SDimitry Andric 1310b57cec5SDimitry Andricdef : ProcessorModel<"fiji", SIQuarterSpeedModel, 1320b57cec5SDimitry Andric FeatureISAVersion8_0_3.Features 1330b57cec5SDimitry Andric>; 1340b57cec5SDimitry Andric 1350b57cec5SDimitry Andricdef : ProcessorModel<"polaris10", SIQuarterSpeedModel, 1360b57cec5SDimitry Andric FeatureISAVersion8_0_3.Features 1370b57cec5SDimitry Andric>; 1380b57cec5SDimitry Andric 1390b57cec5SDimitry Andricdef : ProcessorModel<"polaris11", SIQuarterSpeedModel, 1400b57cec5SDimitry Andric FeatureISAVersion8_0_3.Features 1410b57cec5SDimitry Andric>; 1420b57cec5SDimitry Andric 143e8d8bef9SDimitry Andricdef : ProcessorModel<"gfx805", SIQuarterSpeedModel, 144e8d8bef9SDimitry Andric FeatureISAVersion8_0_5.Features 145e8d8bef9SDimitry Andric>; 146e8d8bef9SDimitry Andric 147e8d8bef9SDimitry Andricdef : ProcessorModel<"tongapro", SIQuarterSpeedModel, 148e8d8bef9SDimitry Andric FeatureISAVersion8_0_5.Features 149e8d8bef9SDimitry Andric>; 150e8d8bef9SDimitry Andric 1510b57cec5SDimitry Andricdef : ProcessorModel<"gfx810", SIQuarterSpeedModel, 1520b57cec5SDimitry Andric FeatureISAVersion8_1_0.Features 1530b57cec5SDimitry Andric>; 1540b57cec5SDimitry Andric 1550b57cec5SDimitry Andricdef : ProcessorModel<"stoney", SIQuarterSpeedModel, 1560b57cec5SDimitry Andric FeatureISAVersion8_1_0.Features 1570b57cec5SDimitry Andric>; 1580b57cec5SDimitry Andric 1590b57cec5SDimitry Andric//===------------------------------------------------------------===// 1600b57cec5SDimitry Andric// GCN GFX9. 1610b57cec5SDimitry Andric//===------------------------------------------------------------===// 1620b57cec5SDimitry Andric 1630b57cec5SDimitry Andricdef : ProcessorModel<"gfx900", SIQuarterSpeedModel, 1640b57cec5SDimitry Andric FeatureISAVersion9_0_0.Features 1650b57cec5SDimitry Andric>; 1660b57cec5SDimitry Andric 1670b57cec5SDimitry Andricdef : ProcessorModel<"gfx902", SIQuarterSpeedModel, 1680b57cec5SDimitry Andric FeatureISAVersion9_0_2.Features 1690b57cec5SDimitry Andric>; 1700b57cec5SDimitry Andric 1710b57cec5SDimitry Andricdef : ProcessorModel<"gfx904", SIQuarterSpeedModel, 1720b57cec5SDimitry Andric FeatureISAVersion9_0_4.Features 1730b57cec5SDimitry Andric>; 1740b57cec5SDimitry Andric 1750b57cec5SDimitry Andricdef : ProcessorModel<"gfx906", SIQuarterSpeedModel, 1760b57cec5SDimitry Andric FeatureISAVersion9_0_6.Features 1770b57cec5SDimitry Andric>; 1780b57cec5SDimitry Andric 1790b57cec5SDimitry Andricdef : ProcessorModel<"gfx908", SIQuarterSpeedModel, 1800b57cec5SDimitry Andric FeatureISAVersion9_0_8.Features 1810b57cec5SDimitry Andric>; 1820b57cec5SDimitry Andric 1830b57cec5SDimitry Andricdef : ProcessorModel<"gfx909", SIQuarterSpeedModel, 1840b57cec5SDimitry Andric FeatureISAVersion9_0_9.Features 1850b57cec5SDimitry Andric>; 1860b57cec5SDimitry Andric 187fe6060f1SDimitry Andricdef : ProcessorModel<"gfx90a", SIDPFullSpeedModel, 188fe6060f1SDimitry Andric FeatureISAVersion9_0_A.Features 189fe6060f1SDimitry Andric>; 190fe6060f1SDimitry Andric 191e8d8bef9SDimitry Andricdef : ProcessorModel<"gfx90c", SIQuarterSpeedModel, 192e8d8bef9SDimitry Andric FeatureISAVersion9_0_C.Features 193e8d8bef9SDimitry Andric>; 194e8d8bef9SDimitry Andric 19581ad6265SDimitry Andricdef : ProcessorModel<"gfx940", SIDPGFX940FullSpeedModel, 19681ad6265SDimitry Andric FeatureISAVersion9_4_0.Features 19781ad6265SDimitry Andric>; 19881ad6265SDimitry Andric 19906c3fb27SDimitry Andricdef : ProcessorModel<"gfx941", SIDPGFX940FullSpeedModel, 20006c3fb27SDimitry Andric FeatureISAVersion9_4_1.Features 20106c3fb27SDimitry Andric>; 20206c3fb27SDimitry Andric 20306c3fb27SDimitry Andricdef : ProcessorModel<"gfx942", SIDPGFX940FullSpeedModel, 20406c3fb27SDimitry Andric FeatureISAVersion9_4_2.Features 20506c3fb27SDimitry Andric>; 20606c3fb27SDimitry Andric 207*0fca6ea1SDimitry Andric// [gfx900, gfx902, gfx904, gfx906, gfx909, gfx90c] 208*0fca6ea1SDimitry Andricdef : ProcessorModel<"gfx9-generic", SIQuarterSpeedModel, 209*0fca6ea1SDimitry Andric FeatureISAVersion9_Generic.Features 210*0fca6ea1SDimitry Andric>; 211*0fca6ea1SDimitry Andric 2120b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 2130b57cec5SDimitry Andric// GCN GFX10. 2140b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 2150b57cec5SDimitry Andric 2160b57cec5SDimitry Andricdef : ProcessorModel<"gfx1010", GFX10SpeedModel, 2170b57cec5SDimitry Andric FeatureISAVersion10_1_0.Features 2180b57cec5SDimitry Andric>; 2190b57cec5SDimitry Andric 2200b57cec5SDimitry Andricdef : ProcessorModel<"gfx1011", GFX10SpeedModel, 2210b57cec5SDimitry Andric FeatureISAVersion10_1_1.Features 2220b57cec5SDimitry Andric>; 2230b57cec5SDimitry Andric 2240b57cec5SDimitry Andricdef : ProcessorModel<"gfx1012", GFX10SpeedModel, 2250b57cec5SDimitry Andric FeatureISAVersion10_1_2.Features 2260b57cec5SDimitry Andric>; 2275ffd83dbSDimitry Andric 228fe6060f1SDimitry Andricdef : ProcessorModel<"gfx1013", GFX10SpeedModel, 229fe6060f1SDimitry Andric FeatureISAVersion10_1_3.Features 230fe6060f1SDimitry Andric>; 231fe6060f1SDimitry Andric 2325ffd83dbSDimitry Andricdef : ProcessorModel<"gfx1030", GFX10SpeedModel, 2335ffd83dbSDimitry Andric FeatureISAVersion10_3_0.Features 2345ffd83dbSDimitry Andric>; 235e8d8bef9SDimitry Andric 236e8d8bef9SDimitry Andricdef : ProcessorModel<"gfx1031", GFX10SpeedModel, 237e8d8bef9SDimitry Andric FeatureISAVersion10_3_0.Features 238e8d8bef9SDimitry Andric>; 239e8d8bef9SDimitry Andric 240e8d8bef9SDimitry Andricdef : ProcessorModel<"gfx1032", GFX10SpeedModel, 241e8d8bef9SDimitry Andric FeatureISAVersion10_3_0.Features 242e8d8bef9SDimitry Andric>; 243e8d8bef9SDimitry Andric 244e8d8bef9SDimitry Andricdef : ProcessorModel<"gfx1033", GFX10SpeedModel, 245e8d8bef9SDimitry Andric FeatureISAVersion10_3_0.Features 246e8d8bef9SDimitry Andric>; 247fe6060f1SDimitry Andric 248fe6060f1SDimitry Andricdef : ProcessorModel<"gfx1034", GFX10SpeedModel, 249fe6060f1SDimitry Andric FeatureISAVersion10_3_0.Features 250fe6060f1SDimitry Andric>; 251fe6060f1SDimitry Andric 252fe6060f1SDimitry Andricdef : ProcessorModel<"gfx1035", GFX10SpeedModel, 253fe6060f1SDimitry Andric FeatureISAVersion10_3_0.Features 254fe6060f1SDimitry Andric>; 25581ad6265SDimitry Andric 25681ad6265SDimitry Andricdef : ProcessorModel<"gfx1036", GFX10SpeedModel, 25781ad6265SDimitry Andric FeatureISAVersion10_3_0.Features 25881ad6265SDimitry Andric>; 25981ad6265SDimitry Andric 260*0fca6ea1SDimitry Andric// [gfx1010, gfx1011, gfx1012, gfx1013] 261*0fca6ea1SDimitry Andricdef : ProcessorModel<"gfx10-1-generic", GFX10SpeedModel, 262*0fca6ea1SDimitry Andric FeatureISAVersion10_1_Generic.Features 263*0fca6ea1SDimitry Andric>; 264*0fca6ea1SDimitry Andric 265*0fca6ea1SDimitry Andric// [gfx1030, gfx1031, gfx1032, gfx1033, gfx1034, gfx1035, gfx1036] 266*0fca6ea1SDimitry Andricdef : ProcessorModel<"gfx10-3-generic", GFX10SpeedModel, 267*0fca6ea1SDimitry Andric FeatureISAVersion10_3_Generic.Features 268*0fca6ea1SDimitry Andric>; 269*0fca6ea1SDimitry Andric 27081ad6265SDimitry Andric//===----------------------------------------------------------------------===// 27181ad6265SDimitry Andric// GCN GFX11. 27281ad6265SDimitry Andric//===----------------------------------------------------------------------===// 27381ad6265SDimitry Andric 27481ad6265SDimitry Andricdef : ProcessorModel<"gfx1100", GFX11SpeedModel, 275fcaf7f86SDimitry Andric FeatureISAVersion11_0_0.Features 27681ad6265SDimitry Andric>; 27781ad6265SDimitry Andric 27881ad6265SDimitry Andricdef : ProcessorModel<"gfx1101", GFX11SpeedModel, 279fcaf7f86SDimitry Andric FeatureISAVersion11_0_1.Features 28081ad6265SDimitry Andric>; 28181ad6265SDimitry Andric 28281ad6265SDimitry Andricdef : ProcessorModel<"gfx1102", GFX11SpeedModel, 28381ad6265SDimitry Andric FeatureISAVersion11_0_2.Features 28481ad6265SDimitry Andric>; 28581ad6265SDimitry Andric 28681ad6265SDimitry Andricdef : ProcessorModel<"gfx1103", GFX11SpeedModel, 287bdd1243dSDimitry Andric FeatureISAVersion11_0_3.Features 28881ad6265SDimitry Andric>; 28906c3fb27SDimitry Andric 29006c3fb27SDimitry Andricdef : ProcessorModel<"gfx1150", GFX11SpeedModel, 29106c3fb27SDimitry Andric FeatureISAVersion11_5_0.Features 29206c3fb27SDimitry Andric>; 29306c3fb27SDimitry Andric 29406c3fb27SDimitry Andricdef : ProcessorModel<"gfx1151", GFX11SpeedModel, 29506c3fb27SDimitry Andric FeatureISAVersion11_5_1.Features 29606c3fb27SDimitry Andric>; 2975f757f3fSDimitry Andric 298*0fca6ea1SDimitry Andricdef : ProcessorModel<"gfx1152", GFX11SpeedModel, 299*0fca6ea1SDimitry Andric FeatureISAVersion11_5_2.Features 300*0fca6ea1SDimitry Andric>; 301*0fca6ea1SDimitry Andric 302*0fca6ea1SDimitry Andric// [gfx1100, gfx1101, gfx1102, gfx1103, gfx1150, gfx1151, gfx1152] 303*0fca6ea1SDimitry Andricdef : ProcessorModel<"gfx11-generic", GFX11SpeedModel, 304*0fca6ea1SDimitry Andric FeatureISAVersion11_Generic.Features 305*0fca6ea1SDimitry Andric>; 306*0fca6ea1SDimitry Andric 3075f757f3fSDimitry Andric//===----------------------------------------------------------------------===// 3085f757f3fSDimitry Andric// GCN GFX12. 3095f757f3fSDimitry Andric//===----------------------------------------------------------------------===// 3105f757f3fSDimitry Andric 3115f757f3fSDimitry Andricdef : ProcessorModel<"gfx1200", GFX12SpeedModel, 3125f757f3fSDimitry Andric FeatureISAVersion12.Features 3135f757f3fSDimitry Andric>; 3145f757f3fSDimitry Andric 3155f757f3fSDimitry Andricdef : ProcessorModel<"gfx1201", GFX12SpeedModel, 3165f757f3fSDimitry Andric FeatureISAVersion12.Features 3175f757f3fSDimitry Andric>; 318*0fca6ea1SDimitry Andric 319*0fca6ea1SDimitry Andric// [gfx1200, gfx1201] 320*0fca6ea1SDimitry Andricdef : ProcessorModel<"gfx12-generic", GFX12SpeedModel, 321*0fca6ea1SDimitry Andric FeatureISAVersion12_Generic.Features 322*0fca6ea1SDimitry Andric>; 323