[clang] 43f314f - clang/HIP: Use abs builtins instead of implementing them
Matt Arsenault via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 15 14:40:42 PDT 2023
Author: Matt Arsenault
Date: 2023-08-15T17:40:19-04:00
New Revision: 43f314f5e6cebe02ff63d5197c8e5c25204b20d2
URL: https://github.com/llvm/llvm-project/commit/43f314f5e6cebe02ff63d5197c8e5c25204b20d2
DIFF: https://github.com/llvm/llvm-project/commit/43f314f5e6cebe02ff63d5197c8e5c25204b20d2.diff
LOG: clang/HIP: Use abs builtins instead of implementing them
InstCombine already put these back together so there's no visible
change in the -O1 test for the header.
Added:
Modified:
clang/lib/Headers/__clang_hip_math.h
Removed:
################################################################################
diff --git a/clang/lib/Headers/__clang_hip_math.h b/clang/lib/Headers/__clang_hip_math.h
index 8721167304a665..120961967d840f 100644
--- a/clang/lib/Headers/__clang_hip_math.h
+++ b/clang/lib/Headers/__clang_hip_math.h
@@ -315,18 +315,15 @@ float __tanf(float __x) {
#if defined(__cplusplus)
__DEVICE__
int abs(int __x) {
- int __sgn = __x >> (sizeof(int) * CHAR_BIT - 1);
- return (__x ^ __sgn) - __sgn;
+ return __builtin_abs(__x);
}
__DEVICE__
long labs(long __x) {
- long __sgn = __x >> (sizeof(long) * CHAR_BIT - 1);
- return (__x ^ __sgn) - __sgn;
+ return __builtin_labs(__x);
}
__DEVICE__
long long llabs(long long __x) {
- long long __sgn = __x >> (sizeof(long long) * CHAR_BIT - 1);
- return (__x ^ __sgn) - __sgn;
+ return __builtin_llabs(__x);
}
#endif
More information about the cfe-commits
mailing list