Stream: git-wasmtime

Topic: wasmtime / PR #4634 Fix sret for AArch64


view this post on Zulip Wasmtime GitHub notifications bot (Aug 07 2022 at 18:49):

bjorn3 opened PR #4634 from aarch64_sret to main:

AArch64 requires the struct return address argument to be stored in the x8 register. This register is never used for regular arguments.

According to https://github.com/Gankra/abi-checker cg_clif with this PR matches the abi of LLVM for big structs.

Marking as draft as the test fails with:

Register allocation error for vcode
VCode {
  Entry block: 0
Block 0:
    (original IR block: block0)
    (instruction range: 0 .. 6)
  Inst 0: mov %v128, x8
  Inst 1: mov %v129, %v128
  Inst 2: mov %v129, %v128
  Inst 3: mov x8, %v129
  Inst 4: mov x0, %v130
  Inst 5: ret
}

Error: EntryLivein
CLIF for error:
function %f17(i64 sret) -> i64 fast {
block0(v0: i64):
    return v0
}

view this post on Zulip Wasmtime GitHub notifications bot (Aug 09 2022 at 17:38):

bjorn3 updated PR #4634 from aarch64_sret to main.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 10 2022 at 12:43):

bjorn3 updated PR #4634 from aarch64_sret to main.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 10 2022 at 12:49):

bjorn3 has marked PR #4634 as ready for review.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 10 2022 at 17:34):

cfallin submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 10 2022 at 17:34):

cfallin merged PR #4634.


Last updated: Dec 23 2024 at 12:05 UTC