https://github.com/wenju-he updated 
https://github.com/llvm/llvm-project/pull/164957

>From 39fa5d234da4c1bdab76770a76636193ab25fbf6 Mon Sep 17 00:00:00 2001
From: Wenju He <[email protected]>
Date: Fri, 24 Oct 2025 13:05:01 +0200
Subject: [PATCH 1/2] [libclc] Simplify integer __clc_abs implementation

Previous implementation was cmp, select and @llvm.smax sequence in LLVM IR.
---
 libclc/clc/lib/generic/integer/clc_abs.inc | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/libclc/clc/lib/generic/integer/clc_abs.inc 
b/libclc/clc/lib/generic/integer/clc_abs.inc
index 26ec0b24ffb96..222b14fbe7b28 100644
--- a/libclc/clc/lib/generic/integer/clc_abs.inc
+++ b/libclc/clc/lib/generic/integer/clc_abs.inc
@@ -6,7 +6,16 @@
 //
 
//===----------------------------------------------------------------------===//
 
+#ifdef __CLC_GEN_S
+
+_CLC_OVERLOAD _CLC_DEF __CLC_U_GENTYPE __clc_abs(__CLC_GENTYPE x) {
+  return __builtin_astype(__builtin_elementwise_abs(x), __CLC_U_GENTYPE);
+}
+
+#else
+
 _CLC_OVERLOAD _CLC_DEF __CLC_U_GENTYPE __clc_abs(__CLC_GENTYPE x) {
-  return __builtin_astype((__CLC_GENTYPE)(x > (__CLC_GENTYPE)(0) ? x : -x),
-                          __CLC_U_GENTYPE);
+  return x;
 }
+
+#endif

>From 205433c8fe10c1cec1ee7b0872398785979af894 Mon Sep 17 00:00:00 2001
From: Wenju He <[email protected]>
Date: Fri, 24 Oct 2025 13:12:06 +0200
Subject: [PATCH 2/2] clang-format

---
 libclc/clc/lib/generic/integer/clc_abs.inc | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/libclc/clc/lib/generic/integer/clc_abs.inc 
b/libclc/clc/lib/generic/integer/clc_abs.inc
index 222b14fbe7b28..81e92461bab9e 100644
--- a/libclc/clc/lib/generic/integer/clc_abs.inc
+++ b/libclc/clc/lib/generic/integer/clc_abs.inc
@@ -14,8 +14,6 @@ _CLC_OVERLOAD _CLC_DEF __CLC_U_GENTYPE 
__clc_abs(__CLC_GENTYPE x) {
 
 #else
 
-_CLC_OVERLOAD _CLC_DEF __CLC_U_GENTYPE __clc_abs(__CLC_GENTYPE x) {
-  return x;
-}
+_CLC_OVERLOAD _CLC_DEF __CLC_U_GENTYPE __clc_abs(__CLC_GENTYPE x) { return x; }
 
 #endif

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

Reply via email to