diff options
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 b8907458..c8fcc6e1 100644 --- a/src/binary-reader-interp.cc +++ b/src/binary-reader-interp.cc @@ -195,6 +195,7 @@ class BinaryReaderInterp : public BinaryReaderNop { wabt::Result OnTernaryExpr(wabt::Opcode opcode) override; wabt::Result OnUnreachableExpr() override; wabt::Result EndFunctionBody(Index index) override; + wabt::Result OnSimdLaneOpExpr(wabt::Opcode opcode, uint64_t value) override; wabt::Result EndElemSegmentInitExpr(Index index) override; wabt::Result OnElemSegmentFunctionIndexCount(Index index, @@ -1179,6 +1180,14 @@ wabt::Result BinaryReaderInterp::OnTernaryExpr(wabt::Opcode opcode) { return wabt::Result::Ok; } +wabt::Result BinaryReaderInterp::OnSimdLaneOpExpr(wabt::Opcode opcode, + uint64_t value) { + CHECK_RESULT(typechecker_.OnSimdLaneOp(opcode, value)); + CHECK_RESULT(EmitOpcode(opcode)); + CHECK_RESULT(EmitI8(static_cast<uint8_t>(value))); + return wabt::Result::Ok; +} + wabt::Result BinaryReaderInterp::OnAtomicLoadExpr(Opcode opcode, uint32_t alignment_log2, Address offset) { |