saulecabrera opened issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [ ]
wasm_store
- [ ]
wasm_load
- [ ]
call
- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [ ]
float_add
- [ ]
float_sub
- [ ]
float_mul
- [ ]
float_div
- [ ]
float_min
- [ ]
float_max
- [ ]
float_copysign
- [ ]
float_neg
- [ ]
float_abs
- [ ]
float_round
- [ ]
float_sqrt
- [ ]
and
- [ ]
or
- [ ]
xor
- [ ]
shift
- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [ ]
cmp
- [ ]
cmp_with_set
- [ ]
clz
- [ ]
ctz
- [ ]
wrap
- [ ]
extend
- [ ]
branch
- [ ]
jmp
- [ ]
unreachable
- [ ]
jmp_table
- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera added the winch label to Issue #8321.
github-actions[bot] commented on issue #8321:
Subscribe to Label Action
cc @saulecabrera
<details>
This issue or pull request has been labeled: "winch"Thus the following users have been cc'd because of the following labels:
- saulecabrera: winch
To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.
Learn more.
</details>
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [ ]
wasm_store
- [ ]
wasm_load
- [ ]
call
- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [ ]
float_copysign
- [ ]
float_neg
- [ ]
float_abs
- [ ]
float_round
- [ ]
float_sqrt
- [ ]
and
- [ ]
or
- [ ]
xor
- [ ]
shift
- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [ ]
cmp
- [ ]
cmp_with_set
- [ ]
clz
- [ ]
ctz
- [ ]
wrap
- [ ]
extend
- [ ]
branch
- [ ]
jmp
- [ ]
unreachable
- [ ]
jmp_table
- [ ]
trap
- [ ]
trapz
- [ ]
trapif
lpereira commented on issue #8321:
Sorry for looking at this only now -- but I should have some of these instructions implemented soon. I've been caught up with other things but want to resume work on this ASAP.
fitzgen commented on issue #8321:
@lpereira to prevent accidental duplication of work and to help minimize conflicts and the need for rebases, could you edit the OP issue to add your name next to the instructions you're currently working on implementing? Thanks!
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [ ]
wasm_store
- [ ]
wasm_load
- [ ]
call
- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [ ]
float_copysign
- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [ ]
and
- [ ]
or
- [ ]
xor
- [ ]
shift
- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [ ]
cmp
- [ ]
cmp_with_set
- [ ]
clz
- [ ]
ctz
- [ ]
wrap
- [ ]
extend
- [ ]
branch
- [ ]
jmp
- [ ]
unreachable
- [ ]
jmp_table
- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [ ]
wasm_store
- [ ]
wasm_load
- [ ]
call
- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [ ]
and
- [ ]
or
- [ ]
xor
- [ ]
shift
- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [ ]
cmp
- [ ]
cmp_with_set
- [ ]
clz
- [ ]
ctz
- [ ]
wrap
- [ ]
extend
- [ ]
branch
- [ ]
jmp
- [ ]
unreachable
- [ ]
jmp_table
- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [ ]
wasm_store
- [ ]
wasm_load
- [ ]
call
- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [ ]
cmp
- [ ]
cmp_with_set
- [ ]
clz
- [ ]
ctz
- [ ]
wrap
- [ ]
extend
- [ ]
branch
- [ ]
jmp
- [ ]
unreachable
- [ ]
jmp_table
- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [ ]
wasm_store
- [ ]
wasm_load
- [ ]
call
- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [ ]
cmp
@vulc41n- [ ]
cmp_with_set
@vulc41n- [ ]
clz
- [ ]
ctz
- [ ]
wrap
- [ ]
extend
- [ ]
branch
- [ ]
jmp
- [ ]
unreachable
- [ ]
jmp_table
- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [ ]
wasm_store
- [ ]
wasm_load
- [ ]
call
- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [x]
cmp
@vulc41n- [x]
cmp_with_set
@vulc41n- [ ]
clz
- [ ]
ctz
- [ ]
wrap
- [ ]
extend
- [ ]
branch
- [ ]
jmp
- [ ]
unreachable
- [ ]
jmp_table
- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [ ]
wasm_store
- [ ]
wasm_load
- [ ]
call
- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [x]
cmp
@vulc41n- [x]
cmp_with_set
@vulc41n- [ ]
clz
- [ ]
ctz
- [ ]
wrap
- [ ]
extend
- [ ]
branch
- [ ]
jmp
- [ ]
unreachable
- [ ]
jmp_table
- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [ ]
wasm_store
- [ ]
wasm_load
- [ ]
call
- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [ ]
clz
(@vulc41n)- [ ]
ctz
(@vulc41n)- [ ]
wrap
- [ ]
extend
- [ ]
branch
- [ ]
jmp
- [ ]
unreachable
- [ ]
jmp_table
- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [ ]
wasm_store
- [ ]
wasm_load
- [ ]
call
- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [ ]
ctz
(@vulc41n)- [ ]
wrap
- [ ]
extend
- [ ]
branch
- [ ]
jmp
- [ ]
unreachable
- [ ]
jmp_table
- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [ ]
wasm_store
- [ ]
wasm_load
- [ ]
call
- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [ ]
wrap
- [ ]
extend
- [ ]
branch
- [ ]
jmp
- [ ]
unreachable
- [ ]
jmp_table
- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [ ]
wasm_store
- [ ]
wasm_load
- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [ ]
wrap
- [ ]
extend
- [ ]
branch
(@vulc41n)- [ ]
jmp
(@vulc41n)- [ ]
unreachable
- [ ]
jmp_table
- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [ ]
wasm_store
- [ ]
wasm_load
- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [ ]
wrap
- [ ]
extend
- [ ]
branch
(@vulc41n)- [ ]
jmp
(@vulc41n)- [ ]
unreachable
- [ ]
jmp_table
- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [ ]
wasm_store
- [ ]
wasm_load
- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [ ]
wrap
- [ ]
extend
- [ ]
branch
(@vulc41n)- [ ]
jmp
(@vulc41n)- [ ]
unreachable
- [ ]
jmp_table
(@vulc41n)- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [ ]
wasm_store
- [ ]
wasm_load
- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [ ]
wrap
- [ ]
extend
- [x]
branch
(@vulc41n)- [ ]
jmp
(@vulc41n)- [ ]
unreachable
- [ ]
jmp_table
(@vulc41n)- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [ ]
wasm_store
- [ ]
wasm_load
- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [ ]
wrap
- [ ]
extend
- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
- [ ]
jmp_table
(@vulc41n)- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [ ]
wasm_store
- [ ]
wasm_load
- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [ ]
wrap
- [ ]
extend
- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
- [x]
jmp_table
(@vulc41n)- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [ ]
wasm_store
(@vulc41n)- [ ]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [ ]
wrap
- [ ]
extend
- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
- [x]
jmp_table
(@vulc41n)- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [ ]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [ ]
wrap
- [ ]
extend
- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
- [x]
jmp_table
(@vulc41n)- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
- [ ]
promote
- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [ ]
wrap
- [ ]
extend
- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
- [x]
jmp_table
(@vulc41n)- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [ ]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [ ]
demote
(@vulc41n)- [ ]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [ ]
wrap
(@vulc41n)- [ ]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
- [x]
jmp_table
(@vulc41n)- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [ ]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [ ]
wrap
(@vulc41n)- [ ]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
- [x]
jmp_table
(@vulc41n)- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [ ]
wrap
(@vulc41n)- [ ]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
- [x]
jmp_table
(@vulc41n)- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [ ]
wrap
(@vulc41n)- [ ]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
- [x]
jmp_table
(@vulc41n)- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [ ]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
- [x]
jmp_table
(@vulc41n)- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
- [x]
jmp_table
(@vulc41n)- [ ]
trap
- [ ]
trapz
- [ ]
trapif
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [ ]
trap
(@vulc41n)- [ ]
trapz
(@vulc41n)- [ ]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [x]
address_from_sp
- [ ]
address_at_sp
- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [ ]
trap
(@vulc41n)- [ ]
trapz
(@vulc41n)- [ ]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [x]
address_from_sp
- [x]
address_at_sp
- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [ ]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [ ]
trap
(@vulc41n)- [ ]
trapz
(@vulc41n)- [ ]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [x]
address_from_sp
- [x]
address_at_sp
- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [ ]
trap
(@vulc41n)- [ ]
trapz
(@vulc41n)- [ ]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [ ]
zero
- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [ ]
trap
(@vulc41n)- [ ]
trapz
(@vulc41n)- [ ]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [x]
zero
- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [ ]
trap
(@vulc41n)- [ ]
trapz
(@vulc41n)- [ ]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [ ]
trap
(@vulc41n)- [ ]
trapz
(@vulc41n)- [ ]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [ ]
cmov
- [ ]
checked_uadd
- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [ ]
trap
(@vulc41n)- [ ]
trapz
(@vulc41n)- [ ]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [ ]
cmov
(@vulc41n)- [ ]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [ ]
trap
(@vulc41n)- [ ]
trapz
(@vulc41n)- [ ]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [ ]
cmov
(@vulc41n)- [ ]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [ ]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [ ]
cmov
(@vulc41n)- [ ]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [ ]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [ ]
cmov
(@vulc41n)- [ ]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [ ]
cmov
(@vulc41n)- [ ]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [x]
cmov
(@vulc41n)- [ ]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [ ]
address_at_vmctx
- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@saulecabrera)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [x]
cmov
(@vulc41n)- [x]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera assigned saulecabrera to issue #8321.
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [ ]
address_at_vmctx
(@MarinPostma)- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@MarinPostma)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [x]
cmov
(@vulc41n)- [x]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [x]
address_at_vmctx
(@MarinPostma)- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [ ]
call
(@MarinPostma)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [x]
cmov
(@vulc41n)- [x]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [x]
address_at_vmctx
(@MarinPostma)- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [x]
call
(@MarinPostma)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [x]
cmov
(@vulc41n)- [x]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
- [ ]
rem
- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [x]
address_at_vmctx
(@MarinPostma)- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [x]
call
(@MarinPostma)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [x]
cmov
(@vulc41n)- [x]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
(@MarinPostma)- [ ]
rem
(@MarinPostma)- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
- [ ]
reinterpret_int_as_float
- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [x]
address_at_vmctx
(@MarinPostma)- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [x]
call
(@MarinPostma)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [x]
cmov
(@vulc41n)- [x]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [ ]
div
(@MarinPostma)- [ ]
rem
(@MarinPostma)- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
(@minirop)- [ ]
reinterpret_int_as_float
(@minirop)- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [x]
address_at_vmctx
(@MarinPostma)- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [x]
call
(@MarinPostma)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [x]
cmov
(@vulc41n)- [x]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [x]
div
(@MarinPostma)- [ ]
rem
(@MarinPostma)- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [ ]
reinterpret_float_as_int
(@minirop)- [ ]
reinterpret_int_as_float
(@minirop)- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [x]
address_at_vmctx
(@MarinPostma)- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [x]
call
(@MarinPostma)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [x]
cmov
(@vulc41n)- [x]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [x]
div
(@MarinPostma)- [ ]
rem
(@MarinPostma)- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [x]
reinterpret_float_as_int
(@minirop)- [x]
reinterpret_int_as_float
(@minirop)- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [x]
address_at_vmctx
(@MarinPostma)- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [x]
call
(@MarinPostma)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [x]
cmov
(@vulc41n)- [x]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [x]
div
(@MarinPostma)- [ ]
rem
(@MarinPostma)- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
- [ ]
unsigned_convert
- [x]
reinterpret_float_as_int
(@minirop)- [x]
reinterpret_int_as_float
(@minirop)- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [x]
address_at_vmctx
(@MarinPostma)- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [x]
call
(@MarinPostma)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [x]
cmov
(@vulc41n)- [x]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [x]
div
(@MarinPostma)- [ ]
rem
(@MarinPostma)- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
signed_convert
(@minirop)- [ ]
unsigned_convert
(@minirop)- [x]
reinterpret_float_as_int
(@minirop)- [x]
reinterpret_int_as_float
(@minirop)- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [x]
address_at_vmctx
(@MarinPostma)- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [x]
call
(@MarinPostma)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [x]
cmov
(@vulc41n)- [x]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [x]
div
(@MarinPostma)- [ ]
rem
(@MarinPostma)- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [x]
signed_convert
(@minirop)- [x]
unsigned_convert
(@minirop)- [x]
reinterpret_float_as_int
(@minirop)- [x]
reinterpret_int_as_float
(@minirop)- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [x]
address_at_vmctx
(@MarinPostma)- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [x]
call
(@MarinPostma)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [x]
cmov
(@vulc41n)- [x]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [x]
div
(@MarinPostma)- [ ]
rem
(@MarinPostma)- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [x]
signed_convert
(@minirop)- [x]
unsigned_convert
(@minirop)- [x]
reinterpret_float_as_int
(@minirop)- [x]
reinterpret_int_as_float
(@minirop)- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [x]
address_at_vmctx
(@MarinPostma)- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [x]
call
(@MarinPostma)- [ ]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [x]
cmov
(@vulc41n)- [x]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [x]
div
(@MarinPostma)- [x]
rem
(@MarinPostma)- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [x]
signed_convert
(@minirop)- [x]
unsigned_convert
(@minirop)- [x]
reinterpret_float_as_int
(@minirop)- [x]
reinterpret_int_as_float
(@minirop)- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [x]
address_at_vmctx
(@MarinPostma)- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [x]
call
(@MarinPostma)- [x]
load_ptr
- [ ]
load_addr
- [x]
pop
(@vulc41n)- [x]
cmov
(@vulc41n)- [x]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [x]
div
(@MarinPostma)- [x]
rem
(@MarinPostma)- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [x]
signed_convert
(@minirop)- [x]
unsigned_convert
(@minirop)- [x]
reinterpret_float_as_int
(@minirop)- [x]
reinterpret_int_as_float
(@minirop)- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [ ] Support for
V128
- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [x]
address_at_vmctx
(@MarinPostma)- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [x]
call
(@MarinPostma)- [x]
load_ptr
- [x]
load_addr
- [x]
pop
(@vulc41n)- [x]
cmov
(@vulc41n)- [x]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [x]
div
(@MarinPostma)- [x]
rem
(@MarinPostma)- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [x]
signed_convert
(@minirop)- [x]
unsigned_convert
(@minirop)- [x]
reinterpret_float_as_int
(@minirop)- [x]
reinterpret_int_as_float
(@minirop)- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [x]
address_at_vmctx
(@MarinPostma)- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [x]
call
(@MarinPostma)- [x]
load_ptr
- [x]
load_addr
- [x]
pop
(@vulc41n)- [x]
cmov
(@vulc41n)- [x]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [x]
div
(@MarinPostma)- [x]
rem
(@MarinPostma)- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
- [ ]
unsigned_truncate
- [x]
signed_convert
(@minirop)- [x]
unsigned_convert
(@minirop)- [x]
reinterpret_float_as_int
(@minirop)- [x]
reinterpret_int_as_float
(@minirop)- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
saulecabrera edited issue #8321:
Winch's support for Aarch64 is minimal. The objective of this issue to track the missing items in order to bring the Aarch64 MacroAssembler to parity with the x64 implementation.
If you're interested in taking on any of the elements below, please add your name beside it to signal that you're actively working on it (if you don't have permission to edit this issue, feel free to reach out via Zulip).
- [ ] Stack checks (
check_stack
) (@saulecabrera)- [x]
address_from_sp
(@vulc41n)- [x]
address_at_sp
(@vulc41n)- [x]
address_at_vmctx
(@MarinPostma)- [x]
wasm_store
(@vulc41n)- [x]
wasm_load
(@vulc41n)- [x]
call
(@MarinPostma)- [x]
load_ptr
- [x]
load_addr
- [x]
pop
(@vulc41n)- [x]
cmov
(@vulc41n)- [x]
checked_uadd
(@vulc41n)- [x]
float_add
(@evacchi)- [x]
float_sub
(@evacchi)- [x]
float_mul
(@evacchi)- [x]
float_div
(@evacchi)- [x]
float_min
(@evacchi)- [x]
float_max
(@evacchi)- [x]
float_copysign
(@evacchi)- [x]
float_neg
(@evacchi)- [x]
float_abs
(@evacchi)- [x]
float_round
(@evacchi)- [x]
float_sqrt
(@evacchi)- [x]
and
(@evacchi)- [x]
or
(@evacchi)- [x]
xor
(@evacchi)- [x]
shift
(@evacchi)- [x]
div
(@MarinPostma)- [x]
rem
(@MarinPostma)- [x]
zero
(@saulecabrera)- [x]
popcnt
(@vulc41n)- [ ]
unsigned_truncate
(@MarinPostma)- [ ]
unsigned_truncate
(@MarinPostma)- [x]
signed_convert
(@minirop)- [x]
unsigned_convert
(@minirop)- [x]
reinterpret_float_as_int
(@minirop)- [x]
reinterpret_int_as_float
(@minirop)- [x]
demote
(@vulc41n)- [x]
promote
(@vulc41n)- [x]
cmp
(@vulc41n)- [x]
cmp_with_set
(@vulc41n)- [x]
clz
(@vulc41n)- [x]
ctz
(@vulc41n)- [x]
wrap
(@vulc41n)- [x]
extend
(@vulc41n)- [x]
branch
(@vulc41n)- [x]
jmp
(@vulc41n)- [x]
unreachable
(@vulc41n)- [x]
jmp_table
(@vulc41n)- [x]
trap
(@vulc41n)- [x]
trapz
(@vulc41n)- [x]
trapif
(@vulc41n)
Last updated: Dec 23 2024 at 12:05 UTC