spatel added a comment. In D88712#2412874 <https://reviews.llvm.org/D88712#2412874>, @venkataramanan.kumar.llvm wrote:
> In D88712#2412366 <https://reviews.llvm.org/D88712#2412366>, @MaskRay wrote: > >> In D88712#2411841 <https://reviews.llvm.org/D88712#2411841>, >> @venkataramanan.kumar.llvm wrote: >> >>> >> >> For your example: >> >> extern double log (double) asm ("" "log_finite") __attribute__ ((nothrow)); >> >> double mylog (double d) { return log(d); } >> >> The intention is to emit `log_finite`, no matter the `-ffast-math`. Both GCC >> and Clang (after this patch) emit `jmp log_finite`. >> >> The previous behavior (according to your comment, with an older glibc) was >> undesired. So I think the right suggestion is to upgrade glibc. > > Then there optimizations like vectorization, inst combine which works on the > LLVM intrinsics. But they will be not happening now with log_finite calls. I'm not sure about the expected semantics/lowering for the finite calls, but can you add something under LibCallSimplifier::optimizeFloatingPointLibCall() that would turn it into the LLVM log intrinsic with appropriate FMF? Codegen would need to be responsible for converting it back to finite call(s) if those are available? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88712/new/ https://reviews.llvm.org/D88712 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits