sepavloff marked an inline comment as done. sepavloff added inline comments.
================ Comment at: llvm/test/CodeGen/RISCV/flt-rounds.ll:23 +; RV64I-NEXT: sd ra, 8(sp) +; RV64I-NEXT: call __flt_rounds +; RV64I-NEXT: ld ra, 8(sp) ---------------- craig.topper wrote: > sepavloff wrote: > > lenary wrote: > > > I'm interested to understand how this function is provided. Is it part of > > > `compiler-rt` or `libgcc`, or is it provided another way? > > At least musl library provides its implementation: > > https://git.musl-libc.org/cgit/musl/tree/src/fenv/__flt_rounds.c . Similar > > implementation exists in glibc. > A quick google search for "glibc __flt_rounds" only shows it in a powerpc > nofpu file. GCC defined `FLT_ROUNDS` in `float.h` as `1`, which is incorrect in general case. As for `__builtin_flt_rounds`, now GCC does not have such intrinsic. So using `FLT_ROUND` on some targets might be tied to this kludge and lowering it to function call can cause fails. So lowering to a constant was restored. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79322/new/ https://reviews.llvm.org/D79322 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits