diff options
author | lizhengxing <unixhaha@gmail.com> | 2018-03-15 20:46:46 -0700 |
---|---|---|
committer | Ben Smith <binjimin@gmail.com> | 2018-03-15 20:46:46 -0700 |
commit | bff679779509ab1bb0c923bc4e67cf88eaadfa42 (patch) | |
tree | 2f2c48150fad07aa1479a8a90f5540a95f318596 /src/binary-reader-interp.cc | |
parent | e31a5623815a545e57db3eb0ec3988025b1b0f0e (diff) | |
download | wabt-bff679779509ab1bb0c923bc4e67cf88eaadfa42.tar.gz wabt-bff679779509ab1bb0c923bc4e67cf88eaadfa42.tar.bz2 wabt-bff679779509ab1bb0c923bc4e67cf88eaadfa42.zip |
SIMD v8x16.shuffle implementation. (#811)
Diffstat (limited to 'src/binary-reader-interp.cc')
-rw-r--r-- | src/binary-reader-interp.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/binary-reader-interp.cc b/src/binary-reader-interp.cc index c8fcc6e1..6766ce38 100644 --- a/src/binary-reader-interp.cc +++ b/src/binary-reader-interp.cc @@ -196,6 +196,7 @@ class BinaryReaderInterp : public BinaryReaderNop { wabt::Result OnUnreachableExpr() override; wabt::Result EndFunctionBody(Index index) override; wabt::Result OnSimdLaneOpExpr(wabt::Opcode opcode, uint64_t value) override; + wabt::Result OnSimdShuffleOpExpr(wabt::Opcode opcode, v128 value) override; wabt::Result EndElemSegmentInitExpr(Index index) override; wabt::Result OnElemSegmentFunctionIndexCount(Index index, @@ -1188,6 +1189,14 @@ wabt::Result BinaryReaderInterp::OnSimdLaneOpExpr(wabt::Opcode opcode, return wabt::Result::Ok; } +wabt::Result BinaryReaderInterp::OnSimdShuffleOpExpr(wabt::Opcode opcode, + v128 value) { + CHECK_RESULT(typechecker_.OnSimdShuffleOp(opcode, value)); + CHECK_RESULT(EmitOpcode(opcode)); + CHECK_RESULT(EmitV128(value)); + return wabt::Result::Ok; +} + wabt::Result BinaryReaderInterp::OnAtomicLoadExpr(Opcode opcode, uint32_t alignment_log2, Address offset) { |