Stream: git-wasmtime

Topic: wasmtime / PR #7770 Fix the ABI of Option<u128> on x86_64


view this post on Zulip Wasmtime GitHub notifications bot (Jan 11 2024 at 16:13):

bjorn3 opened PR #7770 from bjorn3:fix_x64_option_i128_abi to bytecodealliance:main:

LLVM passes the tag in rax and the u128 val in rdx/rcx. Before this change Cranelift would pass the first half of the value in rdx and the second half using an implicit return value pointer.

Fixes https://github.com/rust-lang/rustc_codegen_cranelift/issues/1449

view this post on Zulip Wasmtime GitHub notifications bot (Jan 11 2024 at 16:13):

bjorn3 requested abrown for a review on PR #7770.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 11 2024 at 16:13):

bjorn3 requested wasmtime-compiler-reviewers for a review on PR #7770.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 11 2024 at 16:32):

bjorn3 updated PR #7770.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 11 2024 at 17:46):

abrown submitted PR review:

Makes sense to me.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 11 2024 at 17:50):

abrown commented on PR #7770:

@bjorn3, I tried to look this up in the LLVM documentation but all I can find is a mention of RCX in the swiftcc calling convention here. Where do you see it?

view this post on Zulip Wasmtime GitHub notifications bot (Jan 11 2024 at 18:12):

bjorn3 commented on PR #7770:

See eg https://rust.godbolt.org/z/fTM6o84xq Fair chance it isn't documented anywhere, this requires the enable_llvm_abi_extensions flag in Cranelift for a reason.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 11 2024 at 19:35):

abrown merged PR #7770.


Last updated: Oct 23 2024 at 20:03 UTC