forked from OSchip/llvm-project
[OpenCL] Align subgroup builtin guards
Until now, subgroup builtins are available with `opencl-c.h` when at least one of `cl_intel_subgroups`, `cl_khr_subgroups`, or `__opencl_c_subgroups` is defined. With `-fdeclare-opencl-builtins`, subgroup builtins are conditionalized on `cl_khr_subgroups` only. Align `-fdeclare-opencl-builtins` to `opencl-c.h` by introducing the internal `__opencl_subgroup_builtins` macro. Differential Revision: https://reviews.llvm.org/D120254
This commit is contained in:
parent
5fb65557e3
commit
aa9c2d19d9
|
@ -80,6 +80,11 @@
|
|||
#define __opencl_c_named_address_space_builtins 1
|
||||
#endif // !defined(__opencl_c_generic_address_space)
|
||||
|
||||
#if defined(cl_intel_subgroups) || defined(cl_khr_subgroups) || defined(__opencl_c_subgroups)
|
||||
// Internal feature macro to provide subgroup builtins.
|
||||
#define __opencl_subgroup_builtins 1
|
||||
#endif
|
||||
|
||||
// built-in scalar data types:
|
||||
|
||||
/**
|
||||
|
|
|
@ -16282,7 +16282,7 @@ queue_t __ovld get_default_queue(void);
|
|||
|
||||
// OpenCL Extension v2.0 s9.17 - Sub-groups
|
||||
|
||||
#if defined(cl_intel_subgroups) || defined(cl_khr_subgroups) || defined(__opencl_c_subgroups)
|
||||
#if defined(__opencl_subgroup_builtins)
|
||||
// Shared Sub Group Functions
|
||||
uint __ovld get_sub_group_size(void);
|
||||
uint __ovld get_max_sub_group_size(void);
|
||||
|
@ -16381,7 +16381,7 @@ double __ovld __conv sub_group_scan_inclusive_min(double x);
|
|||
double __ovld __conv sub_group_scan_inclusive_max(double x);
|
||||
#endif //cl_khr_fp64
|
||||
|
||||
#endif //cl_khr_subgroups cl_intel_subgroups __opencl_c_subgroups
|
||||
#endif // __opencl_subgroup_builtins
|
||||
|
||||
#if defined(cl_khr_subgroup_extended_types)
|
||||
char __ovld __conv sub_group_broadcast( char value, uint index );
|
||||
|
|
|
@ -83,7 +83,7 @@ def AtomicFp64TypeExt : TypeExtension<"cl_khr_int64_base_atomics cl_khr_int64_ex
|
|||
|
||||
// FunctionExtension definitions.
|
||||
def FuncExtNone : FunctionExtension<"">;
|
||||
def FuncExtKhrSubgroups : FunctionExtension<"cl_khr_subgroups">;
|
||||
def FuncExtKhrSubgroups : FunctionExtension<"__opencl_subgroup_builtins">;
|
||||
def FuncExtKhrSubgroupExtendedTypes : FunctionExtension<"cl_khr_subgroup_extended_types">;
|
||||
def FuncExtKhrSubgroupNonUniformVote : FunctionExtension<"cl_khr_subgroup_non_uniform_vote">;
|
||||
def FuncExtKhrSubgroupBallot : FunctionExtension<"cl_khr_subgroup_ballot">;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// RUN: %clang_cc1 %s -triple spir -verify -pedantic -Wconversion -Werror -fsyntax-only -cl-std=CL -fdeclare-opencl-builtins -DNO_HEADER
|
||||
// RUN: %clang_cc1 %s -triple spir -verify -pedantic -Wconversion -Werror -fsyntax-only -cl-std=CL -fdeclare-opencl-builtins -finclude-default-header
|
||||
// RUN: %clang_cc1 %s -triple spir -verify -pedantic -Wconversion -Werror -fsyntax-only -cl-std=CL1.2 -fdeclare-opencl-builtins -DNO_HEADER
|
||||
// RUN: %clang_cc1 %s -triple spir -verify -pedantic -Wconversion -Werror -fsyntax-only -cl-std=CL1.2 -fdeclare-opencl-builtins -finclude-default-header
|
||||
// RUN: %clang_cc1 %s -triple spir -verify -pedantic -Wconversion -Werror -fsyntax-only -cl-std=CL1.2 -fdeclare-opencl-builtins -DNO_HEADER -cl-ext=-cl_intel_subgroups
|
||||
// RUN: %clang_cc1 %s -triple spir -verify -pedantic -Wconversion -Werror -fsyntax-only -cl-std=CL1.2 -fdeclare-opencl-builtins -finclude-default-header -cl-ext=-cl_intel_subgroups
|
||||
// RUN: %clang_cc1 %s -triple spir -verify -pedantic -Wconversion -Werror -fsyntax-only -cl-std=CL2.0 -fdeclare-opencl-builtins -DNO_HEADER
|
||||
// RUN: %clang_cc1 %s -triple spir -verify -pedantic -Wconversion -Werror -fsyntax-only -cl-std=CL2.0 -fdeclare-opencl-builtins -finclude-default-header
|
||||
// RUN: %clang_cc1 %s -triple spir -verify -pedantic -Wconversion -Werror -fsyntax-only -cl-std=CL3.0 -fdeclare-opencl-builtins -finclude-default-header
|
||||
|
@ -79,6 +79,7 @@ typedef struct {int a;} ndrange_t;
|
|||
#define cl_khr_subgroup_non_uniform_arithmetic 1
|
||||
#define cl_khr_subgroup_clustered_reduce 1
|
||||
#define __opencl_c_read_write_images 1
|
||||
#define __opencl_subgroup_builtins 1
|
||||
#endif
|
||||
|
||||
#if (__OPENCL_CPP_VERSION__ == 100 || __OPENCL_C_VERSION__ == 200)
|
||||
|
|
Loading…
Reference in New Issue