================
@@ -6,8 +6,29 @@
//
//===----------------------------------------------------------------------===//
+#include "clc/float/definitions.h"
#include "clc/math/clc_subnormal_config.h"
-_CLC_DEF bool __clc_denormals_are_zero_fp16() { return false; }
-_CLC_DEF bool __clc_denormals_are_zero_fp32() { return true; }
-_CLC_DEF bool __clc_denormals_are_zero_fp64() { return false; }
+#ifdef cl_khr_fp16
+#pragma OPENCL EXTENSION cl_khr_fp16 : enable
+
+_CLC_DEF bool __clc_denormals_are_zero_fp16() {
+ return __builtin_isfpclass(__builtin_canonicalizef16(HALF_TRUE_MIN),
+ __FPCLASS_POSZERO);
+}
+
+#endif
+
+_CLC_DEF bool __clc_denormals_are_zero_fp32() {
+ return __builtin_isfpclass(__builtin_canonicalizef(FLT_TRUE_MIN),
+ __FPCLASS_POSZERO);
+}
+
+#ifdef cl_khr_fp64
+
----------------
wenju-he wrote:
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
https://github.com/llvm/llvm-project/pull/187356
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits