jlb6740 opened Issue #1857:
Wasm Instruction Who has started Patched Pushed Patch Merged Works in Wasmtime f32.add @jlb6740 [ ] [ ]
jlb6740 edited Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Initial Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | | [ ] | [ ]
f64.add | Fadd | | | [ ] | [ ]
f32.sub | Fsub |@jlb6740 | | [ ] | [ ]
f64.sub | Fsub | | | [ ] | [ ]
f32.mul | |@jlb6740 | | [ ] | [ ]
f64.mul | | | | [ ] | [ ]
f32.div | |@jlb6740 | | [ ] | [ ]
f64.div | | | | [ ] | [ ]
f32.sqrt | | | | [ ] | [ ]
f64.sqrt | | | | [ ] | [ ]
f32.min | | | | [ ] | [ ]
f64.min | | | | [ ] | [ ]
f32.max | | | | [ ] | [ ]
f64.max | | | | [ ] | [ ]
f32.ceil | | | | [ ] | [ ]
f64.ceil | | | | [ ] | [ ]
f32.floor | | | | [ ] | [ ]
f64.floor | | | | [ ] | [ ]
f32.trunc | | | | [ ] | [ ]
f64.trunc | | | | [ ] | [ ]
f32.nearest | | | | [ ] | [ ]
f64.nearest | || | [ ] | [ ]
f32.abs | | | | [ ] | [ ]
f64.abs | | | | [ ] | [ ]
f32.neg | | | | [ ] | [ ]
f64.neg | | | | [ ] | [ ]
f32.copysign | Fcopysign |@jlb6740 | | [ ] | [ ]
f64.copysign | Fcopysign | | | [ ] | [ ]Other Related Clif Instruction
Clif Instruction | How Used | Initial Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @jlb6740 | | [ ] | [ ]
Load | trampoline | @jlb6740 | | [ ] | [ ]
CallIndirect | trampoline |@jlb6740 | | [ ] | [ ]
bjorn3 commented on Issue #1857:
For cg_clif:
- [ ]
stack_addr
,stack_load
andstack_store
- [ ]
select
jlb6740 edited Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Initial Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | | [ ] | [ ]
f64.add | Fadd | | | [ ] | [ ]
f32.sub | Fsub |@jlb6740 | | [ ] | [ ]
f64.sub | Fsub | | | [ ] | [ ]
f32.mul | |@jlb6740 | | [ ] | [ ]
f64.mul | | | | [ ] | [ ]
f32.div | |@jlb6740 | | [ ] | [ ]
f64.div | | | | [ ] | [ ]
f32.sqrt | | | | [ ] | [ ]
f64.sqrt | | | | [ ] | [ ]
f32.min | | | | [ ] | [ ]
f64.min | | | | [ ] | [ ]
f32.max | | | | [ ] | [ ]
f64.max | | | | [ ] | [ ]
f32.ceil | | | | [ ] | [ ]
f64.ceil | | | | [ ] | [ ]
f32.floor | | | | [ ] | [ ]
f64.floor | | | | [ ] | [ ]
f32.trunc | | | | [ ] | [ ]
f64.trunc | | | | [ ] | [ ]
f32.nearest | | | | [ ] | [ ]
f64.nearest | || | [ ] | [ ]
f32.abs | | | | [ ] | [ ]
f64.abs | | | | [ ] | [ ]
f32.neg | | | | [ ] | [ ]
f64.neg | | | | [ ] | [ ]
f32.copysign | Fcopysign |@jlb6740 | | [ ] | [ ]
f64.copysign | Fcopysign | | | [ ] | [ ]Other Related Clif Instruction
Clif Instruction | How Used | Initial Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @jlb6740 | | [ ] | [ ]
Load | trampoline | @jlb6740 | | [ ] | [ ]
CallIndirect | trampoline | | | [ ] | [ ]
StackStore | | | | [ ] | [ ]
StackAddr| | | | [ ] | [ ]
StackLoad | | | | [ ] | [ ]
Select | | | | [ ] | [ ]
jlb6740 edited Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Initial Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | | [x ] | [ ]
f64.add | Fadd | | | [ x] | [ ]
f32.sub | Fsub |@jlb6740 | | [ ] | [ ]
f64.sub | Fsub | | | [ ] | [ ]
f32.mul | |@jlb6740 | #1797 | [ ] | [ ]
f64.mul | | | | [ ] | [ ]
f32.div | |@jlb6740 | #1797 | [ ] | [ ]
f64.div | | | | [ ] | [ ]
f32.sqrt | | | | [ ] | [ ]
f64.sqrt | | | | [ ] | [ ]
f32.min | |@jlb6740 | #1797 | [ ] | [ ]
f64.min | |@jlb6740 | #1797 | [ ] | [ ]
f32.max | | | | [ ] | [ ]
f64.max | | | | [ ] | [ ]
f32.ceil | | | | [ ] | [ ]
f64.ceil | | | | [ ] | [ ]
f32.floor | | | | [ ] | [ ]
f64.floor | | | | [ ] | [ ]
f32.trunc | | | | [ ] | [ ]
f64.trunc | | | | [ ] | [ ]
f32.nearest | | | | [ ] | [ ]
f64.nearest | || | [ ] | [ ]
f32.abs | | | | [ ] | [ ]
f64.abs | | | | [ ] | [ ]
f32.neg | | | | [ ] | [ ]
f64.neg | | | | [ ] | [ ]
f32.copysign | Fcopysign |@jlb6740 | | [ ] | [ ]
f64.copysign | Fcopysign | | | [ ] | [ ]Other Related Clif Instruction
Clif Instruction | How Used | Initial Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @jlb6740 | | [ ] | [ ]
Load | trampoline | @jlb6740 | | [ ] | [ ]
CallIndirect | trampoline | | | [ ] | [ ]
StackStore | | | | [ ] | [ ]
StackAddr| | | | [ ] | [ ]
StackLoad | | | | [ ] | [ ]
Select | | | | [ ] | [ ]
jlb6740 edited Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Initial Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | #1665 | [x] | [ ]
f64.add | Fadd | | | [] | [ ]
f32.sub | Fsub |@jlb6740 | #1665 | [x] | [ ]
f64.sub | Fsub | | | [ ] | [ ]
f32.mul | |@jlb6740 | #1797 | [ ] | [ ]
f64.mul | | | | [ ] | [ ]
f32.div | |@jlb6740 | #1797 | [ ] | [ ]
f64.div | | | | [ ] | [ ]
f32.sqrt | | | | [ ] | [ ]
f64.sqrt | | | | [ ] | [ ]
f32.min | |@jlb6740 | #1797 | [ ] | [ ]
f64.min | |@jlb6740 | #1797 | [ ] | [ ]
f32.max | | | | [ ] | [ ]
f64.max | | | | [ ] | [ ]
f32.ceil | | | | [ ] | [ ]
f64.ceil | | | | [ ] | [ ]
f32.floor | | | | [ ] | [ ]
f64.floor | | | | [ ] | [ ]
f32.trunc | | | | [ ] | [ ]
f64.trunc | | | | [ ] | [ ]
f32.nearest | | | | [ ] | [ ]
f64.nearest | || | [ ] | [ ]
f32.abs | | | | [ ] | [ ]
f64.abs | | | | [ ] | [ ]
f32.neg | | | | [ ] | [ ]
f64.neg | | | | [ ] | [ ]
f32.copysign | Fcopysign |@jlb6740 | | [ ] | [ ]
f64.copysign | Fcopysign | | | [ ] | [ ]Other Related Clif Instruction
Clif Instruction | How Used | Initial Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @jlb6740 | | [ ] | [ ]
Load | trampoline | @jlb6740 | | [ ] | [ ]
CallIndirect | trampoline | | | [ ] | [ ]
StackStore | | | | [ ] | [ ]
StackAddr| | | | [ ] | [ ]
StackLoad | | | | [ ] | [ ]
Select | | | | [ ] | [ ]
jlb6740 edited Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Initial Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | #1665 | [x] | [ ]
f64.add | Fadd | | | [] | [ ]
f32.sub | Fsub |@jlb6740 | #1665 | [x] | [ ]
f64.sub | Fsub | | | [ ] | [ ]
f32.mul | Fmul |@jlb6740 | #1797 | [ ] | [ ]
f64.mul | Fmul | | | [ ] | [ ]
f32.div | Fdiv |@jlb6740 | #1797 | [ ] | [ ]
f64.div | Fdiv | | | [ ] | [ ]
f32.sqrt | Sqrt | | | [ ] | [ ]
f64.sqrt | Sqrt | | | [ ] | [ ]
f32.min | Fmin |@jlb6740 | #1797 | [ ] | [ ]
f64.min | Fmin |@jlb6740 | #1797 | [ ] | [ ]
f32.max | Fmax | | | [ ] | [ ]
f64.max | Fmax | | | [ ] | [ ]
f32.ceil | Ceil | | | [ ] | [ ]
f64.ceil | Ceil | | | [ ] | [ ]
f32.floor | Floor | | | [ ] | [ ]
f64.floor | Floor | | | [ ] | [ ]
f32.trunc | Trunc | | | [ ] | [ ]
f64.trunc | Trunc | | | [ ] | [ ]
f32.nearest | Nearest | | | [ ] | [ ]
f64.nearest | Nearest || | [ ] | [ ]
f32.abs | Fabs | | | [ ] | [ ]
f64.abs | Fabs | | | [ ] | [ ]
f32.neg | Fneg | | | [ ] | [ ]
f64.neg | Fneg | | | [ ] | [ ]
f32.copysign | Fcopysign |@jlb6740 | | [ ] | [ ]
f64.copysign | Fcopysign | | | [ ] | [ ]Other Related Clif Instruction
Clif Instruction | How Used | Initial Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @jlb6740 | | [ ] | [ ]
Load | trampoline | @jlb6740 | | [ ] | [ ]
CallIndirect | trampoline | | | [ ] | [ ]
StackStore | | | | [ ] | [ ]
StackAddr| | | | [ ] | [ ]
StackLoad | | | | [ ] | [ ]
Select | | | | [ ] | [ ]
jlb6740 commented on Issue #1857:
@julian-seward1 @bnjbvr
Hi @bjorn3 thanks I've added these. Are you working on these now or planning to? Not sure there is such a thing as a publicly editable comment, but I will keep this table updated based on comments and patches I see.
jlb6740 edited Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | #1665 | [x] | [ ]
f64.add | Fadd | | | [] | [ ]
f32.sub | Fsub |@jlb6740 | #1665 | [x] | [ ]
f64.sub | Fsub | | | [ ] | [ ]
f32.mul | Fmul |@jlb6740 | #1797 | [ ] | [ ]
f64.mul | Fmul | | | [ ] | [ ]
f32.div | Fdiv |@jlb6740 | #1797 | [ ] | [ ]
f64.div | Fdiv | | | [ ] | [ ]
f32.sqrt | Sqrt | | | [ ] | [ ]
f64.sqrt | Sqrt | | | [ ] | [ ]
f32.min | Fmin |@jlb6740 | #1797 | [ ] | [ ]
f64.min | Fmin |@jlb6740 | #1797 | [ ] | [ ]
f32.max | Fmax | | | [ ] | [ ]
f64.max | Fmax | | | [ ] | [ ]
f32.ceil | Ceil | | | [ ] | [ ]
f64.ceil | Ceil | | | [ ] | [ ]
f32.floor | Floor | | | [ ] | [ ]
f64.floor | Floor | | | [ ] | [ ]
f32.trunc | Trunc | | | [ ] | [ ]
f64.trunc | Trunc | | | [ ] | [ ]
f32.nearest | Nearest | | | [ ] | [ ]
f64.nearest | Nearest || | [ ] | [ ]
f32.abs | Fabs | | | [ ] | [ ]
f64.abs | Fabs | | | [ ] | [ ]
f32.neg | Fneg | | | [ ] | [ ]
f64.neg | Fneg | | | [ ] | [ ]
f32.copysign | Fcopysign |@jlb6740 | | [ ] | [ ]
f64.copysign | Fcopysign | | | [ ] | [ ]Other Related Clif Instruction
Clif Instruction | How Used | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @jlb6740 | | [ ] | [ ]
Load | trampoline | @jlb6740 | | [ ] | [ ]
CallIndirect | trampoline | | | [ ] | [ ]
StackStore | | | | [ ] | [ ]
StackAddr| | | | [ ] | [ ]
StackLoad | | | | [ ] | [ ]
Select | | | | [ ] | [ ]
jlb6740 edited Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | #1665 | [x] | [ ]
f64.add | Fadd | | | [] | [ ]
f32.sub | Fsub |@jlb6740 | #1665 | [x] | [ ]
f64.sub | Fsub | | | [ ] | [ ]
f32.mul | Fmul |@jlb6740 | #1797 | [ ] | [ ]
f64.mul | Fmul | | | [ ] | [ ]
f32.div | Fdiv |@jlb6740 | #1797 | [ ] | [ ]
f64.div | Fdiv | | | [ ] | [ ]
f32.sqrt | Sqrt | | | [ ] | [ ]
f64.sqrt | Sqrt | | | [ ] | [ ]
f32.min | Fmin |@jlb6740 | #1797 | [ ] | [ ]
f64.min | Fmin |@jlb6740 | #1797 | [ ] | [ ]
f32.max | Fmax | | | [ ] | [ ]
f64.max | Fmax | | | [ ] | [ ]
f32.ceil | Ceil | | | [ ] | [ ]
f64.ceil | Ceil | | | [ ] | [ ]
f32.floor | Floor | | | [ ] | [ ]
f64.floor | Floor | | | [ ] | [ ]
f32.trunc | Trunc | | | [ ] | [ ]
f64.trunc | Trunc | | | [ ] | [ ]
f32.nearest | Nearest | | | [ ] | [ ]
f64.nearest | Nearest || | [ ] | [ ]
f32.abs | Fabs | | | [ ] | [ ]
f64.abs | Fabs | | | [ ] | [ ]
f32.neg | Fneg | | | [ ] | [ ]
f64.neg | Fneg | | | [ ] | [ ]
f32.copysign | Fcopysign |@jlb6740 | #1837 | [ ] | [ ]
f64.copysign | Fcopysign | | | [ ] | [ ]Other Related Clif Instruction
Clif Instruction | How Used | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @jlb6740 | | [ ] | [ ]
Load | trampoline | @jlb6740 | | [ ] | [ ]
CallIndirect | trampoline | | | [ ] | [ ]
StackStore | | | | [ ] | [ ]
StackAddr| | | | [ ] | [ ]
StackLoad | | | | [ ] | [ ]
Select | | | | [ ] | [ ]
bjorn3 commented on Issue #1857:
Are you working on these now or planning to?
I am not working on them.
jlb6740 edited Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | #1665 | [x] | [ ]
f64.add | Fadd | | | [] | [ ]
f32.sub | Fsub |@jlb6740 | #1665 | [x] | [ ]
f64.sub | Fsub | | | [ ] | [ ]
f32.mul | Fmul |@jlb6740 | #1797 | [ ] | [ ]
f64.mul | Fmul | | | [ ] | [ ]
f32.div | Fdiv |@jlb6740 | #1797 | [ ] | [ ]
f64.div | Fdiv | | | [ ] | [ ]
f32.sqrt | Sqrt | | | [ ] | [ ]
f64.sqrt | Sqrt | | | [ ] | [ ]
f32.min | Fmin |@jlb6740 | #1797 | [ ] | [ ]
f64.min | Fmin |@jlb6740 | #1797 | [ ] | [ ]
f32.max | Fmax | | | [ ] | [ ]
f64.max | Fmax | | | [ ] | [ ]
f32.ceil | Ceil | | | [ ] | [ ]
f64.ceil | Ceil | | | [ ] | [ ]
f32.floor | Floor | | | [ ] | [ ]
f64.floor | Floor | | | [ ] | [ ]
f32.trunc | Trunc | | | [ ] | [ ]
f64.trunc | Trunc | | | [ ] | [ ]
f32.nearest | Nearest | | | [ ] | [ ]
f64.nearest | Nearest || | [ ] | [ ]
f32.abs | Fabs | | | [ ] | [ ]
f64.abs | Fabs | | | [ ] | [ ]
f32.neg | Fneg | | | [ ] | [ ]
f64.neg | Fneg | | | [ ] | [ ]
f32.copysign | Fcopysign |@jlb6740 | #1837 | [ ] | [ ]
f64.copysign | Fcopysign | | | [ ] | [ ]Other Related Clif Instruction
Clif Instruction | How Used | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @jlb6740 | | [ ] | [ ]
Load | trampoline | @jlb6740 | | [ ] | [ ]
CallIndirect | trampoline |@jlb6740 | | [ ] | [ ]
StackStore | | | | [ ] | [ ]
StackAddr| | | | [ ] | [ ]
StackLoad | | | | [ ] | [ ]
Select | | | | [ ] | [ ]
jlb6740 edited Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | #1665 | [x] | [ ]
f64.add | Fadd | | | [] | [ ]
f32.sub | Fsub |@jlb6740 | #1665 | [x] | [ ]
f64.sub | Fsub | | | [ ] | [ ]
f32.mul | Fmul |@jlb6740 | #1797 | [ ] | [ ]
f64.mul | Fmul | | | [ ] | [ ]
f32.div | Fdiv |@jlb6740 | #1797 | [ ] | [ ]
f64.div | Fdiv | | | [ ] | [ ]
f32.sqrt | Sqrt | | | [ ] | [ ]
f64.sqrt | Sqrt | | | [ ] | [ ]
f32.min | Fmin |@jlb6740 | #1797 | [ ] | [ ]
f64.min | Fmin |@jlb6740 | #1797 | [ ] | [ ]
f32.max | Fmax | | | [ ] | [ ]
f64.max | Fmax | | | [ ] | [ ]
f32.ceil | Ceil | | | [ ] | [ ]
f64.ceil | Ceil | | | [ ] | [ ]
f32.floor | Floor | | | [ ] | [ ]
f64.floor | Floor | | | [ ] | [ ]
f32.trunc | Trunc | | | [ ] | [ ]
f64.trunc | Trunc | | | [ ] | [ ]
f32.nearest | Nearest | | | [ ] | [ ]
f64.nearest | Nearest || | [ ] | [ ]
f32.abs | Fabs | | | [ ] | [ ]
f64.abs | Fabs | | | [ ] | [ ]
f32.neg | Fneg | | | [ ] | [ ]
f64.neg | Fneg | | | [ ] | [ ]
f32.copysign | Fcopysign |@jlb6740 | #1837 | [ ] | [ ]
f64.copysign | Fcopysign | | | [ ] | [ ]Other Related Clif Instruction
Clif Instruction | How Used | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @jlb6740 |#1862 | [ ] | [ ]
Load | trampoline | @jlb6740 | | [ ] | [ ]
CallIndirect | trampoline |@jlb6740 | | [ ] | [ ]
StackStore | | | | [ ] | [ ]
StackAddr| | | | [ ] | [ ]
StackLoad | | | | [ ] | [ ]
Select | | | | [ ] | [ ]
bnjbvr edited Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | #1665 | [x] | [ ]
f64.add | Fadd | | | [] | [ ]
f32.sub | Fsub |@jlb6740 | #1665 | [x] | [ ]
f64.sub | Fsub | | | [ ] | [ ]
f32.mul | Fmul |@jlb6740 | #1797 | [ ] | [ ]
f64.mul | Fmul | | | [ ] | [ ]
f32.div | Fdiv |@jlb6740 | #1797 | [ ] | [ ]
f64.div | Fdiv | | | [ ] | [ ]
f32.sqrt | Sqrt | | | [ ] | [ ]
f64.sqrt | Sqrt | | | [ ] | [ ]
f32.min | Fmin |@jlb6740 | #1797 | [ ] | [ ]
f64.min | Fmin |@jlb6740 | #1797 | [ ] | [ ]
f32.max | Fmax | | | [ ] | [ ]
f64.max | Fmax | | | [ ] | [ ]
f32.ceil | Ceil | | | [ ] | [ ]
f64.ceil | Ceil | | | [ ] | [ ]
f32.floor | Floor | | | [ ] | [ ]
f64.floor | Floor | | | [ ] | [ ]
f32.trunc | Trunc | | | [ ] | [ ]
f64.trunc | Trunc | | | [ ] | [ ]
f32.nearest | Nearest | | | [ ] | [ ]
f64.nearest | Nearest || | [ ] | [ ]
f32.abs | Fabs | | | [ ] | [ ]
f64.abs | Fabs | | | [ ] | [ ]
f32.neg | Fneg | | | [ ] | [ ]
f64.neg | Fneg | | | [ ] | [ ]
f32.copysign | Fcopysign |@jlb6740 | #1837 | [ ] | [ ]
f64.copysign | Fcopysign | | | [ ] | [ ]Other Related Clif Instruction
Clif Instruction | How Used | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @jlb6740 |#1862 | [ ] | [ ]
Load | trampoline | @jlb6740 | | [ ] | [ ]
Call | | @bnjbvr | | [ ] | [ ]
CallIndirect | trampoline |@bnjbvr | | [ ] | [ ]
StackStore | | | | [ ] | [ ]
StackAddr| | | | [ ] | [ ]
StackLoad | | | | [ ] | [ ]
Select | | | | [ ] | [ ]
bnjbvr commented on Issue #1857:
I'll work on direct and indirect calls.
bnjbvr edited Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | #1665 | [x] | [ ]
f64.add | Fadd | | | [] | [ ]
f32.sub | Fsub |@jlb6740 | #1665 | [x] | [ ]
f64.sub | Fsub | | | [ ] | [ ]
f32.mul | Fmul |@jlb6740 | #1797 | [ ] | [ ]
f64.mul | Fmul | | | [ ] | [ ]
f32.div | Fdiv |@jlb6740 | #1797 | [ ] | [ ]
f64.div | Fdiv | | | [ ] | [ ]
f32.sqrt | Sqrt | | | [ ] | [ ]
f64.sqrt | Sqrt | | | [ ] | [ ]
f32.min | Fmin |@jlb6740 | #1797 | [ ] | [ ]
f64.min | Fmin |@jlb6740 | #1797 | [ ] | [ ]
f32.max | Fmax | | | [ ] | [ ]
f64.max | Fmax | | | [ ] | [ ]
f32.ceil | Ceil | | | [ ] | [ ]
f64.ceil | Ceil | | | [ ] | [ ]
f32.floor | Floor | | | [ ] | [ ]
f64.floor | Floor | | | [ ] | [ ]
f32.trunc | Trunc | | | [ ] | [ ]
f64.trunc | Trunc | | | [ ] | [ ]
f32.nearest | Nearest | | | [ ] | [ ]
f64.nearest | Nearest || | [ ] | [ ]
f32.abs | Fabs | | | [ ] | [ ]
f64.abs | Fabs | | | [ ] | [ ]
f32.neg | Fneg | | | [ ] | [ ]
f64.neg | Fneg | | | [ ] | [ ]
f32.copysign | Fcopysign |@jlb6740 | #1837 | [ ] | [ ]
f64.copysign | Fcopysign | | | [ ] | [ ]Other Related Clif Instruction
Clif Instruction | How Used | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @jlb6740 |#1862 | [ ] | [ ]
Load | trampoline | @jlb6740 | | [ ] | [ ]
Call | | @bnjbvr | | [ ] | [ ]
CallIndirect | trampoline |@bnjbvr | | [ ] | [ ]
StackStore | | | | [ ] | [ ]
StackAddr| | | | [ ] | [ ]
StackLoad | | | | [ ] | [ ]
Select | | | | [ ] | [ ]
Trap/DebugTrap | trap handling | @bnjbvr | | |
jlb6740 edited Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | #1665 | [x] | [ ]
f64.add | Fadd | | | [] | [ ]
f32.sub | Fsub |@jlb6740 | #1665 | [x] | [ ]
f64.sub | Fsub | | | [ ] | [ ]
f32.mul | Fmul |@jlb6740 | #1797 | [x] | [ ]
f64.mul | Fmul | | | [ ] | [ ]
f32.div | Fdiv |@jlb6740 | #1797 | [x] | [ ]
f64.div | Fdiv | | | [ ] | [ ]
f32.sqrt | Sqrt | | | [ ] | [ ]
f64.sqrt | Sqrt | | | [ ] | [ ]
f32.min | Fmin |@jlb6740 | | [ ] | [ ]
f64.min | Fmin |@jlb6740 | | [ ] | [ ]
f32.max | Fmax | | | [ ] | [ ]
f64.max | Fmax | | | [ ] | [ ]
f32.ceil | Ceil | | | [ ] | [ ]
f64.ceil | Ceil | | | [ ] | [ ]
f32.floor | Floor | | | [ ] | [ ]
f64.floor | Floor | | | [ ] | [ ]
f32.trunc | Trunc | | | [ ] | [ ]
f64.trunc | Trunc | | | [ ] | [ ]
f32.nearest | Nearest | | | [ ] | [ ]
f64.nearest | Nearest || | [ ] | [ ]
f32.abs | Fabs | | | [ ] | [ ]
f64.abs | Fabs | | | [ ] | [ ]
f32.neg | Fneg | | | [ ] | [ ]
f64.neg | Fneg | | | [ ] | [ ]
f32.copysign | Fcopysign |@jlb6740 | #1837 | [ ] | [ ]
f64.copysign | Fcopysign | | | [ ] | [ ]Other Related Clif Instruction
Clif Instruction | How Used | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @jlb6740 |#1862 | [ ] | [ ]
Load | trampoline | @jlb6740 | | [ ] | [ ]
Call | | @bnjbvr | | [ ] | [ ]
CallIndirect | trampoline |@bnjbvr | | [ ] | [ ]
StackStore | | | | [ ] | [ ]
StackAddr| | | | [ ] | [ ]
StackLoad | | | | [ ] | [ ]
Select | | | | [ ] | [ ]
Trap/DebugTrap | trap handling | @bnjbvr | | |
bnjbvr edited Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | #1665 | [x] | [ ]
f64.add | Fadd | | | [] | [ ]
f32.sub | Fsub |@jlb6740 | #1665 | [x] | [ ]
f64.sub | Fsub | | | [ ] | [ ]
f32.mul | Fmul |@jlb6740 | #1797 | [x] | [ ]
f64.mul | Fmul | | | [ ] | [ ]
f32.div | Fdiv |@jlb6740 | #1797 | [x] | [ ]
f64.div | Fdiv | | | [ ] | [ ]
f32.sqrt | Sqrt | | | [ ] | [ ]
f64.sqrt | Sqrt | | | [ ] | [ ]
f32.min | Fmin |@jlb6740 | | [ ] | [ ]
f64.min | Fmin |@jlb6740 | | [ ] | [ ]
f32.max | Fmax | | | [ ] | [ ]
f64.max | Fmax | | | [ ] | [ ]
f32.ceil | Ceil | | | [ ] | [ ]
f64.ceil | Ceil | | | [ ] | [ ]
f32.floor | Floor | | | [ ] | [ ]
f64.floor | Floor | | | [ ] | [ ]
f32.trunc | Trunc | | | [ ] | [ ]
f64.trunc | Trunc | | | [ ] | [ ]
f32.nearest | Nearest | | | [ ] | [ ]
f64.nearest | Nearest || | [ ] | [ ]
f32.abs | Fabs | | | [ ] | [ ]
f64.abs | Fabs | | | [ ] | [ ]
f32.neg | Fneg | | | [ ] | [ ]
f64.neg | Fneg | | | [ ] | [ ]
f32.copysign | Fcopysign |@jlb6740 | #1837 | [ ] | [ ]
f64.copysign | Fcopysign | | | [ ] | [ ]Other Related Clif Instruction
Clif Instruction | How Used | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @jlb6740 |#1862 | [ ] | [ ]
Load | trampoline | @jlb6740 / @bnjbvr (int loads) | | [ ] | [ ]
Call | | @bnjbvr | | [ ] | [ ]
CallIndirect | trampoline |@bnjbvr | | [ ] | [ ]
StackStore | | | | [ ] | [ ]
StackAddr| | | @bnjbvr | [ ] | [ ]
StackLoad | | | | [ ] | [ ]
Select | | | | [ ] | [ ]
Trap/DebugTrap | trap handling | @bnjbvr | | |
bnjbvr commented on Issue #1857:
I have a local patch that contains enough to compile and run integer-based code in wasmtime (a recursive fibonacci function), so I had to implement lowering for integer stores/loads and a few more; I've updated the table and should put up the patch for review tomorrow.
bnjbvr edited Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | #1665 | [x] | [ ]
f64.add | Fadd | | | [] | [ ]
f32.sub | Fsub |@jlb6740 | #1665 | [x] | [ ]
f64.sub | Fsub | | | [ ] | [ ]
f32.mul | Fmul |@jlb6740 | #1797 | [x] | [ ]
f64.mul | Fmul | | | [ ] | [ ]
f32.div | Fdiv |@jlb6740 | #1797 | [x] | [ ]
f64.div | Fdiv | | | [ ] | [ ]
f32.sqrt | Sqrt | | | [ ] | [ ]
f64.sqrt | Sqrt | | | [ ] | [ ]
f32.min | Fmin |@jlb6740 | | [ ] | [ ]
f64.min | Fmin |@jlb6740 | | [ ] | [ ]
f32.max | Fmax | | | [ ] | [ ]
f64.max | Fmax | | | [ ] | [ ]
f32.ceil | Ceil | | | [ ] | [ ]
f64.ceil | Ceil | | | [ ] | [ ]
f32.floor | Floor | | | [ ] | [ ]
f64.floor | Floor | | | [ ] | [ ]
f32.trunc | Trunc | | | [ ] | [ ]
f64.trunc | Trunc | | | [ ] | [ ]
f32.nearest | Nearest | | | [ ] | [ ]
f64.nearest | Nearest || | [ ] | [ ]
f32.abs | Fabs | | | [ ] | [ ]
f64.abs | Fabs | | | [ ] | [ ]
f32.neg | Fneg | | | [ ] | [ ]
f64.neg | Fneg | | | [ ] | [ ]
f32.copysign | Fcopysign |@jlb6740 | #1837 | [ ] | [ ]
f64.copysign | Fcopysign | | | [ ] | [ ]Other Related Clif Instruction
Clif Instruction | How Used | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @jlb6740 |#1862 | [ ] | [ ]
Load | trampoline | @jlb6740 / @bnjbvr (int loads) | | [ ] | [ ]
Call | | @bnjbvr | | [ ] | [ ]
CallIndirect | trampoline |@bnjbvr | | [ ] | [ ]
StackStore | | | | [ ] | [ ]
StackAddr| | | @bnjbvr | [ ] | [ ]
StackLoad | | | | [ ] | [ ]
Select | | @bnjbvr | | [ ] | [ ]
Trap/DebugTrap | trap handling | @bnjbvr | | |
Band/Bor | | @bnjbvr | | |
bnjbvr edited Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | #1665 | [x] | [ ]
f64.add | Fadd | | | [] | [ ]
f32.sub | Fsub |@jlb6740 | #1665 | [x] | [ ]
f64.sub | Fsub | | | [ ] | [ ]
f32.mul | Fmul |@jlb6740 | #1797 | [x] | [ ]
f64.mul | Fmul | | | [ ] | [ ]
f32.div | Fdiv |@jlb6740 | #1797 | [x] | [ ]
f64.div | Fdiv | | | [ ] | [ ]
f32.sqrt | Sqrt | | | [ ] | [ ]
f64.sqrt | Sqrt | | | [ ] | [ ]
f32.min | Fmin |@jlb6740 | | [ ] | [ ]
f64.min | Fmin |@jlb6740 | | [ ] | [ ]
f32.max | Fmax | | | [ ] | [ ]
f64.max | Fmax | | | [ ] | [ ]
f32.ceil | Ceil | | | [ ] | [ ]
f64.ceil | Ceil | | | [ ] | [ ]
f32.floor | Floor | | | [ ] | [ ]
f64.floor | Floor | | | [ ] | [ ]
f32.trunc | Trunc | | | [ ] | [ ]
f64.trunc | Trunc | | | [ ] | [ ]
f32.nearest | Nearest | | | [ ] | [ ]
f64.nearest | Nearest || | [ ] | [ ]
f32.abs | Fabs | | | [ ] | [ ]
f64.abs | Fabs | | | [ ] | [ ]
f32.neg | Fneg | | | [ ] | [ ]
f64.neg | Fneg | | | [ ] | [ ]
f32.copysign | Fcopysign |@jlb6740 | #1837 | [ ] | [ ]
f64.copysign | Fcopysign | | | [ ] | [ ]Other Related Clif Instruction
Clif Instruction | How Used | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @jlb6740 |#1862 | [ ] | [ ]
Load | trampoline | @jlb6740 / @bnjbvr (int loads) | | [ ] | [ ]
Call | | @bnjbvr | | [ ] | [ ]
CallIndirect | trampoline |@bnjbvr | | [ ] | [ ]
StackStore | | | | [ ] | [ ]
StackAddr| | | @bnjbvr | [ ] | [ ]
StackLoad | | | | [ ] | [ ]
Select | | @bnjbvr | | [ ] | [ ]
Trap/DebugTrap | trap handling | @bnjbvr | | |
Band/Bor | | @bnjbvr | | |
BranchTable | | @bnjbvr | | |
bnjbvr commented on Issue #1857:
Fwiw, I've updated the table again; I plan to implement all the integer + control flow opcodes, so if somebody wants to help with those, let's sync :-)
jlb6740 edited Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | #1665 | [x] | [ ]
f64.add | Fadd | | | [] | [ ]
f32.sub | Fsub |@jlb6740 | #1665 | [x] | [ ]
f64.sub | Fsub | | | [ ] | [ ]
f32.mul | Fmul |@jlb6740 | #1797 | [x] | [ ]
f64.mul | Fmul | | | [ ] | [ ]
f32.div | Fdiv |@jlb6740 | #1797 | [x] | [ ]
f64.div | Fdiv | | | [ ] | [ ]
f32.sqrt | Sqrt | | | [ ] | [ ]
f64.sqrt | Sqrt | | | [ ] | [ ]
f32.min | Fmin |@jlb6740 | | [ ] | [ ]
f64.min | Fmin |@jlb6740 | | [ ] | [ ]
f32.max | Fmax | | | [ ] | [ ]
f64.max | Fmax | | | [ ] | [ ]
f32.ceil | Ceil | | | [ ] | [ ]
f64.ceil | Ceil | | | [ ] | [ ]
f32.floor | Floor | | | [ ] | [ ]
f64.floor | Floor | | | [ ] | [ ]
f32.trunc | Trunc | | | [ ] | [ ]
f64.trunc | Trunc | | | [ ] | [ ]
f32.nearest | Nearest | | | [ ] | [ ]
f64.nearest | Nearest || | [ ] | [ ]
f32.abs | Fabs | | | [ ] | [ ]
f64.abs | Fabs | | | [ ] | [ ]
f32.neg | Fneg | | | [ ] | [ ]
f64.neg | Fneg | | | [ ] | [ ]
f32.copysign | Fcopysign |@jlb6740 | #1837 | [x ] | [ ]
f64.copysign | Fcopysign | | | [ ] | [ ]Other Related Clif Instruction
Clif Instruction | How Used | Planned Start | Patch Pushed | Patch Merged | Works in Wasmtime
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @bnjbvr / @jlb6740 (flt) |#1915, #1862| [ ] | [ ]
Load | trampoline | @bnjbvr / @jllb6740 (flt) |#1915, #1932| [ ] | [ ]
Call | | @bnjbvr | | [ ] | [ ]
CallIndirect | trampoline |@bnjbvr | | [ ] | [ ]
StackStore | | | | [ ] | [ ]
StackAddr| | @bnjbvr | | [ ] | [ ]
StackLoad | | | | [ ] | [ ]
Select | | @bnjbvr | | [ ] | [ ]
Trap/DebugTrap | trap handling | @bnjbvr | | |
Band/Bor | | @bnjbvr | | |
BranchTable | | @bnjbvr | | |
jlb6740 edited Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Planned Start | Patch Pushed | Patch Merged | Comments
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | #1665 | [x] |
f64.add | Fadd | | | [] |
f32.sub | Fsub |@jlb6740 | #1665 | [x] |
f64.sub | Fsub | | | [ ] |
f32.mul | Fmul |@jlb6740 | #1797 | [x] |
f64.mul | Fmul | | | [ ] |
f32.div | Fdiv |@jlb6740 | #1797 | [x] |
f64.div | Fdiv | | | [ ] |
f32.sqrt | Sqrt | | | [ ] |
f64.sqrt | Sqrt | | | [ ] |
f32.min | Fmin |@jlb6740 | | [ ] |
f64.min | Fmin | | | [ ] |
f32.max | Fmax | @jlb6740 | | [ ] |
f64.max | Fmax | | | [ ] |
f32.ceil | Ceil | | | [ ] |
f64.ceil | Ceil | | | [ ] |
f32.floor | Floor | | | [ ] |
f64.floor | Floor | | | [ ] |
f32.trunc | Trunc | | | [ ] |
f64.trunc | Trunc | | | [ ] |
f32.nearest | Nearest | | | [ ] |
f64.nearest | Nearest || | [ ] |
f32.abs | Fabs | | | [ ] |
f64.abs | Fabs | | | [ ] |
f32.neg | Fneg | | | [ ] |
f64.neg | Fneg | | | [ ] |
f32.copysign | Fcopysign |@jlb6740 | #1837 | [x ] |
f64.copysign | Fcopysign | | | [ ] |Other Related Clif Instruction
Clif Instruction | How Used | Planned Start | Patch Pushed | Patch Merged | Comments
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @bnjbvr / @jlb6740 (flt) |#1915, #1862| [ ] |
Load | trampoline | @bnjbvr / @jllb6740 (flt) |#1915, #1932| [ ] |
Call | | @bnjbvr | | [ ] |
CallIndirect | trampoline |@bnjbvr | | [ ] |
StackStore | | | | [ ] |
StackAddr| | @bnjbvr | | [ ] |
StackLoad | | | | [ ] |
Select | | @bnjbvr | | [ ] |
Trap/DebugTrap | trap handling | @bnjbvr | | |
Band/Bor | | @bnjbvr | | |
BranchTable | | @bnjbvr | | |
jlb6740 edited Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Planned Start | Patch Pushed | Patch Merged | Comments
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | #1665 | [x] |
f64.add | Fadd | | | [] |
f32.sub | Fsub |@jlb6740 | #1665 | [x] |
f64.sub | Fsub | | | [ ] |
f32.mul | Fmul |@jlb6740 | #1797 | [x] |
f64.mul | Fmul | | | [ ] |
f32.div | Fdiv |@jlb6740 | #1797 | [x] |
f64.div | Fdiv | | | [ ] |
f32.sqrt | Sqrt | | | [ ] |
f64.sqrt | Sqrt | | | [ ] |
f32.min | Fmin |@jlb6740 | | [ ] |
f64.min | Fmin | | | [ ] |
f32.max | Fmax | @jlb6740 | | [ ] |
f64.max | Fmax | | | [ ] |
f32.ceil | Ceil | | | [ ] |
f64.ceil | Ceil | | | [ ] |
f32.floor | Floor | | | [ ] |
f64.floor | Floor | | | [ ] |
f32.trunc | Trunc | | | [ ] |
f64.trunc | Trunc | | | [ ] |
f32.nearest | Nearest | | | [ ] |
f64.nearest | Nearest || | [ ] |
f32.abs | Fabs | | | [ ] |
f64.abs | Fabs | | | [ ] |
f32.neg | Fneg | | | [ ] |
f64.neg | Fneg | | | [ ] |
f32.copysign | Fcopysign |@jlb6740 | #1837 | [x ] |
f64.copysign | Fcopysign | | | [ ] |Other Related Clif Instruction
Clif Instruction | How Used | Planned Start | Patch Pushed | Patch Merged | Comments
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @bnjbvr / @jlb6740 (flt) |#1915, #1862| [ ] |
Load | trampoline | @bnjbvr / @jlb6740 (flt) |#1915, #1932| [ ] |
Call | | @bnjbvr | | [ ] |
CallIndirect | trampoline |@bnjbvr | | [ ] |
StackStore | | | | [ ] |
StackAddr| | @bnjbvr | | [ ] |
StackLoad | | | | [ ] |
Select | | @bnjbvr | | [ ] |
Trap/DebugTrap | trap handling | @bnjbvr | | |
Band/Bor | | @bnjbvr | | |
BranchTable | | @bnjbvr | | |
jlb6740 commented on Issue #1857:
Fwiw, I've updated the table again; I plan to implement all the integer + control flow opcodes, so if somebody wants to help with those, let's sync :-)
Currently I am looking at the next flt, most likely min/max but with example I'm sure I could help here.
bnjbvr labeled Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Planned Start | Patch Pushed | Patch Merged | Comments
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | #1665 | [x] |
f64.add | Fadd | | | [] |
f32.sub | Fsub |@jlb6740 | #1665 | [x] |
f64.sub | Fsub | | | [ ] |
f32.mul | Fmul |@jlb6740 | #1797 | [x] |
f64.mul | Fmul | | | [ ] |
f32.div | Fdiv |@jlb6740 | #1797 | [x] |
f64.div | Fdiv | | | [ ] |
f32.sqrt | Sqrt | | | [ ] |
f64.sqrt | Sqrt | | | [ ] |
f32.min | Fmin |@jlb6740 | | [ ] |
f64.min | Fmin | | | [ ] |
f32.max | Fmax | @jlb6740 | | [ ] |
f64.max | Fmax | | | [ ] |
f32.ceil | Ceil | | | [ ] |
f64.ceil | Ceil | | | [ ] |
f32.floor | Floor | | | [ ] |
f64.floor | Floor | | | [ ] |
f32.trunc | Trunc | | | [ ] |
f64.trunc | Trunc | | | [ ] |
f32.nearest | Nearest | | | [ ] |
f64.nearest | Nearest || | [ ] |
f32.abs | Fabs | | | [ ] |
f64.abs | Fabs | | | [ ] |
f32.neg | Fneg | | | [ ] |
f64.neg | Fneg | | | [ ] |
f32.copysign | Fcopysign |@jlb6740 | #1837 | [x ] |
f64.copysign | Fcopysign | | | [ ] |Other Related Clif Instruction
Clif Instruction | How Used | Planned Start | Patch Pushed | Patch Merged | Comments
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @bnjbvr / @jlb6740 (flt) |#1915, #1862| [ ] |
Load | trampoline | @bnjbvr / @jlb6740 (flt) |#1915, #1932| [ ] |
Call | | @bnjbvr | | [ ] |
CallIndirect | trampoline |@bnjbvr | | [ ] |
StackStore | | | | [ ] |
StackAddr| | @bnjbvr | | [ ] |
StackLoad | | | | [ ] |
Select | | @bnjbvr | | [ ] |
Trap/DebugTrap | trap handling | @bnjbvr | | |
Band/Bor | | @bnjbvr | | |
BranchTable | | @bnjbvr | | |
github-actions[bot] commented on Issue #1857:
Subscribe to Label Action
cc @bnjbvr
<details>
This issue or pull request has been labeled: "cranelift"Thus the following users have been cc'd because of the following labels:
- bnjbvr: cranelift
To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.
Learn more.
</details>
bnjbvr commented on Issue #1857:
I've started implementing FP support in #2004, and plan to add the following (unless somebody beats me to it :-)) : Fcmp, Bitcast, float cmove, FCvtFromSint.
bnjbvr edited a comment on Issue #1857:
I've started implementing FP support in #2004, and plan to add the following (unless somebody beats me to it :-)) : Fcmp, Bitcast, float cmove, FCvtFromSint.
[edit] updated the initial comment table
bnjbvr edited a comment on Issue #1857:
I've started implementing FP support in #2004, and plan to add the following (unless somebody beats me to it :-)) : Fcmp, Bitcast, float cmove, FCvtFromSint.
jlb6740 commented on Issue #1857:
I've started implementing FP support in #2004, and plan to add the following (unless somebody beats me to it :-)) : Fcmp, Bitcast, float cmove, FCvtFromSint.
Note I've submitted a start to Fcmp here: https://github.com/bytecodealliance/wasmtime/pull/2011
Also started on Bitcast.
bnjbvr commented on Issue #1857:
I'm done with float cmove; my planned next steps should be, in this order:
- fcvt_to_sint
- fcvt_to_uint
- fabs
- fneg
- floor (and probably the few other friends ceil etc.)
bnjbvr commented on Issue #1857:
I've done all of the above, and there might not be a lot remaining, so I'm happy to pick up all the remaining opcodes required for the wasm mvp support! There might be small subtle bugs in the integer support, so that'll be my next task, unless somebody found them before i get to it.
jlb6740 commented on Issue #1857:
@Bnjbvr Sorry I've blinked and now you've moved much faster than me on these implementations. I didn't see a PR for those you listed? I'd like to contribute to at least a few more of what's left. I started Fmin and Fmax a while ago but abandoned them ... can try to add those again if you haven't started?
Really not much FP remaining but I can help on what is there or other int related ones. Just doing a comparison with ARM this is what I see left where probably over half are nops and or are Vector/SIMD related.
// Probably need some kind of implementation
Opcode::BConst
Opcode::Null
Opcode::UaddSat
Opcode::SaddSat
Opcode::UsubSat
Opcode::SsubSat
Opcode::Ineg
Opcode::Bnot
Opcode::BandNot
Opcode::BorNot
Opcode::BxorNot
Opcode::Bitrev
Opcode::Cls
Opcode::Sload8x8
Opcode::Uload8x8
Opcode::Sload16x4
Opcode::Uload16x4
Opcode::Sload32x2
Opcode::Uload32x2
Opcode::ConstAddr
Opcode::Nop // Trivial
Opcode::Bitselect
Opcode::Trueif
Opcode::Trueff
Opcode::IsNull
Opcode::IsInvalid
Opcode::Copy
Opcode::Bint
Opcode::Bmask
Opcode::Debugtrap
Opcode::Trapif
Opcode::Trapff
Opcode::Safepoint
Opcode::Brif
Opcode::Brff
Opcode::IndirectJumpTableBr
Opcode::BrTable
Opcode::Vconst
Opcode::RawBitcast
Opcode::Extractlane
Opcode::Splat
Opcode::VanyTrue
Opcode::VallTrue
Opcode::Shuffle
Opcode::Vsplit
Opcode::Vconcat
Opcode::Vselect
Opcode::Insertlane
Opcode::ScalarToVector
Opcode::Swizzle
Opcode::Uload8x8Complex
Opcode::Sload8x8Complex
Opcode::Uload16x4Complex
Opcode::Sload16x4Complex
Opcode::Uload32x2Complex
Opcode::Sload32x2Complex
Opcode::Isplit
Opcode::Iconcat
Opcode::Imax
Opcode::Umax
Opcode::Umin
Opcode::Imin
Opcode::Fmin
Opcode::Fmax
Opcode::Ceil
Opcode::Floor
Opcode::Trunc
Opcode::Nearest
Opcode::Fma
Opcode::FcvtFromUint
Opcode::FcvtFromSint
Opcode::FcvtToUintSat
Opcode::FcvtToSintSat
Opcode::IaddIfcout // Why implemented for AArch64 but should not appear for x64?
Opcode::IcmpImm
Opcode::IfcmpImm
Opcode::DummySargT
Opcode::Iabs
Opcode::AvgRound
Opcode::Snarrow
Opcode::Unarrow
Opcode::SwidenLow
Opcode::SwidenHigh
Opcode::UwidenLow
Opcode::UwidenHigh
Opcode::TlsValue// Likely not used (legalization, etc)
Opcode::StackLoad
Opcode::StackStore
Opcode::TableAddr
Opcode::Ifcmp
Opcode::Ffcmp
Opcode::JumpTableEntry
Opcode::JumpTableBase
Opcode::Trapz
Opcode::Trapnz
Opcode::ResumableTrapnz
Opcode::GlobalValue
Opcode::Spill
Opcode::Fill
Opcode::FillNop
Opcode::Regmove
Opcode::CopySpecial
Opcode::CopyToSsa
Opcode::CopyNop
Opcode::AdjustSpDown
Opcode::AdjustSpUpImm
Opcode::AdjustSpDownImm
Opcode::IfcmpSp
Opcode::Regspill
Opcode::Regfill
Opcode::Vconst// Known TODOs
Opcode::F64const
Opcode::F32const
bnjbvr commented on Issue #1857:
No worries! I'll open the PR today, so we can sync better. I haven't tested using Wasmtime yet, so more work might be needed for this, and help would be appreciated.
Opcode::IaddIfcout // Why implemented for AArch64 but should not appear for x64?
Probably an outdated comment in x64; it might happen if the cranelift user requested explicit bounds checks, if i remember correctly.
jlb6740 commented on Issue #1857:
No worries! I'll open the PR today, so we can sync better. I haven't tested using Wasmtime yet, so more work might be needed for this, and help would be appreciated.
Opcode::IaddIfcout // Why implemented for AArch64 but should not appear for x64?
Probably an outdated comment in x64; it might happen if the cranelift user requested explicit bounds checks, if i remember correctly.
Hi .. no sorry, that was my comment. There is a case for it in X64 that says should not appear,
but in AArch64 it is implemented:
Not familiar with this opcode but I haven't seen cases where there needed to be an AArch64 implementation but not X64.
jlb6740 commented on Issue #1857:
Obsolete
jlb6740 closed Issue #1857:
Wasm instructions
Wasm Instruction | Primary Clif | Planned Start | Patch Pushed | Patch Merged | Comments
------------ | ------------- | ------------- | ------------- | ------------- | -------------
f32.add | Fadd |@jlb6740 | #1665 | [x] |
f64.add | Fadd | | | [] |
f32.sub | Fsub |@jlb6740 | #1665 | [x] |
f64.sub | Fsub | | | [ ] |
f32.mul | Fmul |@jlb6740 | #1797 | [x] |
f64.mul | Fmul | | | [ ] |
f32.div | Fdiv |@jlb6740 | #1797 | [x] |
f64.div | Fdiv | | | [ ] |
f32.sqrt | Sqrt | | | [ ] |
f64.sqrt | Sqrt | | | [ ] |
f32.min | Fmin |@jlb6740 | | [ ] |
f64.min | Fmin | | | [ ] |
f32.max | Fmax | @jlb6740 | | [ ] |
f64.max | Fmax | | | [ ] |
f32.ceil | Ceil | | | [ ] |
f64.ceil | Ceil | | | [ ] |
f32.floor | Floor | | | [ ] |
f64.floor | Floor | | | [ ] |
f32.trunc | Trunc | | | [ ] |
f64.trunc | Trunc | | | [ ] |
f32.nearest | Nearest | | | [ ] |
f64.nearest | Nearest || | [ ] |
f32.abs | Fabs | | | [ ] |
f64.abs | Fabs | | | [ ] |
f32.neg | Fneg | | | [ ] |
f64.neg | Fneg | | | [ ] |
f32.copysign | Fcopysign |@jlb6740 | #1837 | [x ] |
f64.copysign | Fcopysign | | | [ ] |Other Related Clif Instruction
Clif Instruction | How Used | Planned Start | Patch Pushed | Patch Merged | Comments
------------ | ------------ | ------------- | ------------- | ------------- | -------------
Store | trampoline | @bnjbvr / @jlb6740 (flt) |#1915, #1862| [ ] |
Load | trampoline | @bnjbvr / @jlb6740 (flt) |#1915, #1932| [ ] |
Call | | @bnjbvr | | [ ] |
CallIndirect | trampoline |@bnjbvr | | [ ] |
StackStore | | | | [ ] |
StackAddr| | @bnjbvr | | [ ] |
StackLoad | | | | [ ] |
Select | | @bnjbvr | | [ ] |
Trap/DebugTrap | trap handling | @bnjbvr | | |
Band/Bor | | @bnjbvr | | |
BranchTable | | @bnjbvr | | |
Last updated: Dec 23 2024 at 12:05 UTC