From 85e37071ce5344f965546c97c4885564293f8098 Mon Sep 17 00:00:00 2001 From: Yaxun Liu Date: Wed, 17 Aug 2016 20:39:49 +0000 Subject: [PATCH] [OpenCL] AMDGPU: add support of cl_khr_subgroups Patch by Aaron En Ye Shi. Differential Revision: https://reviews.llvm.org/D23573 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@278972 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Basic/Targets.cpp | 1 + test/Misc/amdgcn.languageOptsOpenCL.cl | 8 +++++++- test/SemaOpenCL/extension-version.cl | 3 +++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 7dfa0a361d..cbda245218 100644 --- a/lib/Basic/Targets.cpp +++ b/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/test/Misc/amdgcn.languageOptsOpenCL.cl b/test/Misc/amdgcn.languageOptsOpenCL.cl index 3befefdeec..6a07fc9806 100644 --- a/test/Misc/amdgcn.languageOptsOpenCL.cl +++ b/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/test/SemaOpenCL/extension-version.cl b/test/SemaOpenCL/extension-version.cl index 6a3cfde9f1..6100346f70 100644 --- a/test/SemaOpenCL/extension-version.cl +++ b/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 -- 2.40.0