summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2015-07-17 13:16:52 +0000
committerTom Stellard <thomas.stellard@amd.com>2015-07-17 13:16:52 +0000
commit2204137df9913ade2fc26a03daabf866d7ed8cc4 (patch)
tree6570f573c1b13c30f6a57e6458865c86cf8465cb
parent9fe32cde5ce8581346f2ef5a736e8de12e442c47 (diff)
downloadbcm5719-llvm-2204137df9913ade2fc26a03daabf866d7ed8cc4.tar.gz
bcm5719-llvm-2204137df9913ade2fc26a03daabf866d7ed8cc4.zip
R600: Add macro defs for all supported OpenCL extensions
llvm-svn: 242523
-rw-r--r--clang/lib/Basic/Targets.cpp10
-rw-r--r--clang/test/Preprocessor/init.c9
2 files changed, 17 insertions, 2 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 18bb277b3a9..38a6ba4eecb 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -1835,8 +1835,16 @@ public:
Builder.defineMacro("__HAS_FMAF__");
if (hasLDEXPF)
Builder.defineMacro("__HAS_LDEXPF__");
- if (hasFP64 && Opts.OpenCL) {
+ if (hasFP64 && Opts.OpenCL)
Builder.defineMacro("cl_khr_fp64");
+ if (Opts.OpenCL) {
+ if (GPU >= GK_NORTHERN_ISLANDS) {
+ Builder.defineMacro("cl_khr_byte_addressable_store");
+ Builder.defineMacro("cl_khr_global_int32_base_atomics");
+ Builder.defineMacro("cl_khr_global_int32_extended_atomics");
+ Builder.defineMacro("cl_khr_local_int32_base_atomics");
+ Builder.defineMacro("cl_khr_local_int32_extended_atomics");
+ }
}
}
diff --git a/clang/test/Preprocessor/init.c b/clang/test/Preprocessor/init.c
index 733e822b89c..a937a018eb8 100644
--- a/clang/test/Preprocessor/init.c
+++ b/clang/test/Preprocessor/init.c
@@ -6605,8 +6605,15 @@
// PPC-DARWIN:#define __powerpc__ 1
// PPC-DARWIN:#define __ppc__ 1
//
-// RUN: %clang_cc1 -x cl -E -dM -ffreestanding -triple=amdgcn < /dev/null | FileCheck -check-prefix AMDGCN %s
+// RUN: %clang_cc1 -x cl -E -dM -ffreestanding -triple=amdgcn < /dev/null | FileCheck -check-prefix AMDGCN --check-prefix AMDGPU %s
+// RUN: %clang_cc1 -x cl -E -dM -ffreestanding -triple=r600 -target-cpu caicos < /dev/null | FileCheck --check-prefix AMDGPU %s
+//
+// AMDGPU:#define cl_khr_byte_addressable_store 1
// AMDGCN:#define cl_khr_fp64 1
+// AMDGPU:#define cl_khr_global_int32_base_atomics 1
+// AMDGPU:#define cl_khr_global_int32_extended_atomics 1
+// AMDGPU:#define cl_khr_local_int32_base_atomics 1
+// AMDGPU:#define cl_khr_local_int32_extended_atomics 1
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
//
OpenPOWER on IntegriCloud