You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I did a roundup of what is supported in the interpreter and what is tested or not. Now that we have multiple people working on the interpreter this is probably a better way to keep track of what is going on an who is working on what.
Labels:
✔ - Implemented and tested for all types
🟡 - Implemented for some types (i.e. only scalar but no SIMD) / Missing some tests
❌ - Unimplemented
Hey,
I did a roundup of what is supported in the interpreter and what is tested or not. Now that we have multiple people working on the interpreter this is probably a better way to keep track of what is going on an who is working on what.
Labels:
✔ - Implemented and tested for all types
🟡 - Implemented for some types (i.e. only scalar but no SIMD) / Missing some tests
❌ - Unimplemented
Opcodes
Opcode::Jump
- ✔Opcode::Brz
- 🟡Opcode::Brnz
- 🟡Opcode::BrIcmp
- 🟡Opcode::BrTable
- ✔Opcode::Trap
- 🟡Opcode::Debugtrap
- 🟡Opcode::ResumableTrap
- 🟡Opcode::Trapz
- 🟡Opcode::Trapnz
- 🟡Opcode::ResumableTrapnz
- 🟡Opcode::Return
- ✔Opcode::Call
- ✔Opcode::CallIndirect
- ❌Opcode::FuncAddr
- ❌Opcode::Load
- ✔Opcode::Uload8
- 🟡Opcode::Sload8
- 🟡Opcode::Uload16
- 🟡Opcode::Sload16
- 🟡Opcode::Uload32
- 🟡Opcode::Sload32
- 🟡Opcode::Uload8x8
- ❌Opcode::Sload8x8
- ❌Opcode::Uload16x4
- ❌Opcode::Sload16x4
- ❌Opcode::Uload32x2
- ❌Opcode::Sload32x2
- ❌Opcode::Store
- ✔Opcode::Istore8
- 🟡Opcode::Istore16
- 🟡Opcode::Istore32
- 🟡Opcode::StackLoad
- ✔Opcode::StackStore
- ✔Opcode::StackAddr
- ✔Opcode::DynamicStackAddr
- ❌Opcode::DynamicStackLoad
- ❌Opcode::DynamicStackStore
- ❌Opcode::GlobalValue
- ✔Opcode::SymbolValue
- ❌Opcode::TlsValue
- ❌Opcode::HeapAddr
- ✔Opcode::GetPinnedReg
- ✔Opcode::SetPinnedReg
- ✔Opcode::TableAddr
- ✔Opcode::Iconst
- ✔Opcode::F32const
- ✔Opcode::F64const
- ✔Opcode::Vconst
- ✔Opcode::Null
- ❌Opcode::Nop
- 🟡Opcode::Select
- 🟡Opcode::Bitselect
- 🟡Opcode::Copy
- 🟡Opcode::Icmp
- ✔Opcode::Smin
- 🟡Opcode::Umin
- 🟡Opcode::Smax
- 🟡Opcode::Umax
- 🟡Opcode::AvgRound
- 🟡Opcode::Iadd
- ✔Opcode::UaddSat
- ✔Opcode::SaddSat
- ✔Opcode::Isub
- ✔Opcode::UsubSat
- ✔Opcode::SsubSat
- ✔Opcode::Ineg
- 🟡Opcode::Iabs
- 🟡Opcode::Imul
- ✔Opcode::Umulhi
- ✔Opcode::Smulhi
- ✔Opcode::Udiv
- ✔Opcode::Sdiv
- ✔Opcode::Urem
- ✔Opcode::Srem
- ✔Opcode::IaddCin
- 🟡Opcode::IaddCout
- 🟡Opcode::IaddCarry
- 🟡Opcode::IsubBin
- 🟡Opcode::IsubBout
- 🟡Opcode::IsubBorrow
- 🟡Opcode::Band
- 🟡Opcode::Bor
- 🟡Opcode::Bxor
- 🟡Opcode::Bnot
- 🟡Opcode::BandNot
- 🟡Opcode::BorNot
- 🟡Opcode::BxorNot
- 🟡Opcode::Rotl
- ✔Opcode::Rotr
- ✔Opcode::Ishl
- ✔Opcode::Ushr
- ✔Opcode::Sshr
- 🟡Opcode::Bitrev
- 🟡Opcode::Clz
- 🟡Opcode::Cls
- 🟡Opcode::Ctz
- 🟡Opcode::Popcnt
- 🟡Opcode::Fcmp
- 🟡Opcode::Fadd
- 🟡Opcode::Fsub
- 🟡Opcode::Fmul
- 🟡Opcode::Fdiv
- 🟡Opcode::Sqrt
- 🟡Opcode::Fma
- 🟡Opcode::Fneg
- 🟡Opcode::Fabs
- 🟡Opcode::Fcopysign
- 🟡Opcode::Fmin
- 🟡Opcode::FminPseudo
- 🟡Opcode::Fmax
- 🟡Opcode::FmaxPseudo
- 🟡Opcode::Ceil
- 🟡Opcode::Floor
- 🟡Opcode::Trunc
- 🟡Opcode::Nearest
- 🟡Opcode::IsNull
- ❌Opcode::IsInvalid
- ❌Opcode::Bitcast
- 🟡Opcode::ScalarToVector
- 🟡Opcode::Ireduce
- ✔Opcode::Snarrow
- ✔Opcode::Unarrow
- ✔Opcode::Uunarrow
- ✔Opcode::Bmask
- ✔Opcode::Sextend
- ✔Opcode::Uextend
- ✔Opcode::Fpromote
- 🟡Opcode::Fdemote
- 🟡Opcode::Shuffle
- ✔Opcode::Swizzle
- 🟡Opcode::Splat
- 🟡Opcode::Insertlane
- 🟡Opcode::Extractlane
- 🟡Opcode::VhighBits
- ✔Opcode::Vsplit
- ❌Opcode::Vconcat
- ❌Opcode::Vselect
- ✔Opcode::VanyTrue
- ✔Opcode::VallTrue
- ✔Opcode::SwidenLow
- ✔Opcode::SwidenHigh
- ✔Opcode::UwidenLow
- ✔Opcode::UwidenHigh
- ✔Opcode::FcvtToUint
- ✔ (Interpreter: Implement floating point conversions #4884)Opcode::FcvtToUintSat
- ✔ (Interpreter: Implement floating point conversions #4884)Opcode::FcvtToSint
- ✔ (Interpreter: Implement floating point conversions #4884)Opcode::FcvtToSintSat
- ✔ (Interpreter: Implement floating point conversions #4884)Opcode::FcvtFromUint
- ✔ (Interpreter: Implement floating point conversions #4884)Opcode::FcvtFromSint
- ✔ (Interpreter: Implement floating point conversions #4884)Opcode::FcvtLowFromSint
- ✔ (Interpreter: Implement floating point conversions #4884)Opcode::FvpromoteLow
- ✔ (Interpreter: Implement floating point conversions #4884)Opcode::Fvdemote
- ✔ (Interpreter: Implement floating point conversions #4884)Opcode::Isplit
- ✔Opcode::Iconcat
- ✔Opcode::AtomicRmw
- ✔Opcode::AtomicCas
- ✔Opcode::AtomicLoad
- ✔Opcode::AtomicStore
- ✔Opcode::Fence
- ✔Opcode::WideningPairwiseDotProductS
- ✔Opcode::SqmulRoundSat
- 🟡Opcode::IaddPairwise
- ✔Opcode::ExtractVector
- ❌Opcode::GetFramePointer
- ❌Opcode::GetStackPointer
- ❌Opcode::GetReturnAddress
- ❌Op+Imm
These may be going away, see: #4721
Opcode::IaddImm
- 🟡Opcode::ImulImm
- 🟡Opcode::UdivImm
- 🟡Opcode::SdivImm
- 🟡Opcode::UremImm
- 🟡Opcode::SremImm
- 🟡Opcode::IrsubImm
- 🟡Opcode::BandImm
- 🟡Opcode::BorImm
- 🟡Opcode::BxorImm
- 🟡Opcode::RotlImm
- 🟡Opcode::RotrImm
- 🟡Opcode::IshlImm
- 🟡Opcode::UshrImm
- 🟡Opcode::SshrImm
- 🟡Opcode::IcmpImm
- 🟡The text was updated successfully, but these errors were encountered: