[libclc] 9b8532d - libclc: Clean up sincos macro usage (#187260)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Mar 18 05:57:04 PDT 2026
Author: Matt Arsenault
Date: 2026-03-18T13:56:58+01:00
New Revision: 9b8532dd2aaab5e7c2d4330c9b55293ccd8f68bf
URL: https://github.com/llvm/llvm-project/commit/9b8532dd2aaab5e7c2d4330c9b55293ccd8f68bf
DIFF: https://github.com/llvm/llvm-project/commit/9b8532dd2aaab5e7c2d4330c9b55293ccd8f68bf.diff
LOG: libclc: Clean up sincos macro usage (#187260)
Handle this more like fract, and implement other
address spaces on top of the private overload with
a temporary variable.
Added:
Modified:
libclc/clc/lib/generic/math/clc_sincos.inc
Removed:
################################################################################
diff --git a/libclc/clc/lib/generic/math/clc_sincos.inc b/libclc/clc/lib/generic/math/clc_sincos.inc
index da5059bfe771c..d268c75674e98 100644
--- a/libclc/clc/lib/generic/math/clc_sincos.inc
+++ b/libclc/clc/lib/generic/math/clc_sincos.inc
@@ -6,17 +6,23 @@
//
//===----------------------------------------------------------------------===//
-#define __CLC_DECLARE_SINCOS(ADDRSPACE, TYPE) \
- _CLC_OVERLOAD _CLC_DEF TYPE __clc_sincos(TYPE x, ADDRSPACE TYPE *cosval) { \
- *cosval = __clc_cos(x); \
- return __clc_sin(x); \
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE
+__clc_sincos(__CLC_GENTYPE x, private __CLC_GENTYPE *cosval) {
+ *cosval = __clc_cos(x);
+ return __clc_sin(x);
+}
+
+#define __CLC_SINCOS_DEF(addrspace) \
+ _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE __clc_sincos( \
+ __CLC_GENTYPE x, addrspace __CLC_GENTYPE *cos_out) { \
+ __CLC_GENTYPE cos_result; \
+ __CLC_GENTYPE sin_result = __clc_sincos(x, &cos_result); \
+ *cos_out = cos_result; \
+ return sin_result; \
}
-__CLC_DECLARE_SINCOS(global, __CLC_GENTYPE)
-__CLC_DECLARE_SINCOS(local, __CLC_GENTYPE)
-__CLC_DECLARE_SINCOS(private, __CLC_GENTYPE)
+__CLC_SINCOS_DEF(local)
+__CLC_SINCOS_DEF(global)
#if _CLC_DISTINCT_GENERIC_AS_SUPPORTED
-__CLC_DECLARE_SINCOS(generic, __CLC_GENTYPE)
+__CLC_SINCOS_DEF(generic)
#endif
-
-#undef __CLC_DECLARE_SINCOS
More information about the cfe-commits
mailing list