diff options
Diffstat (limited to 'libclc/generic/lib/math/nan.inc')
-rw-r--r-- | libclc/generic/lib/math/nan.inc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libclc/generic/lib/math/nan.inc b/libclc/generic/lib/math/nan.inc index 6e4afc888d58..f6508c3ab521 100644 --- a/libclc/generic/lib/math/nan.inc +++ b/libclc/generic/lib/math/nan.inc @@ -7,11 +7,18 @@ _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE nan(__CLC_XCONCAT(ulong, __CLC_VECSIZE) cod { return __CLC_AS_GENTYPE(code | 0x7ff0000000000000ul); } -#else +#elif __CLC_FPSIZE == 32 _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE nan(__CLC_XCONCAT(uint, __CLC_VECSIZE) code) { return __CLC_AS_GENTYPE(code | 0x7fc00000); } +#elif __CLC_FPSIZE == 16 +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE nan(__CLC_XCONCAT(ushort, __CLC_VECSIZE) code) +{ + const ushort mask = 0x7e00; + const __CLC_XCONCAT(ushort, __CLC_VECSIZE) res = code | mask; + return __CLC_AS_GENTYPE(res); +} #endif |