[PATCH] D109383: [RISCV] Disable use of i128 shift libcalls on RV32.
Kito Cheng via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 7 19:23:43 PDT 2021
kito-cheng added a comment.
In D109383#2987768 <https://reviews.llvm.org/D109383#2987768>, @efriedma wrote:
> On rv32, we pass the clang flag to enable i128 support when we build compiler-rt, so __ashlti3 is available. Not sure about libgcc.
IIRC, RV32 require to enable i128 since the f128 routines need that, and f128 is necessary for RISC-V because long double is 128 bit floating point, however the libgcc part has technical issue on support soft i128 for 32 bits target, which is not only for RV32 but also for all other 32 bits target in GCC.
But compiler-rt didn't have such technical issue, so in theory `__int128` could be used for RV32 on clang, but we didn't turn it on by default is because we want to make sure the compatiblitiy between GCC, or in another word compatible with libgcc.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D109383/new/
https://reviews.llvm.org/D109383
More information about the llvm-commits
mailing list