mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
AMDGPU : Fix ISA Version Definitions.
Differential Revision: http://reviews.llvm.org/D28531 llvm-svn: 305137
This commit is contained in:
parent
8680cc30a5
commit
26ab347e05
@ -447,6 +447,16 @@ class SubtargetFeatureISAVersion <int Major, int Minor, int Stepping,
|
||||
Implies
|
||||
>;
|
||||
|
||||
def FeatureISAVersion6_0_0 : SubtargetFeatureISAVersion <6,0,0,
|
||||
[FeatureSouthernIslands,
|
||||
FeatureFastFMAF32,
|
||||
HalfRate64Ops,
|
||||
FeatureLDSBankCount32]>;
|
||||
|
||||
def FeatureISAVersion6_0_1 : SubtargetFeatureISAVersion <6,0,1,
|
||||
[FeatureSouthernIslands,
|
||||
FeatureLDSBankCount32]>;
|
||||
|
||||
def FeatureISAVersion7_0_0 : SubtargetFeatureISAVersion <7,0,0,
|
||||
[FeatureSeaIslands,
|
||||
FeatureLDSBankCount32]>;
|
||||
@ -461,6 +471,10 @@ def FeatureISAVersion7_0_2 : SubtargetFeatureISAVersion <7,0,2,
|
||||
[FeatureSeaIslands,
|
||||
FeatureLDSBankCount16]>;
|
||||
|
||||
def FeatureISAVersion7_0_3 : SubtargetFeatureISAVersion <7,0,3,
|
||||
[FeatureSeaIslands,
|
||||
FeatureLDSBankCount16]>;
|
||||
|
||||
def FeatureISAVersion8_0_0 : SubtargetFeatureISAVersion <8,0,0,
|
||||
[FeatureVolcanicIslands,
|
||||
FeatureLDSBankCount32,
|
||||
@ -489,8 +503,23 @@ def FeatureISAVersion8_1_0 : SubtargetFeatureISAVersion <8,1,0,
|
||||
FeatureLDSBankCount16,
|
||||
FeatureXNACK]>;
|
||||
|
||||
def FeatureISAVersion9_0_0 : SubtargetFeatureISAVersion <9,0,0,[]>;
|
||||
def FeatureISAVersion9_0_1 : SubtargetFeatureISAVersion <9,0,1,[]>;
|
||||
def FeatureISAVersion9_0_0 : SubtargetFeatureISAVersion <9,0,0,
|
||||
[FeatureGFX9,
|
||||
FeatureLDSBankCount32]>;
|
||||
|
||||
def FeatureISAVersion9_0_1 : SubtargetFeatureISAVersion <9,0,1,
|
||||
[FeatureGFX9,
|
||||
FeatureLDSBankCount32,
|
||||
FeatureXNACK]>;
|
||||
|
||||
def FeatureISAVersion9_0_2 : SubtargetFeatureISAVersion <9,0,2,
|
||||
[FeatureGFX9,
|
||||
FeatureLDSBankCount32]>;
|
||||
|
||||
def FeatureISAVersion9_0_3 : SubtargetFeatureISAVersion <9,0,3,
|
||||
[FeatureGFX9,
|
||||
FeatureLDSBankCount32,
|
||||
FeatureXNACK]>;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Debugger related subtarget features.
|
||||
|
@ -57,9 +57,12 @@ public:
|
||||
|
||||
enum {
|
||||
ISAVersion0_0_0,
|
||||
ISAVersion6_0_0,
|
||||
ISAVersion6_0_1,
|
||||
ISAVersion7_0_0,
|
||||
ISAVersion7_0_1,
|
||||
ISAVersion7_0_2,
|
||||
ISAVersion7_0_3,
|
||||
ISAVersion8_0_0,
|
||||
ISAVersion8_0_1,
|
||||
ISAVersion8_0_2,
|
||||
@ -67,7 +70,9 @@ public:
|
||||
ISAVersion8_0_4,
|
||||
ISAVersion8_1_0,
|
||||
ISAVersion9_0_0,
|
||||
ISAVersion9_0_1
|
||||
ISAVersion9_0_1,
|
||||
ISAVersion9_0_2,
|
||||
ISAVersion9_0_3
|
||||
};
|
||||
|
||||
enum TrapHandlerAbi {
|
||||
|
@ -80,57 +80,71 @@ def : Proc<"cayman", R600_VLIW4_Itin,
|
||||
// Southern Islands
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
def : ProcessorModel<"SI", SIFullSpeedModel,
|
||||
[FeatureSouthernIslands, FeatureFastFMAF32, HalfRate64Ops]
|
||||
def : ProcessorModel<"gfx600", SIFullSpeedModel,
|
||||
[FeatureISAVersion6_0_0]>;
|
||||
|
||||
def : ProcessorModel<"SI", SIFullSpeedModel,
|
||||
[FeatureISAVersion6_0_0]
|
||||
>;
|
||||
|
||||
def : ProcessorModel<"tahiti", SIFullSpeedModel,
|
||||
[FeatureSouthernIslands, FeatureFastFMAF32, HalfRate64Ops]
|
||||
def : ProcessorModel<"tahiti", SIFullSpeedModel,
|
||||
[FeatureISAVersion6_0_0]
|
||||
>;
|
||||
|
||||
def : ProcessorModel<"pitcairn", SIQuarterSpeedModel, [FeatureSouthernIslands]>;
|
||||
def : ProcessorModel<"gfx601", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion6_0_1]
|
||||
>;
|
||||
|
||||
def : ProcessorModel<"verde", SIQuarterSpeedModel, [FeatureSouthernIslands]>;
|
||||
def : ProcessorModel<"pitcairn", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion6_0_1]>;
|
||||
|
||||
def : ProcessorModel<"oland", SIQuarterSpeedModel, [FeatureSouthernIslands]>;
|
||||
def : ProcessorModel<"verde", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion6_0_1]>;
|
||||
|
||||
def : ProcessorModel<"hainan", SIQuarterSpeedModel, [FeatureSouthernIslands]>;
|
||||
def : ProcessorModel<"oland", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion6_0_1]>;
|
||||
|
||||
def : ProcessorModel<"hainan", SIQuarterSpeedModel, [FeatureISAVersion6_0_1]>;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Sea Islands
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
def : ProcessorModel<"gfx700", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion7_0_0]
|
||||
>;
|
||||
|
||||
def : ProcessorModel<"bonaire", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion7_0_0]
|
||||
>;
|
||||
|
||||
def : ProcessorModel<"kabini", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion7_0_2]
|
||||
>;
|
||||
|
||||
def : ProcessorModel<"kaveri", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion7_0_0]
|
||||
>;
|
||||
|
||||
def : ProcessorModel<"hawaii", SIFullSpeedModel,
|
||||
[FeatureISAVersion7_0_1]
|
||||
>;
|
||||
|
||||
def : ProcessorModel<"mullins", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion7_0_2]>;
|
||||
|
||||
def : ProcessorModel<"gfx700", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion7_0_0]
|
||||
>;
|
||||
|
||||
def : ProcessorModel<"gfx701", SIFullSpeedModel,
|
||||
[FeatureISAVersion7_0_1]
|
||||
>;
|
||||
|
||||
def : ProcessorModel<"hawaii", SIFullSpeedModel,
|
||||
[FeatureISAVersion7_0_1]
|
||||
>;
|
||||
|
||||
def : ProcessorModel<"gfx702", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion7_0_2]
|
||||
>;
|
||||
|
||||
def : ProcessorModel<"gfx703", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion7_0_3]
|
||||
>;
|
||||
|
||||
def : ProcessorModel<"kabini", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion7_0_3]
|
||||
>;
|
||||
|
||||
def : ProcessorModel<"mullins", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion7_0_3]>;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Volcanic Islands
|
||||
//===----------------------------------------------------------------------===//
|
||||
@ -187,10 +201,23 @@ def : ProcessorModel<"gfx810", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion8_1_0]
|
||||
>;
|
||||
|
||||
def : ProcessorModel<"gfx900", SIQuarterSpeedModel,
|
||||
[FeatureGFX9, FeatureISAVersion9_0_0, FeatureLDSBankCount32]
|
||||
//===----------------------------------------------------------------------===//
|
||||
// GFX9
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
def : ProcessorModel<"gfx900", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion9_0_0]
|
||||
>;
|
||||
|
||||
def : ProcessorModel<"gfx901", SIQuarterSpeedModel,
|
||||
[FeatureGFX9, FeatureXNACK, FeatureISAVersion9_0_1, FeatureLDSBankCount32]
|
||||
def : ProcessorModel<"gfx901", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion9_0_1]
|
||||
>;
|
||||
|
||||
def : ProcessorModel<"gfx902", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion9_0_2]
|
||||
>;
|
||||
|
||||
def : ProcessorModel<"gfx903", SIQuarterSpeedModel,
|
||||
[FeatureISAVersion9_0_3]
|
||||
>;
|
||||
|
||||
|
@ -103,6 +103,11 @@ namespace AMDGPU {
|
||||
namespace IsaInfo {
|
||||
|
||||
IsaVersion getIsaVersion(const FeatureBitset &Features) {
|
||||
// SI.
|
||||
if (Features.test(FeatureISAVersion6_0_0))
|
||||
return {6, 0, 0};
|
||||
if (Features.test(FeatureISAVersion6_0_1))
|
||||
return {6, 0, 1};
|
||||
// CI.
|
||||
if (Features.test(FeatureISAVersion7_0_0))
|
||||
return {7, 0, 0};
|
||||
@ -110,6 +115,8 @@ IsaVersion getIsaVersion(const FeatureBitset &Features) {
|
||||
return {7, 0, 1};
|
||||
if (Features.test(FeatureISAVersion7_0_2))
|
||||
return {7, 0, 2};
|
||||
if (Features.test(FeatureISAVersion7_0_3))
|
||||
return {7, 0, 3};
|
||||
|
||||
// VI.
|
||||
if (Features.test(FeatureISAVersion8_0_0))
|
||||
@ -130,6 +137,10 @@ IsaVersion getIsaVersion(const FeatureBitset &Features) {
|
||||
return {9, 0, 0};
|
||||
if (Features.test(FeatureISAVersion9_0_1))
|
||||
return {9, 0, 1};
|
||||
if (Features.test(FeatureISAVersion9_0_2))
|
||||
return {9, 0, 2};
|
||||
if (Features.test(FeatureISAVersion9_0_3))
|
||||
return {9, 0, 3};
|
||||
|
||||
if (!Features.test(FeatureGCN) || Features.test(FeatureSouthernIslands))
|
||||
return {0, 0, 0};
|
||||
|
@ -1,6 +1,12 @@
|
||||
; RUN: llc < %s -mtriple=amdgcn--amdhsa -mcpu=gfx600 | FileCheck --check-prefix=HSA --check-prefix=HSA-SI600 %s
|
||||
; RUN: llc < %s -mtriple=amdgcn--amdhsa -mcpu=gfx601 | FileCheck --check-prefix=HSA --check-prefix=HSA-SI601 %s
|
||||
; RUN: llc < %s -mtriple=amdgcn--amdhsa -mcpu=gfx700 | FileCheck --check-prefix=HSA --check-prefix=HSA-CI700 %s
|
||||
; RUN: llc < %s -mtriple=amdgcn--amdhsa -mcpu=gfx701 | FileCheck --check-prefix=HSA --check-prefix=HSA-CI701 %s
|
||||
; RUN: llc < %s -mtriple=amdgcn--amdhsa -mcpu=gfx702 | FileCheck --check-prefix=HSA --check-prefix=HSA-CI702 %s
|
||||
; RUN: llc < %s -mtriple=amdgcn--amdhsa -mcpu=gfx703 | FileCheck --check-prefix=HSA --check-prefix=HSA-CI703 %s
|
||||
; RUN: llc < %s -mtriple=amdgcn--amdhsa -mcpu=mullins | FileCheck --check-prefix=HSA --check-prefix=HSA-CI703 %s
|
||||
; RUN: llc < %s -mtriple=amdgcn--amdhsa -mcpu=hawaii | FileCheck --check-prefix=HSA --check-prefix=HSA-CI701 %s
|
||||
; RUN: llc < %s -mtriple=amdgcn--amdhsa -mcpu=kabini | FileCheck --check-prefix=HSA --check-prefix=HSA-CI703 %s
|
||||
; RUN: llc < %s -mtriple=amdgcn--amdhsa -mcpu=kaveri | FileCheck --check-prefix=HSA --check-prefix=HSA-CI700 %s
|
||||
; RUN: llc < %s -mtriple=amdgcn--amdhsa -mcpu=carrizo -mattr=-flat-for-global | FileCheck --check-prefix=HSA --check-prefix=HSA-VI801 %s
|
||||
; RUN: llc < %s -mtriple=amdgcn--amdhsa -mcpu=tonga -mattr=-flat-for-global | FileCheck --check-prefix=HSA --check-prefix=HSA-VI802 %s
|
||||
@ -15,11 +21,16 @@
|
||||
; RUN: llc < %s -mtriple=amdgcn--amdhsa -mcpu=gfx810 | FileCheck --check-prefix=HSA --check-prefix=HSA-VI810 %s
|
||||
; RUN: llc < %s -mtriple=amdgcn--amdhsa -mcpu=gfx900 | FileCheck --check-prefix=HSA --check-prefix=HSA-GFX900 %s
|
||||
; RUN: llc < %s -mtriple=amdgcn--amdhsa -mcpu=gfx901 | FileCheck --check-prefix=HSA --check-prefix=HSA-GFX901 %s
|
||||
; RUN: llc < %s -mtriple=amdgcn--amdhsa -mcpu=gfx902 | FileCheck --check-prefix=HSA --check-prefix=HSA-GFX902 %s
|
||||
; RUN: llc < %s -mtriple=amdgcn--amdhsa -mcpu=gfx903 | FileCheck --check-prefix=HSA --check-prefix=HSA-GFX903 %s
|
||||
|
||||
; HSA: .hsa_code_object_version 2,1
|
||||
; HSA-SI600: .hsa_code_object_isa 6,0,0,"AMD","AMDGPU"
|
||||
; HSA-SI601: .hsa_code_object_isa 6,0,1,"AMD","AMDGPU"
|
||||
; HSA-CI700: .hsa_code_object_isa 7,0,0,"AMD","AMDGPU"
|
||||
; HSA-CI701: .hsa_code_object_isa 7,0,1,"AMD","AMDGPU"
|
||||
; HSA-CI702: .hsa_code_object_isa 7,0,2,"AMD","AMDGPU"
|
||||
; HSA-CI703: .hsa_code_object_isa 7,0,3,"AMD","AMDGPU"
|
||||
; HSA-VI800: .hsa_code_object_isa 8,0,0,"AMD","AMDGPU"
|
||||
; HSA-VI801: .hsa_code_object_isa 8,0,1,"AMD","AMDGPU"
|
||||
; HSA-VI802: .hsa_code_object_isa 8,0,2,"AMD","AMDGPU"
|
||||
@ -28,3 +39,5 @@
|
||||
; HSA-VI810: .hsa_code_object_isa 8,1,0,"AMD","AMDGPU"
|
||||
; HSA-GFX900: .hsa_code_object_isa 9,0,0,"AMD","AMDGPU"
|
||||
; HSA-GFX901: .hsa_code_object_isa 9,0,1,"AMD","AMDGPU"
|
||||
; HSA-GFX902: .hsa_code_object_isa 9,0,2,"AMD","AMDGPU"
|
||||
; HSA-GFX903: .hsa_code_object_isa 9,0,3,"AMD","AMDGPU"
|
||||
|
@ -10,7 +10,7 @@
|
||||
// RUN: llvm-mc -arch=amdgcn -mcpu=stoney %s | FileCheck %s --check-prefix=STONEY
|
||||
|
||||
.byte .option.machine_version_major
|
||||
// SI: .byte 0
|
||||
// SI: .byte 6
|
||||
// BONAIRE: .byte 7
|
||||
// HAWAII: .byte 7
|
||||
// KABINI: .byte 7
|
||||
@ -37,7 +37,7 @@
|
||||
// SI: .byte 0
|
||||
// BONAIRE: .byte 0
|
||||
// HAWAII: .byte 1
|
||||
// KABINI: .byte 2
|
||||
// KABINI: .byte 3
|
||||
// ICELAND: .byte 0
|
||||
// CARRIZO: .byte 1
|
||||
// TONGA: .byte 2
|
||||
|
Loading…
x
Reference in New Issue
Block a user