From: Artem Belevich Date: Thu, 19 May 2016 17:47:47 +0000 (+0000) Subject: [CUDA] Allow sm_50,52,53 GPUs X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7fc77c937b688c544fa16cc84265c75214d79823;p=clang [CUDA] Allow sm_50,52,53 GPUs LLVM accepts them since r233575. Differential Revision: http://reviews.llvm.org/D20405 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@270084 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index b63eac907e..c205356d41 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -1689,6 +1689,9 @@ class NVPTXTargetInfo : public TargetInfo { GK_SM30, GK_SM35, GK_SM37, + GK_SM50, + GK_SM52, + GK_SM53, } GPU; public: @@ -1787,6 +1790,15 @@ public: case GK_SM37: CUDAArchCode = "370"; break; + case GK_SM50: + CUDAArchCode = "500"; + break; + case GK_SM52: + CUDAArchCode = "520"; + break; + case GK_SM53: + CUDAArchCode = "530"; + break; default: llvm_unreachable("Unhandled target CPU"); } @@ -1836,6 +1848,9 @@ public: .Case("sm_30", GK_SM30) .Case("sm_35", GK_SM35) .Case("sm_37", GK_SM37) + .Case("sm_50", GK_SM50) + .Case("sm_52", GK_SM52) + .Case("sm_53", GK_SM53) .Default(GK_NONE); return GPU != GK_NONE; diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp index a46cb08003..556d240844 100644 --- a/lib/Driver/ToolChains.cpp +++ b/lib/Driver/ToolChains.cpp @@ -1750,6 +1750,10 @@ void Generic_GCC::CudaInstallationDetector::init( } else if (GpuArch == "compute_35") { CudaLibDeviceMap["sm_35"] = FilePath; CudaLibDeviceMap["sm_37"] = FilePath; + } else if (GpuArch == "compute_50") { + CudaLibDeviceMap["sm_50"] = FilePath; + CudaLibDeviceMap["sm_52"] = FilePath; + CudaLibDeviceMap["sm_53"] = FilePath; } } diff --git a/test/CodeGen/nvptx-cpus.c b/test/CodeGen/nvptx-cpus.c index 015f52946e..76c55c0edf 100644 --- a/test/CodeGen/nvptx-cpus.c +++ b/test/CodeGen/nvptx-cpus.c @@ -3,6 +3,9 @@ // RUN: %clang_cc1 -triple nvptx-unknown-unknown -target-cpu sm_30 -O3 -S -o %t %s -emit-llvm // RUN: %clang_cc1 -triple nvptx-unknown-unknown -target-cpu sm_35 -O3 -S -o %t %s -emit-llvm // RUN: %clang_cc1 -triple nvptx-unknown-unknown -target-cpu sm_37 -O3 -S -o %t %s -emit-llvm +// RUN: %clang_cc1 -triple nvptx-unknown-unknown -target-cpu sm_50 -O3 -S -o %t %s -emit-llvm +// RUN: %clang_cc1 -triple nvptx-unknown-unknown -target-cpu sm_52 -O3 -S -o %t %s -emit-llvm +// RUN: %clang_cc1 -triple nvptx-unknown-unknown -target-cpu sm_53 -O3 -S -o %t %s -emit-llvm // Make sure clang accepts all supported architectures.