summaryrefslogtreecommitdiff
path: root/libclc/generic/lib/math/nan.inc
diff options
context:
space:
mode:
Diffstat (limited to 'libclc/generic/lib/math/nan.inc')
-rw-r--r--libclc/generic/lib/math/nan.inc9
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