From: Tom Stellard Date: Fri, 17 Jul 2015 13:16:52 +0000 (+0000) Subject: R600: Add macro defs for all supported OpenCL extensions X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=61690d9018c8da94a7812ae53d501af17f0cf265;p=clang R600: Add macro defs for all supported OpenCL extensions git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@242523 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 18bb277b3a..38a6ba4eec 100644 --- a/lib/Basic/Targets.cpp +++ b/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/test/Preprocessor/init.c b/test/Preprocessor/init.c index 733e822b89..a937a018eb 100644 --- a/test/Preprocessor/init.c +++ b/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 //