[PATCH] D20602: Add .rgba syntax extension to ext_vector_type types

Aleksey Bader via cfe-commits cfe-commits at lists.llvm.org
Wed May 25 14:20:16 PDT 2016


On Wed, May 25, 2016 at 11:53 PM, Richard Smith <richard at metafoo.co.uk>
wrote:

> On Wed, May 25, 2016 at 2:20 AM, Alexey Bader via cfe-commits <
> cfe-commits at lists.llvm.org> wrote:
>
>> bader added a subscriber: bader.
>> bader added a comment.
>>
>> In http://reviews.llvm.org/D20602#438667, @rsmith wrote:
>>
>> > I'm not suggesting it be treated as invalid. This extension is part of
>> at least OpenCL 2.1, but it's not part of OpenCL 1.0. `ext_vector_type` is
>> Clang's implementation of the OpenCL vector type. Therefore if the user
>> asks us to support OpenCL 1.0, we should give them a warning if they use
>> this syntax.
>> >
>> > If we're not building an OpenCL source file, then yes, this is our
>> extension and it makes sense for it to be available unconditionally
>> (without a warning).
>>
>>
>> To avoid confusion, I'd like to note that rgba selector was first
>> introduced in OpenCL C++ kernel language, which is currently in provisional
>> state and will be part of OpenCL version 2.2.
>> https://www.khronos.org/registry/cl/specs/opencl-2.2-cplusplus.pdf (page
>> 18).
>>
>
> https://www.khronos.org/registry/cl/specs/opencl-2.1-openclc++.pdf page
> 12-13 document it. Is that not OpenCL version 2.1?
>
>

Not quite. OpenCL C++ kernel language was planned to be ratified with
OpenCL 2.1 standard, but it did happen.
It's still listed as provisional although OpenCL 2.1 specification was
released last year. https://www.khronos.org/opencl/
Ratified OpenCL 2.1 standard requires to support only OpenCL C 2.0 and
SPIR-V 1.0 kernel languages.
There is no much sense to support provisional specification that will never
be ratified.

BTW, Khronos provided open source implementation of OpenCL C++ compiler and
since OpenCL C++ is a new kernel language and specification (
https://www.khronos.org/registry/cl/specs/opencl-2.2-cplusplus.pdf) is
version 1.0, the numbering of standard versions is different from OpenCL C.
Current std version is 'c++'.
Here is usage example:
https://github.com/KhronosGroup/SPIR/blob/spirv-1.1/test/OpenCL/OpenCL22/opencl_cplusplus.cl


> OpenCL version 2.1 uses OpenCL C 2.0 kernel language, which doesn't
>> support rgba selector.
>>
>> https://www.khronos.org/registry/cl/ - latest versions of OpenCL specs.
>>
>>
>> http://reviews.llvm.org/D20602
>>
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160526/511c1990/attachment-0001.html>


More information about the cfe-commits mailing list