diff options
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Basic/Targets/AMDGPU.cpp | 4 | ||||
-rw-r--r-- | clang/lib/Basic/Targets/AMDGPU.h | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/clang/lib/Basic/Targets/AMDGPU.cpp b/clang/lib/Basic/Targets/AMDGPU.cpp index d956d132a5b..b6b9aa2f124 100644 --- a/clang/lib/Basic/Targets/AMDGPU.cpp +++ b/clang/lib/Basic/Targets/AMDGPU.cpp @@ -133,6 +133,10 @@ bool AMDGPUTargetInfo::initFeatureMap( CPU = "gfx600"; switch (parseAMDGCNName(CPU).Kind) { + case GK_GFX906: + Features["dl-insts"] = true; + LLVM_FALLTHROUGH; + case GK_GFX904: case GK_GFX902: case GK_GFX900: Features["gfx9-insts"] = true; diff --git a/clang/lib/Basic/Targets/AMDGPU.h b/clang/lib/Basic/Targets/AMDGPU.h index f7c477659dc..6a264f8456a 100644 --- a/clang/lib/Basic/Targets/AMDGPU.h +++ b/clang/lib/Basic/Targets/AMDGPU.h @@ -78,9 +78,11 @@ class LLVM_LIBRARY_VISIBILITY AMDGPUTargetInfo final : public TargetInfo { GK_GFX810, GK_GFX900, GK_GFX902, + GK_GFX904, + GK_GFX906, GK_AMDGCN_FIRST = GK_GFX600, - GK_AMDGCN_LAST = GK_GFX902, + GK_AMDGCN_LAST = GK_GFX906, }; struct GPUInfo { @@ -127,7 +129,7 @@ class LLVM_LIBRARY_VISIBILITY AMDGPUTargetInfo final : public TargetInfo { {{"cayman"}, {"cayman"}, GK_CAYMAN, true, false, false, false, false}, {{"turks"}, {"turks"}, GK_TURKS, false, false, false, false, false}, }; - static constexpr GPUInfo AMDGCNGPUs[30] = { + static constexpr GPUInfo AMDGCNGPUs[32] = { // Name Canonical Kind Has Has Has Has Has // Name FMAF Fast LDEXPF FP64 Fast // FMAF FMA @@ -161,6 +163,8 @@ class LLVM_LIBRARY_VISIBILITY AMDGPUTargetInfo final : public TargetInfo { {{"stoney"}, {"gfx810"}, GK_GFX810, true, false, true, true, true}, {{"gfx900"}, {"gfx900"}, GK_GFX900, true, true, true, true, true}, {{"gfx902"}, {"gfx902"}, GK_GFX900, true, true, true, true, true}, + {{"gfx904"}, {"gfx904"}, GK_GFX904, true, true, true, true, true}, + {{"gfx906"}, {"gfx906"}, GK_GFX906, true, true, true, true, true}, }; static GPUInfo parseR600Name(StringRef Name); |