JonChesterfield added inline comments.
================
Comment at: clang/lib/Headers/__clang_hip_cmath.h:43
+__DEVICE__ __CONSTEXPR__ long abs(long __n) { return ::labs(__n); }
+__DEVICE__ __CONSTEXPR__ float fma(float __x, float __y, float __z) {
return ::fmaf(__x, __y, __z);
----------------
I'm pretty sure it's UB, no diagnostic req to call a non-constexpr function
from a constexpr one. Nevertheless, it does presently seem to be working for
nvptx clang so will probably work for amdgcn.
Strictly I think we're supposed to detect when called at compile time and call
one implementation and otherwise call the library one, where weirdly it's ok
for them to return different answers. I think there's a built-in we can call to
select between the two.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D104904/new/
https://reviews.llvm.org/D104904
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits