[AMDGPU] gfx908 clang target

Differential Revision: https://reviews.llvm.org/D64430

llvm-svn: 365528
diff --git a/clang/lib/Basic/Cuda.cpp b/clang/lib/Basic/Cuda.cpp
index 4bc8d8c..d19925a 100644
--- a/clang/lib/Basic/Cuda.cpp
+++ b/clang/lib/Basic/Cuda.cpp
@@ -109,6 +109,8 @@
     return "gfx904";
   case CudaArch::GFX906: // TBA
     return "gfx906";
+  case CudaArch::GFX908: // TBA
+    return "gfx908";
   case CudaArch::GFX909: // TBA
     return "gfx909";
   }
@@ -147,6 +149,7 @@
       .Case("gfx902", CudaArch::GFX902)
       .Case("gfx904", CudaArch::GFX904)
       .Case("gfx906", CudaArch::GFX906)
+      .Case("gfx908", CudaArch::GFX908)
       .Case("gfx909", CudaArch::GFX909)
       .Default(CudaArch::UNKNOWN);
 }
@@ -259,6 +262,7 @@
   case CudaArch::GFX902:
   case CudaArch::GFX904:
   case CudaArch::GFX906:
+  case CudaArch::GFX908:
   case CudaArch::GFX909:
     return CudaVirtualArch::COMPUTE_AMDGCN;
   }
@@ -306,6 +310,7 @@
   case CudaArch::GFX902:
   case CudaArch::GFX904:
   case CudaArch::GFX906:
+  case CudaArch::GFX908:
   case CudaArch::GFX909:
     return CudaVersion::CUDA_70;
   }
diff --git a/clang/lib/Basic/Targets/AMDGPU.cpp b/clang/lib/Basic/Targets/AMDGPU.cpp
index 568f267..b5c82e2 100644
--- a/clang/lib/Basic/Targets/AMDGPU.cpp
+++ b/clang/lib/Basic/Targets/AMDGPU.cpp
@@ -152,6 +152,12 @@
       Features["gfx10-insts"] = true;
       Features["s-memrealtime"] = true;
       break;
+    case GK_GFX908:
+      Features["dot3-insts"] = true;
+      Features["dot4-insts"] = true;
+      Features["dot5-insts"] = true;
+      Features["dot6-insts"] = true;
+      LLVM_FALLTHROUGH;
     case GK_GFX906:
       Features["dl-insts"] = true;
       Features["dot1-insts"] = true;
diff --git a/clang/lib/Basic/Targets/NVPTX.cpp b/clang/lib/Basic/Targets/NVPTX.cpp
index c917e3d..8ca36fb 100644
--- a/clang/lib/Basic/Targets/NVPTX.cpp
+++ b/clang/lib/Basic/Targets/NVPTX.cpp
@@ -191,6 +191,7 @@
       case CudaArch::GFX902:
       case CudaArch::GFX904:
       case CudaArch::GFX906:
+      case CudaArch::GFX908:
       case CudaArch::GFX909:
       case CudaArch::LAST:
         break;