mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 15:38:10 +00:00
LibWasm: Implement a few SIMD instructions
This commit is contained in:
parent
5f013e5374
commit
3c176bafee
8 changed files with 356 additions and 11 deletions
|
@ -50,10 +50,22 @@ protected:
|
|||
void load_and_push(Configuration&, Instruction const&);
|
||||
template<typename PopT, typename StoreT>
|
||||
void pop_and_store(Configuration&, Instruction const&);
|
||||
template<size_t M, size_t N, template<typename> typename SetSign>
|
||||
void load_and_push_mxn(Configuration&, Instruction const&);
|
||||
template<size_t M>
|
||||
void load_and_push_m_splat(Configuration&, Instruction const&);
|
||||
template<size_t M, template<size_t> typename NativeType>
|
||||
void set_top_m_splat(Configuration&, NativeType<M>);
|
||||
template<size_t M, template<size_t> typename NativeType>
|
||||
void pop_and_push_m_splat(Configuration&, Instruction const&);
|
||||
template<typename M, template<typename> typename SetSign, typename VectorType = Native128ByteVectorOf<M, SetSign>>
|
||||
Optional<VectorType> pop_vector(Configuration&);
|
||||
template<typename M, template<typename> typename SetSign, typename VectorType = Native128ByteVectorOf<M, SetSign>>
|
||||
Optional<VectorType> peek_vector(Configuration&);
|
||||
void store_to_memory(Configuration&, Instruction const&, ReadonlyBytes data, i32 base);
|
||||
void call_address(Configuration&, FunctionAddress);
|
||||
|
||||
template<typename PopType, typename PushType, typename Operator>
|
||||
template<typename PopTypeLHS, typename PushType, typename Operator, typename PopTypeRHS = PopTypeLHS>
|
||||
void binary_numeric_operation(Configuration&);
|
||||
|
||||
template<typename PopType, typename PushType, typename Operator>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue