diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2015-07-17 13:16:52 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2015-07-17 13:16:52 +0000 |
commit | 2204137df9913ade2fc26a03daabf866d7ed8cc4 (patch) | |
tree | 6570f573c1b13c30f6a57e6458865c86cf8465cb | |
parent | 9fe32cde5ce8581346f2ef5a736e8de12e442c47 (diff) | |
download | bcm5719-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.cpp | 10 | ||||
-rw-r--r-- | clang/test/Preprocessor/init.c | 9 |
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 // |