[LLVMdev] [PATCH] OpenCL half support

Chris Lattner clattner at apple.com
Wed Feb 23 22:41:05 PST 2011


On Feb 23, 2011, at 10:01 AM, Anton Lokhmotov wrote:

> Please find attached Clang/LLVM patches for supporting 'half' - the
> half-precision floating-point type, which in particular is used in OpenCL C.
> Please review.
> 
> Background and motivation.  Whilst the half type is defined by IEEE 754-2008
> as storage only (i.e. no arithmetic is supposed to be performed on values of
> this type), it's growing in importance in embedded systems.  The cl_khr_fp16
> extension of OpenCL lifts restrictions for declaring half variables and
> arrays, dereferencing half pointers, performing arithmetic and conversions,
> etc.  The latest version of the C++ ABI supports half as well.  Therefore,
> we believe half should become a fundamental type in LLVM. (After all, LLVM
> already supports x86_fp80, fp128 and ppc_fp128.)

Hi Anton,

Does the spec force evaluation to happen in half mode, or does it specify that there is a promotion to float (or some other type) an operation, then truncation back to half?

-Chris



More information about the llvm-dev mailing list