OpenCL C 3.0 __opencl_c_subgroups feature is slightly different
then other equivalent features and extensions (fp64 and 3d image writes):
OpenCL C 3.0 device can support the extension but not the feature.
cl_khr_subgroups requires subgroup independent forward progress.
This patch adjusts the check which is used when translating language
builtins to check either the extension or feature is supported.
Ideally we should reduce the number of separate diagnostics, so could we just print something like:
"cl_khr_subgroups extension or __opencl_c_subgroups OpenCL C 3.0 feature"
when using diag::err_opencl_requires_extension?