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 | 91203e84684406d2857d1a64174271ed41bd74ed (patch) | |
tree | 08b1fbc2794fae56eac84caf24c409d46a97f598 | |
parent | 368374308d6eae9caa6cbfbc9ed0932f9d08a286 (diff) | |
download | bcm5719-llvm-91203e84684406d2857d1a64174271ed41bd74ed.tar.gz bcm5719-llvm-91203e84684406d2857d1a64174271ed41bd74ed.zip |
Remove old NVPTX cpus and add new NVPTX cpus
llvm-svn: 178419
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 9 | ||||
-rw-r--r-- | clang/test/CodeGen/nvptx-cpus.c | 11 |
2 files changed, 19 insertions, 1 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index a17b2a8256f..54edcbaf681 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/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/clang/test/CodeGen/nvptx-cpus.c b/clang/test/CodeGen/nvptx-cpus.c new file mode 100644 index 00000000000..c9c7680d673 --- /dev/null +++ b/clang/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]; +} |