[cfe-dev] [OpenCL] Representing OpenCL half type by _Float16 type
Liu, Yaxun (Sam) via cfe-dev
cfe-dev at lists.llvm.org
Wed Oct 17 09:31:28 PDT 2018
Clang supports two 16 bit floating point builtin types: __fp16 and _Float16. Their differences are here
Currently clang supports OpenCL half type as __fp16, one significant disadvantage of which is that arithmetic operations are emitted as fp32 instead of fp16 instructions in LLVM IR. Another disadvantage is interoperability with C++ programs, which uses _Float16 mostly since it is an ISO standard whereas __fp16 is not.
OpenCL spec v 2.0 s 184.108.40.206 (https://www.khronos.org/registry/OpenCL/specs/opencl-2.0-openclc.pdf ) defines half type. There is no requirement that it has to be __fp16 or _Float16 type in clang. Actually, it seems both __fp16 and _Float16 can be used to represent OpenCL half type.
Considering the advantages of _Float16 type, I am wondering whether we should consider using _Float16 to represent OpenCL half type.
Any comments are welcome.
Yaxun (Sam) Liu
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 15552 bytes
Desc: not available
More information about the cfe-dev