https://github.com/arsenm created 
https://github.com/llvm/llvm-project/pull/211260

None

>From 87cdfe08072e98231b68374f7683d6aed9abbe22 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <[email protected]>
Date: Wed, 22 Jul 2026 15:24:33 +0200
Subject: [PATCH] libclc: Fix signed 0 handling in sincospi

---
 libclc/clc/lib/generic/math/clc_sincospi.cl  | 1 +
 libclc/clc/lib/generic/math/clc_sincospi.inc | 8 ++++++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/libclc/clc/lib/generic/math/clc_sincospi.cl 
b/libclc/clc/lib/generic/math/clc_sincospi.cl
index 53a26839aa800..f5e310628d364 100644
--- a/libclc/clc/lib/generic/math/clc_sincospi.cl
+++ b/libclc/clc/lib/generic/math/clc_sincospi.cl
@@ -9,6 +9,7 @@
 #include "clc/clc_convert.h"
 #include "clc/float/definitions.h"
 #include "clc/internal/clc.h"
+#include "clc/math/clc_copysign.h"
 #include "clc/math/clc_cos.h"
 #include "clc/math/clc_fabs.h"
 #include "clc/math/clc_sin.h"
diff --git a/libclc/clc/lib/generic/math/clc_sincospi.inc 
b/libclc/clc/lib/generic/math/clc_sincospi.inc
index b8b50a6dfb012..5d1ab7ca24e33 100644
--- a/libclc/clc/lib/generic/math/clc_sincospi.inc
+++ b/libclc/clc/lib/generic/math/clc_sincospi.inc
@@ -29,8 +29,12 @@ __clc_sincospi(__CLC_GENTYPE x, __private __CLC_GENTYPE 
*cos_out) {
 
   __CLC_GENTYPE c = odd ? -eval.sin : eval.cos;
   *cos_out =
-      __CLC_AS_GENTYPE(__CLC_CONVERT_S_GENTYPE(__CLC_AS_S_GENTYPE(c) ^ flip));
-  return __CLC_AS_GENTYPE(sin_val);
+      __CLC_AS_GENTYPE(__CLC_CONVERT_S_GENTYPE(__CLC_AS_S_GENTYPE(c) ^ flip)) +
+      __CLC_FP_LIT(0.0);
+
+  __CLC_GENTYPE sin_result = __CLC_AS_GENTYPE(sin_val);
+  return __clc_select(sin_result, __clc_copysign(__CLC_FP_LIT(0.0), x),
+                      __CLC_CONVERT_S_GENTYPE(sin_result == 
__CLC_FP_LIT(0.0)));
 }
 
 #define __CLC_SINCOSPI_DEF(addrspace)                                          
\

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to