diff options
author | Yaxun Liu <Yaxun.Liu@amd.com> | 2016-08-17 20:39:49 +0000 |
---|---|---|
committer | Yaxun Liu <Yaxun.Liu@amd.com> | 2016-08-17 20:39:49 +0000 |
commit | 9385680c241b031a3c2a99c4dcc004f67caab9c0 (patch) | |
tree | 8f3557266dd66fb91c207364a25c93ccd11c28eb | |
parent | 891a49c4879ce50ad0afe6ea5b946b1dde8bac83 (diff) | |
download | bcm5719-llvm-9385680c241b031a3c2a99c4dcc004f67caab9c0.tar.gz bcm5719-llvm-9385680c241b031a3c2a99c4dcc004f67caab9c0.zip |
[OpenCL] AMDGPU: add support of cl_khr_subgroups
Patch by Aaron En Ye Shi.
Differential Revision: https://reviews.llvm.org/D23573
llvm-svn: 278972
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 1 | ||||
-rw-r--r-- | clang/test/Misc/amdgcn.languageOptsOpenCL.cl | 8 | ||||
-rw-r--r-- | clang/test/SemaOpenCL/extension-version.cl | 3 |
3 files changed, 11 insertions, 1 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 7dfa0a361dc..cbda245218c 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -2152,6 +2152,7 @@ public: Opts.cl_khr_int64_base_atomics = 1; Opts.cl_khr_int64_extended_atomics = 1; Opts.cl_khr_mipmap_image = 1; + Opts.cl_khr_subgroups = 1; Opts.cl_khr_3d_image_writes = 1; Opts.cl_amd_media_ops = 1; Opts.cl_amd_media_ops2 = 1; diff --git a/clang/test/Misc/amdgcn.languageOptsOpenCL.cl b/clang/test/Misc/amdgcn.languageOptsOpenCL.cl index 3befefdeecd..6a07fc98069 100644 --- a/clang/test/Misc/amdgcn.languageOptsOpenCL.cl +++ b/clang/test/Misc/amdgcn.languageOptsOpenCL.cl @@ -199,11 +199,17 @@ #pragma OPENCL EXTENSION cl_khr_srgb_image_writes: enable // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_srgb_image_writes' - ignoring}} +#if (__OPENCL_C_VERSION__ >= 200) +#ifndef cl_khr_subgroups +#error "Missing cl_khr_subgroups define" +#endif +#else #ifdef cl_khr_subgroups #error "Incorrect cl_khr_subgroups define" #endif +// expected-warning@+2{{unsupported OpenCL extension 'cl_khr_subgroups' - ignoring}} +#endif #pragma OPENCL EXTENSION cl_khr_subgroups: enable -// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_subgroups' - ignoring}} #ifdef cl_khr_terminate_context #error "Incorrect cl_khr_terminate_context define" diff --git a/clang/test/SemaOpenCL/extension-version.cl b/clang/test/SemaOpenCL/extension-version.cl index 6a3cfde9f13..6100346f707 100644 --- a/clang/test/SemaOpenCL/extension-version.cl +++ b/clang/test/SemaOpenCL/extension-version.cl @@ -247,6 +247,9 @@ #error "Missing cl_khr_subgroups define" #endif #else +#ifdef cl_khr_subgroups +#error "Incorrect cl_khr_subgroups define" +#endif // expected-warning@+2{{unsupported OpenCL extension 'cl_khr_subgroups' - ignoring}} #endif #pragma OPENCL EXTENSION cl_khr_subgroups: enable |