c->getTargetOpts().OpenCLExtensionsAsWritten.push_back("+cl_khr_global_int32_extended_atomics");
c->getTargetOpts().OpenCLExtensionsAsWritten.push_back("+cl_khr_local_int32_base_atomics");
c->getTargetOpts().OpenCLExtensionsAsWritten.push_back("+cl_khr_local_int32_extended_atomics");
+ if (args->features.fp16) {
+ c->getTargetOpts().OpenCLExtensionsAsWritten.push_back("+cl_khr_fp16");
+ }
if (args->features.fp64) {
c->getTargetOpts().OpenCLExtensionsAsWritten.push_back("+cl_khr_fp64");
c->getTargetOpts().OpenCLExtensionsAsWritten.push_back("+__opencl_c_fp64");
c->getTargetOpts().OpenCLExtensionsAsWritten.push_back("+cl_khr_3d_image_writes");
c->getTargetOpts().OpenCLExtensionsAsWritten.push_back("+__opencl_c_3d_image_writes");
}
+ if (args->features.intel_subgroups) {
+ c->getTargetOpts().OpenCLExtensionsAsWritten.push_back("+cl_intel_subgroups");
+ }
+ if (args->features.subgroups) {
+ c->getTargetOpts().OpenCLExtensionsAsWritten.push_back("+cl_khr_subgroups");
+ }
#endif
if (args->num_headers) {