[PATCH] D44163: [AMDGPU] Add default ISA version targets

Stanislav Mekhanoshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 6 10:14:33 PST 2018


rampitec created this revision.
rampitec added a reviewer: kzhuravl.
Herald added subscribers: t-tye, tpr, dstuttard, yaxunl, nhaehnle, wdng, arsenm.

In case if -mattr used to modify feature set bits in llvm-mc call
getIsaVersion can fail to identify specific ISA due to test mismatch.
Adding default fallback tests which will always correctly report at
least major version.


https://reviews.llvm.org/D44163

Files:
  lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
  test/MC/AMDGPU/hsa_isa_version_attrs.s


Index: test/MC/AMDGPU/hsa_isa_version_attrs.s
===================================================================
--- /dev/null
+++ test/MC/AMDGPU/hsa_isa_version_attrs.s
@@ -0,0 +1,6 @@
+// RUN: llvm-mc -arch=amdgcn -mcpu=gfx801 -mattr=-fast-fmaf -show-encoding %s | FileCheck --check-prefix=GFX8 %s
+// RUN: llvm-mc -arch=amdgcn -mcpu=gfx900 -mattr=-mad-mix-insts -show-encoding %s | FileCheck --check-prefix=GFX9 %s
+
+.hsa_code_object_isa
+// GFX8:  .hsa_code_object_isa 8,0,0,"AMD","AMDGPU"
+// GFX9:  .hsa_code_object_isa 9,0,0,"AMD","AMDGPU"
Index: lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
===================================================================
--- lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
+++ lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
@@ -206,6 +206,8 @@
     return {7, 0, 3};
   if (Features.test(FeatureISAVersion7_0_4))
     return {7, 0, 4};
+  if (Features.test(FeatureSeaIslands))
+    return {7, 0, 0};
 
   // GCN GFX8 (Volcanic Islands (VI)).
   if (Features.test(FeatureISAVersion8_0_1))
@@ -216,12 +218,16 @@
     return {8, 0, 3};
   if (Features.test(FeatureISAVersion8_1_0))
     return {8, 1, 0};
+  if (Features.test(FeatureVolcanicIslands))
+    return {8, 0, 0};
 
   // GCN GFX9.
   if (Features.test(FeatureISAVersion9_0_0))
     return {9, 0, 0};
   if (Features.test(FeatureISAVersion9_0_2))
     return {9, 0, 2};
+  if (Features.test(FeatureGFX9))
+    return {9, 0, 0};
 
   if (!Features.test(FeatureGCN) || Features.test(FeatureSouthernIslands))
     return {0, 0, 0};


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44163.137223.patch
Type: text/x-patch
Size: 1523 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180306/bd96af52/attachment.bin>


More information about the llvm-commits mailing list