whitequark opened PR #1746 from i64-divrem-libcalls
to master
:
These libcalls are useful for 32-bit platforms, which do not have native 64-bit div/rem operations. The tests are similar to the existing ones in
i64-arith.clif
, but for i686.
bjorn3 submitted PR Review.
bjorn3 created PR Review Comment:
Please use the same names as compiler-builtins. For example
__udivdi3
forUdivI64
:
whitequark submitted PR Review.
whitequark created PR Review Comment:
Will do, I wasn't sure which convention cranelift was using here.
bjorn3 submitted PR Review.
bjorn3 created PR Review Comment:
Except for
__cranelift_probestack
all functions here are defined by system libraries.
whitequark submitted PR Review.
whitequark created PR Review Comment:
What's the implementation in
runtime/src/libcalls.rs
for, then?
bjorn3 submitted PR Review.
bjorn3 created PR Review Comment:
That one is used for Wasmtime only. This is a default mapping for other users of Cranelift.
whitequark updated PR #1746 from i64-divrem-libcalls
to master
:
These libcalls are useful for 32-bit platforms, which do not have native 64-bit div/rem operations. The tests are similar to the existing ones in
i64-arith.clif
, but for i686.
whitequark submitted PR Review.
whitequark created PR Review Comment:
Done
bjorn3 submitted PR Review.
bjorn3 created PR Review Comment:
ir::LibCall::UdivI64 => "__udivdi3".to_owned(), ir::LibCall::SdivI64 => "__divdi3".to_owned(), ir::LibCall::UremI64 => "__umoddi3".to_owned(), ir::LibCall::SremI64 => "__moddi3".to_owned(),
whitequark updated PR #1746 from i64-divrem-libcalls
to master
:
These libcalls are useful for 32-bit platforms, which do not have native 64-bit div/rem operations. The tests are similar to the existing ones in
i64-arith.clif
, but for i686.
whitequark submitted PR Review.
whitequark created PR Review Comment:
Oh sorry, I completely forgot that
ceil
isn't a builtin and thought the underscores are added elsewhere. Fixed.
bjorn3 submitted PR Review.
fitzgen submitted PR Review.
fitzgen merged PR #1746.
Last updated: Dec 23 2024 at 12:05 UTC