diff options
author | Justin Holewinski <jholewinski@nvidia.com> | 2013-03-30 14:38:26 +0000 |
---|---|---|
committer | Justin Holewinski <jholewinski@nvidia.com> | 2013-03-30 14:38:26 +0000 |
commit | affa3af144eb1ae1b5e6e1c9ca0f979bc6982990 (patch) | |
tree | b0160e2fb3e819908c4e8275ed5c52717e403df8 | |
parent | dca8f336e6da2b50eb965535d81d603e39294f9c (diff) |
Remove old NVPTX cpus and add new NVPTX cpus
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178419 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Basic/Targets.cpp | 9 | ||||
-rw-r--r-- | test/CodeGen/nvptx-cpus.c | 11 |
2 files changed, 19 insertions, 1 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index a17b2a8256..54edcbaf68 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -1302,7 +1302,14 @@ namespace { return TargetInfo::CharPtrBuiltinVaList; } virtual bool setCPU(const std::string &Name) { - return Name == "sm_10" || Name == "sm_13" || Name == "sm_20"; + bool Valid = llvm::StringSwitch<bool>(Name) + .Case("sm_20", true) + .Case("sm_21", true) + .Case("sm_30", true) + .Case("sm_35", true) + .Default(false); + + return Valid; } virtual bool setFeatureEnabled(llvm::StringMap<bool> &Features, StringRef Name, diff --git a/test/CodeGen/nvptx-cpus.c b/test/CodeGen/nvptx-cpus.c new file mode 100644 index 0000000000..c9c7680d67 --- /dev/null +++ b/test/CodeGen/nvptx-cpus.c @@ -0,0 +1,11 @@ +// RUN: %clang_cc1 -triple nvptx-unknown-unknown -target-cpu sm_20 -O3 -S -o %t %s -emit-llvm +// RUN: %clang_cc1 -triple nvptx-unknown-unknown -target-cpu sm_21 -O3 -S -o %t %s -emit-llvm +// 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 + +// Make sure clang accepts all supported architectures. + +void foo(float* a, + float* b) { + a[0] = b[0]; +} |