summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/binary-reader-interp.cc9
-rw-r--r--src/binary-reader-ir.cc5
-rw-r--r--src/binary-reader-logging.cc5
-rw-r--r--src/binary-reader-logging.h1
-rw-r--r--src/binary-reader-nop.h3
-rw-r--r--src/binary-reader.cc9
-rw-r--r--src/binary-reader.h3
-rw-r--r--src/binary-writer.cc6
-rw-r--r--src/c-writer.cc23
-rw-r--r--src/expr-visitor.cc5
-rw-r--r--src/expr-visitor.h2
-rw-r--r--src/interp.cc38
-rw-r--r--src/ir.cc1
-rw-r--r--src/ir.h10
-rw-r--r--src/opcode.cc1
-rw-r--r--src/opcode.def1
-rw-r--r--src/prebuilt/wast-lexer-gen.cc4769
-rw-r--r--src/token.cc1
-rw-r--r--src/token.h1
-rw-r--r--src/type-checker.cc18
-rw-r--r--src/type-checker.h1
-rw-r--r--src/validator.cc7
-rw-r--r--src/wast-lexer.cc1
-rw-r--r--src/wast-parser.cc10
-rw-r--r--src/wast-parser.h2
-rw-r--r--src/wat-writer.cc23
26 files changed, 2599 insertions, 2356 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) {
diff --git a/src/binary-reader-ir.cc b/src/binary-reader-ir.cc
index 37fd9391..c588f6a8 100644
--- a/src/binary-reader-ir.cc
+++ b/src/binary-reader-ir.cc
@@ -182,6 +182,7 @@ class BinaryReaderIR : public BinaryReaderNop {
Result OnTernaryExpr(Opcode opcode) override;
Result OnUnreachableExpr() override;
Result EndFunctionBody(Index index) override;
+ Result OnSimdLaneOpExpr(Opcode opcode, uint64_t value) override;
Result OnElemSegmentCount(Index count) override;
Result BeginElemSegment(Index index, Index table_index) override;
@@ -834,6 +835,10 @@ Result BinaryReaderIR::EndFunctionBody(Index index) {
return Result::Ok;
}
+Result BinaryReaderIR::OnSimdLaneOpExpr(Opcode opcode, uint64_t value) {
+ return AppendExpr(MakeUnique<SimdLaneOpExpr>(opcode, value));
+}
+
Result BinaryReaderIR::OnElemSegmentCount(Index count) {
WABT_TRY
module_->elem_segments.reserve(count);
diff --git a/src/binary-reader-logging.cc b/src/binary-reader-logging.cc
index c952bf57..27b4f18f 100644
--- a/src/binary-reader-logging.cc
+++ b/src/binary-reader-logging.cc
@@ -353,6 +353,11 @@ Result BinaryReaderLogging::OnTryExpr(Index num_types, Type* sig_types) {
return reader_->OnTryExpr(num_types, sig_types);
}
+Result BinaryReaderLogging::OnSimdLaneOpExpr(Opcode opcode, uint64_t value) {
+ LOGF("OnSimdLaneOpExpr (lane: %" PRIu64 ")\n", value);
+ return reader_->OnSimdLaneOpExpr(opcode, value);
+}
+
Result BinaryReaderLogging::OnDataSegmentData(Index index,
const void* data,
Address size) {
diff --git a/src/binary-reader-logging.h b/src/binary-reader-logging.h
index dee30fd3..408e5428 100644
--- a/src/binary-reader-logging.h
+++ b/src/binary-reader-logging.h
@@ -202,6 +202,7 @@ class BinaryReaderLogging : public BinaryReaderDelegate {
Address offset) override;
Result EndFunctionBody(Index index) override;
Result EndCodeSection() override;
+ Result OnSimdLaneOpExpr(Opcode opcode, uint64_t value) override;
Result BeginElemSection(Offset size) override;
Result OnElemSegmentCount(Index count) override;
diff --git a/src/binary-reader-nop.h b/src/binary-reader-nop.h
index b99e297a..21d0a4c8 100644
--- a/src/binary-reader-nop.h
+++ b/src/binary-reader-nop.h
@@ -268,6 +268,9 @@ class BinaryReaderNop : public BinaryReaderDelegate {
Result OnUnreachableExpr() override { return Result::Ok; }
Result EndFunctionBody(Index index) override { return Result::Ok; }
Result EndCodeSection() override { return Result::Ok; }
+ Result OnSimdLaneOpExpr(Opcode opcode, uint64_t value) override {
+ return Result::Ok;
+ }
/* Elem section */
Result BeginElemSection(Offset size) override { return Result::Ok; }
diff --git a/src/binary-reader.cc b/src/binary-reader.cc
index 555ae8ea..4f744874 100644
--- a/src/binary-reader.cc
+++ b/src/binary-reader.cc
@@ -1007,6 +1007,15 @@ Result BinaryReader::ReadFunctionBody(Offset end_offset) {
CALLBACK0(OnOpcodeBare);
break;
+ case Opcode::I8X16ExtractLaneS: {
+ ERROR_UNLESS_OPCODE_ENABLED(opcode);
+ uint8_t lane_val;
+ CHECK_RESULT(ReadU8(&lane_val, "Lane idx"));
+ CALLBACK(OnSimdLaneOpExpr, opcode, lane_val);
+ CALLBACK(OnOpcodeUint64, lane_val);
+ break;
+ }
+
case Opcode::I32TruncSF32:
case Opcode::I32TruncSF64:
case Opcode::I32TruncUF32:
diff --git a/src/binary-reader.h b/src/binary-reader.h
index 70a58ed0..35f2098d 100644
--- a/src/binary-reader.h
+++ b/src/binary-reader.h
@@ -250,6 +250,9 @@ class BinaryReaderDelegate {
virtual Result EndFunctionBody(Index index) = 0;
virtual Result EndCodeSection() = 0;
+ /* Simd instructions with Lane Imm operand*/
+ virtual Result OnSimdLaneOpExpr(Opcode opcode, uint64_t value) = 0;
+
/* Elem section */
virtual Result BeginElemSection(Offset size) = 0;
virtual Result OnElemSegmentCount(Index count) = 0;
diff --git a/src/binary-writer.cc b/src/binary-writer.cc
index b33c15b3..785dae14 100644
--- a/src/binary-writer.cc
+++ b/src/binary-writer.cc
@@ -588,6 +588,12 @@ void BinaryWriter::WriteExpr(const Func* func, const Expr* expr) {
case ExprType::Ternary:
WriteOpcode(stream_, cast<TernaryExpr>(expr)->opcode);
break;
+ case ExprType::SimdLaneOp: {
+ const Opcode opcode = cast<SimdLaneOpExpr>(expr)->opcode;
+ WriteOpcode(stream_, opcode);
+ stream_->WriteU8(static_cast<uint8_t>(cast<SimdLaneOpExpr>(expr)->val), "Simd Lane literal");
+ break;
+ }
case ExprType::Unreachable:
WriteOpcode(stream_, Opcode::Unreachable);
break;
diff --git a/src/c-writer.cc b/src/c-writer.cc
index 9fe3e831..43b121be 100644
--- a/src/c-writer.cc
+++ b/src/c-writer.cc
@@ -263,6 +263,7 @@ class CWriter {
void Write(const StoreExpr&);
void Write(const UnaryExpr&);
void Write(const TernaryExpr&);
+ void Write(const SimdLaneOpExpr&);
const WriteCOptions* options_ = nullptr;
const Module* module_ = nullptr;
@@ -1619,6 +1620,11 @@ void CWriter::Write(const ExprList& exprs) {
Write(*cast<TernaryExpr>(&expr));
break;
+ case ExprType::SimdLaneOp: {
+ Write(*cast<SimdLaneOpExpr>(&expr));
+ break;
+ }
+
case ExprType::Unreachable:
Write("UNREACHABLE;", Newline());
return;
@@ -2172,6 +2178,23 @@ void CWriter::Write(const TernaryExpr& expr) {
}
}
+void CWriter::Write(const SimdLaneOpExpr& expr) {
+ Type result_type = expr.opcode.GetResultType();
+
+ switch (expr.opcode) {
+ case Opcode::I8X16ExtractLaneS: {
+ Write(StackVar(0, result_type), " = ", expr.opcode.GetName(), "(" ,
+ StackVar(0),", lane Imm: ", expr.val, ");", Newline());
+ DropTypes(1);
+ break;
+ }
+ default:
+ WABT_UNREACHABLE;
+ }
+
+ PushType(result_type);
+}
+
void CWriter::WriteCHeader() {
stream_ = h_stream_;
std::string guard = GenerateHeaderGuard();
diff --git a/src/expr-visitor.cc b/src/expr-visitor.cc
index ebab230a..cec10dc2 100644
--- a/src/expr-visitor.cc
+++ b/src/expr-visitor.cc
@@ -326,6 +326,11 @@ Result ExprVisitor::HandleDefaultState(Expr* expr) {
CHECK_RESULT(delegate_->OnTernaryExpr(cast<TernaryExpr>(expr)));
break;
+ case ExprType::SimdLaneOp: {
+ CHECK_RESULT(delegate_->OnSimdLaneOpExpr(cast<SimdLaneOpExpr>(expr)));
+ break;
+ }
+
case ExprType::Unreachable:
CHECK_RESULT(delegate_->OnUnreachableExpr(cast<UnreachableExpr>(expr)));
break;
diff --git a/src/expr-visitor.h b/src/expr-visitor.h
index 65ae5372..5163ac7c 100644
--- a/src/expr-visitor.h
+++ b/src/expr-visitor.h
@@ -112,6 +112,7 @@ class ExprVisitor::Delegate {
virtual Result OnAtomicRmwExpr(AtomicRmwExpr*) = 0;
virtual Result OnAtomicRmwCmpxchgExpr(AtomicRmwCmpxchgExpr*) = 0;
virtual Result OnTernaryExpr(TernaryExpr*) = 0;
+ virtual Result OnSimdLaneOpExpr(SimdLaneOpExpr*) = 0;
};
class ExprVisitor::DelegateNop : public ExprVisitor::Delegate {
@@ -164,6 +165,7 @@ class ExprVisitor::DelegateNop : public ExprVisitor::Delegate {
return Result::Ok;
}
Result OnTernaryExpr(TernaryExpr*) override { return Result::Ok; }
+ Result OnSimdLaneOpExpr(SimdLaneOpExpr*) override { return Result::Ok; }
};
} // namespace wabt
diff --git a/src/interp.cc b/src/interp.cc
index ef5a1a2a..ddfa8cb6 100644
--- a/src/interp.cc
+++ b/src/interp.cc
@@ -269,6 +269,8 @@ template <>
float FromRep<float>(uint32_t x) { return Bitcast<float>(x); }
template <>
double FromRep<double>(uint64_t x) { return Bitcast<double>(x); }
+template <>
+v128 FromRep<v128>(v128 x) { return Bitcast<v128>(x); }
template <typename T>
struct FloatTraits;
@@ -1358,6 +1360,24 @@ ValueTypeRep<T> SimdSplat(V lane_data) {
return ToRep(Bitcast<T>(simd_data));
}
+// Simd instructions with Lane operand.
+// value: input v128 value.
+// typename T: lane data type.
+template <typename R, typename V, typename T>
+ValueTypeRep<R> SimdExtractLane(V value, uint32_t laneidx) {
+ // Calculate how many Lanes according to input lane data type.
+ constexpr int32_t lanes = sizeof(V)/sizeof(T);
+
+ // Define SIMD data array for Simd add by Lanes.
+ T simd_data_0[lanes];
+
+ // Convert intput SIMD data to array.
+ memcpy(simd_data_0, &value, sizeof(V));
+
+ return ToRep(static_cast<R>(simd_data_0[laneidx]));
+}
+
+
bool Environment::FuncSignaturesAreEqual(Index sig_index_0,
Index sig_index_1) const {
if (sig_index_0 == sig_index_1) {
@@ -2414,6 +2434,13 @@ Result Thread::Run(int num_instructions) {
break;
}
+ case Opcode::I8X16ExtractLaneS: {
+ v128 lane_val = static_cast<v128>(Pop<v128>());
+ uint32_t lane_idx = ReadU8(&pc);
+ CHECK_TRAP(PushRep<int32_t>(SimdExtractLane<int32_t, v128, int8_t>(lane_val, lane_idx)));
+ break;
+ }
+
case Opcode::I8X16Add:
CHECK_TRAP(SimdBinop<v128, uint8_t>(Add<uint32_t>));
break;
@@ -3475,6 +3502,12 @@ void Thread::Trace(Stream* stream) {
Pick(1).v128_bits.v[3]);
break;
+ case Opcode::I8X16ExtractLaneS: {
+ stream->Writef("%s : LaneIdx %d From $0x%08x 0x%08x 0x%08x 0x%08x \n", opcode.GetName(), ReadU8At(pc),\
+ Top().v128_bits.v[0], Top().v128_bits.v[1], Top().v128_bits.v[2], Top().v128_bits.v[3]);
+ break;
+ }
+
case Opcode::I8X16Add:
case Opcode::I16X8Add:
case Opcode::I32X4Add:
@@ -4063,6 +4096,11 @@ void Environment::Disassemble(Stream* stream,
stream->Writef("%s %%[-1]\n", opcode.GetName());
break;
+ case Opcode::I8X16ExtractLaneS: {
+ stream->Writef("%s (Lane idx %d) \n", opcode.GetName(),ReadU8(&pc));
+ break;
+ }
+
case Opcode::GrowMemory: {
Index memory_index = ReadU32(&pc);
stream->Writef("%s $%" PRIindex ":%%[-1]\n", opcode.GetName(),
diff --git a/src/ir.cc b/src/ir.cc
index 29efd01d..c6faf2e2 100644
--- a/src/ir.cc
+++ b/src/ir.cc
@@ -55,6 +55,7 @@ const char* ExprTypeName[] = {
"Select",
"SetGlobal",
"SetLocal",
+ "SimdLaneOp",
"Store",
"TeeLocal",
"Ternary",
diff --git a/src/ir.h b/src/ir.h
index 7ca56fa5..17f4a55d 100644
--- a/src/ir.h
+++ b/src/ir.h
@@ -187,6 +187,7 @@ enum class ExprType {
Select,
SetGlobal,
SetLocal,
+ SimdLaneOp,
Store,
TeeLocal,
Ternary,
@@ -266,6 +267,15 @@ typedef OpcodeExpr<ExprType::Convert> ConvertExpr;
typedef OpcodeExpr<ExprType::Unary> UnaryExpr;
typedef OpcodeExpr<ExprType::Ternary> TernaryExpr;
+class SimdLaneOpExpr : public ExprMixin<ExprType::SimdLaneOp> {
+ public:
+ SimdLaneOpExpr(Opcode opcode, uint64_t val, const Location& loc = Location())
+ : ExprMixin<ExprType::SimdLaneOp>(loc), opcode(opcode), val(val) {}
+
+ Opcode opcode;
+ uint64_t val;
+};
+
template <ExprType TypeEnum>
class VarExpr : public ExprMixin<TypeEnum> {
public:
diff --git a/src/opcode.cc b/src/opcode.cc
index e00d383f..6a15de42 100644
--- a/src/opcode.cc
+++ b/src/opcode.cc
@@ -191,6 +191,7 @@ bool Opcode::IsEnabled(const Features& features) const {
case Opcode::I64X2Splat:
case Opcode::F32X4Splat:
case Opcode::F64X2Splat:
+ case Opcode::I8X16ExtractLaneS:
case Opcode::I8X16Add:
case Opcode::I16X8Add:
case Opcode::I32X4Add:
diff --git a/src/opcode.def b/src/opcode.def
index 9250d7e9..56a352c5 100644
--- a/src/opcode.def
+++ b/src/opcode.def
@@ -245,6 +245,7 @@ WABT_OPCODE(V128, I32, ___, ___, 0, 0xfd, 0x05, I32X4Splat, "i32x4.splat")
WABT_OPCODE(V128, I64, ___, ___, 0, 0xfd, 0x06, I64X2Splat, "i64x2.splat")
WABT_OPCODE(V128, F32, ___, ___, 0, 0xfd, 0x07, F32X4Splat, "f32x4.splat")
WABT_OPCODE(V128, F64, ___, ___, 0, 0xfd, 0x08, F64X2Splat, "f64x2.splat")
+WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x09, I8X16ExtractLaneS, "i8x16.extract_lane_s")
WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x18, I8X16Add, "i8x16.add")
WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x19, I16X8Add, "i16x8.add")
WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1a, I32X4Add, "i32x4.add")
diff --git a/src/prebuilt/wast-lexer-gen.cc b/src/prebuilt/wast-lexer-gen.cc
index ec74c3de..012104f0 100644
--- a/src/prebuilt/wast-lexer-gen.cc
+++ b/src/prebuilt/wast-lexer-gen.cc
@@ -456,12 +456,12 @@ YYCOND_BLOCK_COMMENT:
yy34:
++cursor_;
yy35:
-#line 692 "src/wast-lexer.cc"
+#line 693 "src/wast-lexer.cc"
{ continue; }
#line 462 "src/prebuilt/wast-lexer-gen.cc"
yy36:
++cursor_;
-#line 691 "src/wast-lexer.cc"
+#line 692 "src/wast-lexer.cc"
{ NEWLINE; continue; }
#line 467 "src/prebuilt/wast-lexer-gen.cc"
yy38:
@@ -475,7 +475,7 @@ yy39:
yy40:
++cursor_;
yy41:
-#line 693 "src/wast-lexer.cc"
+#line 694 "src/wast-lexer.cc"
{ MAYBE_MALFORMED_UTF8(" in block comment"); }
#line 481 "src/prebuilt/wast-lexer-gen.cc"
yy42:
@@ -510,12 +510,12 @@ yy47:
goto yy41;
yy48:
++cursor_;
-#line 686 "src/wast-lexer.cc"
+#line 687 "src/wast-lexer.cc"
{ COMMENT_NESTING++; continue; }
#line 516 "src/prebuilt/wast-lexer-gen.cc"
yy50:
++cursor_;
-#line 687 "src/wast-lexer.cc"
+#line 688 "src/wast-lexer.cc"
{ if (--COMMENT_NESTING == 0) {
BEGIN(YYCOND_i);
}
@@ -609,19 +609,19 @@ yy57:
if (yych <= 0xF4) goto yy76;
}
yy59:
-#line 684 "src/wast-lexer.cc"
+#line 685 "src/wast-lexer.cc"
{ continue; }
#line 615 "src/prebuilt/wast-lexer-gen.cc"
yy60:
++cursor_;
BEGIN(YYCOND_i);
-#line 683 "src/wast-lexer.cc"
+#line 684 "src/wast-lexer.cc"
{ NEWLINE; continue; }
#line 621 "src/prebuilt/wast-lexer-gen.cc"
yy62:
++cursor_;
yy63:
-#line 698 "src/wast-lexer.cc"
+#line 699 "src/wast-lexer.cc"
{ MAYBE_MALFORMED_UTF8(""); }
#line 627 "src/prebuilt/wast-lexer-gen.cc"
yy64:
@@ -845,7 +845,7 @@ YYCOND_i:
yy79:
++cursor_;
yy80:
-#line 697 "src/wast-lexer.cc"
+#line 698 "src/wast-lexer.cc"
{ ERROR("unexpected char"); continue; }
#line 851 "src/prebuilt/wast-lexer-gen.cc"
yy81:
@@ -855,12 +855,12 @@ yy81:
if (yybm[0+yych] & 4) {
goto yy81;
}
-#line 695 "src/wast-lexer.cc"
+#line 696 "src/wast-lexer.cc"
{ continue; }
#line 861 "src/prebuilt/wast-lexer-gen.cc"
yy84:
++cursor_;
-#line 694 "src/wast-lexer.cc"
+#line 695 "src/wast-lexer.cc"
{ NEWLINE; continue; }
#line 866 "src/prebuilt/wast-lexer-gen.cc"
yy86:
@@ -872,7 +872,7 @@ yy87:
goto yy86;
}
yy88:
-#line 696 "src/wast-lexer.cc"
+#line 697 "src/wast-lexer.cc"
{ RETURN_TEXT(Reserved); }
#line 878 "src/prebuilt/wast-lexer-gen.cc"
yy89:
@@ -1154,7 +1154,7 @@ yy120:
yy121:
++cursor_;
yy122:
-#line 698 "src/wast-lexer.cc"
+#line 699 "src/wast-lexer.cc"
{ MAYBE_MALFORMED_UTF8(""); }
#line 1160 "src/prebuilt/wast-lexer-gen.cc"
yy123:
@@ -1323,13 +1323,13 @@ yy142:
if (yych <= ';') goto yy143;
if (yych <= '}') goto yy86;
yy143:
-#line 679 "src/wast-lexer.cc"
+#line 680 "src/wast-lexer.cc"
{ RETURN_TEXT(Var); }
#line 1329 "src/prebuilt/wast-lexer-gen.cc"
yy144:
++cursor_;
BEGIN(YYCOND_BLOCK_COMMENT);
-#line 685 "src/wast-lexer.cc"
+#line 686 "src/wast-lexer.cc"
{ COMMENT_NESTING = 1; continue; }
#line 1335 "src/prebuilt/wast-lexer-gen.cc"
yy146:
@@ -1503,7 +1503,7 @@ yy156:
yy157:
++cursor_;
BEGIN(YYCOND_LINE_COMMENT);
-#line 682 "src/wast-lexer.cc"
+#line 683 "src/wast-lexer.cc"
{ continue; }
#line 1509 "src/prebuilt/wast-lexer-gen.cc"
yy159:
@@ -2067,7 +2067,7 @@ yy244:
}
}
yy245:
-#line 665 "src/wast-lexer.cc"
+#line 666 "src/wast-lexer.cc"
{ RETURN(Get); }
#line 2073 "src/prebuilt/wast-lexer-gen.cc"
yy246:
@@ -2264,7 +2264,7 @@ yy283:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 674 "src/wast-lexer.cc"
+#line 675 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Try); }
#line 2270 "src/prebuilt/wast-lexer-gen.cc"
yy285:
@@ -2464,7 +2464,7 @@ yy306:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 658 "src/wast-lexer.cc"
+#line 659 "src/wast-lexer.cc"
{ RETURN(Data); }
#line 2470 "src/prebuilt/wast-lexer-gen.cc"
yy308:
@@ -2480,7 +2480,7 @@ yy310:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 657 "src/wast-lexer.cc"
+#line 658 "src/wast-lexer.cc"
{ RETURN(Elem); }
#line 2486 "src/prebuilt/wast-lexer-gen.cc"
yy312:
@@ -2547,7 +2547,7 @@ yy320:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 646 "src/wast-lexer.cc"
+#line 647 "src/wast-lexer.cc"
{ RETURN(Func); }
#line 2553 "src/prebuilt/wast-lexer-gen.cc"
yy322:
@@ -2724,7 +2724,7 @@ yy356:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 645 "src/wast-lexer.cc"
+#line 646 "src/wast-lexer.cc"
{ RETURN(Type); }
#line 2730 "src/prebuilt/wast-lexer-gen.cc"
yy358:
@@ -2894,7 +2894,7 @@ yy377:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 675 "src/wast-lexer.cc"
+#line 676 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Catch); }
#line 2900 "src/prebuilt/wast-lexer-gen.cc"
yy379:
@@ -3279,7 +3279,7 @@ yy449:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 649 "src/wast-lexer.cc"
+#line 650 "src/wast-lexer.cc"
{ RETURN(Local); }
#line 3285 "src/prebuilt/wast-lexer-gen.cc"
yy451:
@@ -3303,7 +3303,7 @@ yy455:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 647 "src/wast-lexer.cc"
+#line 648 "src/wast-lexer.cc"
{ RETURN(Param); }
#line 3309 "src/prebuilt/wast-lexer-gen.cc"
yy457:
@@ -3311,7 +3311,7 @@ yy457:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 653 "src/wast-lexer.cc"
+#line 654 "src/wast-lexer.cc"
{ RETURN(Quote); }
#line 3317 "src/prebuilt/wast-lexer-gen.cc"
yy459:
@@ -3351,7 +3351,7 @@ yy467:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 656 "src/wast-lexer.cc"
+#line 657 "src/wast-lexer.cc"
{ RETURN(Start); }
#line 3357 "src/prebuilt/wast-lexer-gen.cc"
yy469:
@@ -3359,7 +3359,7 @@ yy469:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 654 "src/wast-lexer.cc"
+#line 655 "src/wast-lexer.cc"
{ RETURN(Table); }
#line 3365 "src/prebuilt/wast-lexer-gen.cc"
yy471:
@@ -3371,7 +3371,7 @@ yy472:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 676 "src/wast-lexer.cc"
+#line 677 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Throw); }
#line 3377 "src/prebuilt/wast-lexer-gen.cc"
yy474:
@@ -3440,7 +3440,7 @@ yy481:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 652 "src/wast-lexer.cc"
+#line 653 "src/wast-lexer.cc"
{ RETURN(Bin); }
#line 3446 "src/prebuilt/wast-lexer-gen.cc"
yy483:
@@ -3460,7 +3460,7 @@ yy486:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 662 "src/wast-lexer.cc"
+#line 663 "src/wast-lexer.cc"
{ RETURN(Except); }
#line 3466 "src/prebuilt/wast-lexer-gen.cc"
yy488:
@@ -3468,7 +3468,7 @@ yy488:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 661 "src/wast-lexer.cc"
+#line 662 "src/wast-lexer.cc"
{ RETURN(Export); }
#line 3474 "src/prebuilt/wast-lexer-gen.cc"
yy490:
@@ -3768,7 +3768,7 @@ yy550:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 650 "src/wast-lexer.cc"
+#line 651 "src/wast-lexer.cc"
{ RETURN(Global); }
#line 3774 "src/prebuilt/wast-lexer-gen.cc"
yy552:
@@ -4091,7 +4091,7 @@ yy615:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 660 "src/wast-lexer.cc"
+#line 661 "src/wast-lexer.cc"
{ RETURN(Import); }
#line 4097 "src/prebuilt/wast-lexer-gen.cc"
yy617:
@@ -4099,7 +4099,7 @@ yy617:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 664 "src/wast-lexer.cc"
+#line 665 "src/wast-lexer.cc"
{ RETURN(Invoke); }
#line 4105 "src/prebuilt/wast-lexer-gen.cc"
yy619:
@@ -4107,7 +4107,7 @@ yy619:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 655 "src/wast-lexer.cc"
+#line 656 "src/wast-lexer.cc"
{ RETURN(Memory); }
#line 4113 "src/prebuilt/wast-lexer-gen.cc"
yy621:
@@ -4115,7 +4115,7 @@ yy621:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 651 "src/wast-lexer.cc"
+#line 652 "src/wast-lexer.cc"
{ RETURN(Module); }
#line 4121 "src/prebuilt/wast-lexer-gen.cc"
yy623:
@@ -4162,7 +4162,7 @@ yy624:
}
}
yy625:
-#line 659 "src/wast-lexer.cc"
+#line 660 "src/wast-lexer.cc"
{ RETURN(Offset); }
#line 4168 "src/prebuilt/wast-lexer-gen.cc"
yy626:
@@ -4174,7 +4174,7 @@ yy627:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 648 "src/wast-lexer.cc"
+#line 649 "src/wast-lexer.cc"
{ RETURN(Result); }
#line 4180 "src/prebuilt/wast-lexer-gen.cc"
yy629:
@@ -4210,7 +4210,7 @@ yy636:
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 680 "src/wast-lexer.cc"
+#line 681 "src/wast-lexer.cc"
{ RETURN(Shared); }
#line 4216 "src/prebuilt/wast-lexer-gen.cc"
yy638:
@@ -5084,38 +5084,39 @@ yy822:
yy823:
yych = *++cursor_;
if (yych == 'q') goto yy1046;
+ if (yych == 'x') goto yy1048;
goto yy87;
yy824:
yych = *++cursor_;
- if (yych == 'e') goto yy1048;
- if (yych == 't') goto yy1049;
+ if (yych == 'e') goto yy1049;
+ if (yych == 't') goto yy1050;
goto yy87;
yy825:
yych = *++cursor_;
- if (yych == 'e') goto yy1050;
- if (yych == 't') goto yy1051;
+ if (yych == 'e') goto yy1051;
+ if (yych == 't') goto yy1052;
goto yy87;
yy826:
yych = *++cursor_;
- if (yych == 'u') goto yy1052;
+ if (yych == 'u') goto yy1053;
goto yy87;
yy827:
yych = *++cursor_;
- if (yych == 'e') goto yy1053;
+ if (yych == 'e') goto yy1054;
goto yy87;
yy828:
yych = *++cursor_;
if (yych <= 'o') {
- if (yych == 'h') goto yy1055;
+ if (yych == 'h') goto yy1056;
goto yy87;
} else {
- if (yych <= 'p') goto yy1056;
- if (yych == 'u') goto yy1057;
+ if (yych <= 'p') goto yy1057;
+ if (yych == 'u') goto yy1058;
goto yy87;
}
yy829:
yych = *++cursor_;
- if (yych == 'p') goto yy1058;
+ if (yych == 'p') goto yy1059;
goto yy87;
yy830:
++cursor_;
@@ -5152,72 +5153,72 @@ yy830:
yy832:
yych = *++cursor_;
if (yych <= '/') goto yy87;
- if (yych <= '0') goto yy1059;
- if (yych <= '9') goto yy1061;
+ if (yych <= '0') goto yy1060;
+ if (yych <= '9') goto yy1062;
goto yy87;
yy833:
yych = *++cursor_;
- if (yych == 'r') goto yy1063;
+ if (yych == 'r') goto yy1064;
goto yy87;
yy834:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 677 "src/wast-lexer.cc"
+#line 678 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Rethrow); }
-#line 5170 "src/prebuilt/wast-lexer-gen.cc"
+#line 5171 "src/prebuilt/wast-lexer-gen.cc"
yy836:
yych = *++cursor_;
- if (yych == 'b') goto yy1065;
+ if (yych == 'b') goto yy1066;
goto yy87;
yy837:
yych = *++cursor_;
- if (yych == 'a') goto yy1066;
+ if (yych == 'a') goto yy1067;
goto yy87;
yy838:
yych = *++cursor_;
- if (yych == 'a') goto yy1067;
+ if (yych == 'a') goto yy1068;
goto yy87;
yy839:
yych = *++cursor_;
- if (yych == 'a') goto yy1068;
+ if (yych == 'a') goto yy1069;
goto yy87;
yy840:
yych = *++cursor_;
- if (yych == 'd') goto yy1069;
+ if (yych == 'd') goto yy1070;
goto yy87;
yy841:
yych = *++cursor_;
- if (yych == 't') goto yy1071;
+ if (yych == 't') goto yy1072;
goto yy87;
yy842:
yych = *++cursor_;
- if (yych == 'n') goto yy1072;
+ if (yych == 'n') goto yy1073;
goto yy87;
yy843:
yych = *++cursor_;
- if (yych == 'a') goto yy1073;
+ if (yych == 'a') goto yy1074;
goto yy87;
yy844:
yych = *++cursor_;
- if (yych == 't') goto yy1074;
+ if (yych == 't') goto yy1075;
goto yy87;
yy845:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 564 "src/wast-lexer.cc"
+#line 565 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, V128Or); }
-#line 5214 "src/prebuilt/wast-lexer-gen.cc"
+#line 5215 "src/prebuilt/wast-lexer-gen.cc"
yy847:
yych = *++cursor_;
- if (yych == 'o') goto yy1076;
+ if (yych == 'o') goto yy1077;
goto yy87;
yy848:
yych = *++cursor_;
- if (yych == 'r') goto yy1077;
+ if (yych == 'r') goto yy1078;
goto yy87;
yy849:
++cursor_;
@@ -5255,47 +5256,47 @@ yy850:
if (yych <= '\'') goto yy86;
if (yych <= ')') goto yy88;
if (yych <= '/') goto yy86;
- goto yy1079;
+ goto yy1080;
}
} else {
if (yych <= 'F') {
if (yych == ';') goto yy88;
if (yych <= '@') goto yy86;
- goto yy1079;
+ goto yy1080;
} else {
if (yych <= '`') goto yy86;
- if (yych <= 'f') goto yy1079;
+ if (yych <= 'f') goto yy1080;
if (yych <= '~') goto yy86;
goto yy88;
}
}
yy851:
yych = *++cursor_;
- if (yych == 'x') goto yy1081;
+ if (yych == 'x') goto yy1082;
goto yy87;
yy852:
yych = *++cursor_;
- if (yych == 'n') goto yy1082;
+ if (yych == 'n') goto yy1083;
goto yy87;
yy853:
yych = *++cursor_;
- if (yych == 'a') goto yy1083;
+ if (yych == 'a') goto yy1084;
goto yy87;
yy854:
yych = *++cursor_;
- if (yych == 'e') goto yy1084;
+ if (yych == 'e') goto yy1085;
goto yy87;
yy855:
yych = *++cursor_;
- if (yych == 'r') goto yy1085;
+ if (yych == 'r') goto yy1086;
goto yy87;
yy856:
yych = *++cursor_;
- if (yych == 'n') goto yy1086;
+ if (yych == 'n') goto yy1087;
goto yy87;
yy857:
yych = *++cursor_;
- if (yych == 'a') goto yy1087;
+ if (yych == 'a') goto yy1088;
goto yy87;
yy858:
++cursor_;
@@ -5304,14 +5305,14 @@ yy858:
}
#line 272 "src/wast-lexer.cc"
{ RETURN_OPCODE0(BrTable); }
-#line 5308 "src/prebuilt/wast-lexer-gen.cc"
+#line 5309 "src/prebuilt/wast-lexer-gen.cc"
yy860:
yych = *++cursor_;
- if (yych == 'i') goto yy1088;
+ if (yych == 'i') goto yy1089;
goto yy87;
yy861:
yych = *++cursor_;
- if (yych == 'm') goto yy1089;
+ if (yych == 'm') goto yy1090;
goto yy87;
yy862:
++cursor_;
@@ -5320,26 +5321,26 @@ yy862:
}
#line 326 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Ceil); }
-#line 5324 "src/prebuilt/wast-lexer-gen.cc"
+#line 5325 "src/prebuilt/wast-lexer-gen.cc"
yy864:
yych = *++cursor_;
- if (yych == 't') goto yy1090;
+ if (yych == 't') goto yy1091;
goto yy87;
yy865:
yych = *++cursor_;
- if (yych == 'e') goto yy1092;
+ if (yych == 'e') goto yy1093;
goto yy87;
yy866:
yych = *++cursor_;
- if (yych == 's') goto yy1093;
+ if (yych == 's') goto yy1094;
goto yy87;
yy867:
yych = *++cursor_;
- if (yych == 't') goto yy1094;
+ if (yych == 't') goto yy1095;
goto yy87;
yy868:
yych = *++cursor_;
- if (yych == 'r') goto yy1095;
+ if (yych == 'r') goto yy1096;
goto yy87;
yy869:
++cursor_;
@@ -5348,14 +5349,14 @@ yy869:
}
#line 285 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, F32Load); }
-#line 5352 "src/prebuilt/wast-lexer-gen.cc"
+#line 5353 "src/prebuilt/wast-lexer-gen.cc"
yy871:
yych = *++cursor_;
- if (yych == 'e') goto yy1097;
+ if (yych == 'e') goto yy1098;
goto yy87;
yy872:
yych = *++cursor_;
- if (yych == 't') goto yy1098;
+ if (yych == 't') goto yy1099;
goto yy87;
yy873:
++cursor_;
@@ -5364,82 +5365,82 @@ yy873:
}
#line 324 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Sqrt); }
-#line 5368 "src/prebuilt/wast-lexer-gen.cc"
+#line 5369 "src/prebuilt/wast-lexer-gen.cc"
yy875:
yych = *++cursor_;
- if (yych == 'e') goto yy1099;
+ if (yych == 'e') goto yy1100;
goto yy87;
yy876:
yych = *++cursor_;
- if (yych == 'c') goto yy1101;
+ if (yych == 'c') goto yy1102;
goto yy87;
yy877:
yych = *++cursor_;
- if (yych == 's') goto yy1103;
+ if (yych == 's') goto yy1104;
goto yy87;
yy878:
yych = *++cursor_;
- if (yych == 'd') goto yy1105;
+ if (yych == 'd') goto yy1106;
goto yy87;
yy879:
yych = *++cursor_;
- if (yych == 'n') goto yy1107;
+ if (yych == 'n') goto yy1108;
goto yy87;
yy880:
yych = *++cursor_;
- if (yych == 'v') goto yy1108;
+ if (yych == 'v') goto yy1109;
goto yy87;
yy881:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 579 "src/wast-lexer.cc"
+#line 580 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Eq); }
-#line 5400 "src/prebuilt/wast-lexer-gen.cc"
+#line 5401 "src/prebuilt/wast-lexer-gen.cc"
yy883:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 616 "src/wast-lexer.cc"
+#line 617 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Ge); }
-#line 5408 "src/prebuilt/wast-lexer-gen.cc"
+#line 5409 "src/prebuilt/wast-lexer-gen.cc"
yy885:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 608 "src/wast-lexer.cc"
+#line 609 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Gt); }
-#line 5416 "src/prebuilt/wast-lexer-gen.cc"
+#line 5417 "src/prebuilt/wast-lexer-gen.cc"
yy887:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 600 "src/wast-lexer.cc"
+#line 601 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Le); }
-#line 5424 "src/prebuilt/wast-lexer-gen.cc"
+#line 5425 "src/prebuilt/wast-lexer-gen.cc"
yy889:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 592 "src/wast-lexer.cc"
+#line 593 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Lt); }
-#line 5432 "src/prebuilt/wast-lexer-gen.cc"
+#line 5433 "src/prebuilt/wast-lexer-gen.cc"
yy891:
yych = *++cursor_;
- if (yych == 'x') goto yy1110;
+ if (yych == 'x') goto yy1111;
goto yy87;
yy892:
yych = *++cursor_;
- if (yych == 'n') goto yy1112;
+ if (yych == 'n') goto yy1113;
goto yy87;
yy893:
yych = *++cursor_;
- if (yych == 'l') goto yy1114;
+ if (yych == 'l') goto yy1115;
goto yy87;
yy894:
++cursor_;
@@ -5454,25 +5455,25 @@ yy894:
if (yych <= 'f') {
if (yych != ';') goto yy86;
} else {
- if (yych <= 'g') goto yy1116;
+ if (yych <= 'g') goto yy1117;
if (yych <= '~') goto yy86;
}
}
yy895:
-#line 584 "src/wast-lexer.cc"
+#line 585 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Ne); }
-#line 5465 "src/prebuilt/wast-lexer-gen.cc"
+#line 5466 "src/prebuilt/wast-lexer-gen.cc"
yy896:
yych = *++cursor_;
- if (yych == 'l') goto yy1118;
+ if (yych == 'l') goto yy1119;
goto yy87;
yy897:
yych = *++cursor_;
- if (yych == 'r') goto yy1119;
+ if (yych == 'r') goto yy1120;
goto yy87;
yy898:
yych = *++cursor_;
- if (yych == 'b') goto yy1120;
+ if (yych == 'b') goto yy1121;
goto yy87;
yy899:
++cursor_;
@@ -5481,22 +5482,22 @@ yy899:
}
#line 327 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Ceil); }
-#line 5485 "src/prebuilt/wast-lexer-gen.cc"
+#line 5486 "src/prebuilt/wast-lexer-gen.cc"
yy901:
yych = *++cursor_;
- if (yych == 't') goto yy1122;
+ if (yych == 't') goto yy1123;
goto yy87;
yy902:
yych = *++cursor_;
- if (yych == 'e') goto yy1124;
+ if (yych == 'e') goto yy1125;
goto yy87;
yy903:
yych = *++cursor_;
- if (yych == 's') goto yy1125;
+ if (yych == 's') goto yy1126;
goto yy87;
yy904:
yych = *++cursor_;
- if (yych == 'r') goto yy1126;
+ if (yych == 'r') goto yy1127;
goto yy87;
yy905:
++cursor_;
@@ -5505,18 +5506,18 @@ yy905:
}
#line 286 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, F64Load); }
-#line 5509 "src/prebuilt/wast-lexer-gen.cc"
+#line 5510 "src/prebuilt/wast-lexer-gen.cc"
yy907:
yych = *++cursor_;
- if (yych == 'e') goto yy1128;
+ if (yych == 'e') goto yy1129;
goto yy87;
yy908:
yych = *++cursor_;
- if (yych == 'o') goto yy1129;
+ if (yych == 'o') goto yy1130;
goto yy87;
yy909:
yych = *++cursor_;
- if (yych == 't') goto yy1130;
+ if (yych == 't') goto yy1131;
goto yy87;
yy910:
++cursor_;
@@ -5525,82 +5526,82 @@ yy910:
}
#line 325 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Sqrt); }
-#line 5529 "src/prebuilt/wast-lexer-gen.cc"
+#line 5530 "src/prebuilt/wast-lexer-gen.cc"
yy912:
yych = *++cursor_;
- if (yych == 'e') goto yy1131;
+ if (yych == 'e') goto yy1132;
goto yy87;
yy913:
yych = *++cursor_;
- if (yych == 'c') goto yy1133;
+ if (yych == 'c') goto yy1134;
goto yy87;
yy914:
yych = *++cursor_;
- if (yych == 's') goto yy1135;
+ if (yych == 's') goto yy1136;
goto yy87;
yy915:
yych = *++cursor_;
- if (yych == 'd') goto yy1137;
+ if (yych == 'd') goto yy1138;
goto yy87;
yy916:
yych = *++cursor_;
- if (yych == 'n') goto yy1139;
+ if (yych == 'n') goto yy1140;
goto yy87;
yy917:
yych = *++cursor_;
- if (yych == 'v') goto yy1140;
+ if (yych == 'v') goto yy1141;
goto yy87;
yy918:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 580 "src/wast-lexer.cc"
+#line 581 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Eq); }
-#line 5561 "src/prebuilt/wast-lexer-gen.cc"
+#line 5562 "src/prebuilt/wast-lexer-gen.cc"
yy920:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 617 "src/wast-lexer.cc"
+#line 618 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Ge); }
-#line 5569 "src/prebuilt/wast-lexer-gen.cc"
+#line 5570 "src/prebuilt/wast-lexer-gen.cc"
yy922:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 609 "src/wast-lexer.cc"
+#line 610 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Gt); }
-#line 5577 "src/prebuilt/wast-lexer-gen.cc"
+#line 5578 "src/prebuilt/wast-lexer-gen.cc"
yy924:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 601 "src/wast-lexer.cc"
+#line 602 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Le); }
-#line 5585 "src/prebuilt/wast-lexer-gen.cc"
+#line 5586 "src/prebuilt/wast-lexer-gen.cc"
yy926:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 593 "src/wast-lexer.cc"
+#line 594 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Lt); }
-#line 5593 "src/prebuilt/wast-lexer-gen.cc"
+#line 5594 "src/prebuilt/wast-lexer-gen.cc"
yy928:
yych = *++cursor_;
- if (yych == 'x') goto yy1142;
+ if (yych == 'x') goto yy1143;
goto yy87;
yy929:
yych = *++cursor_;
- if (yych == 'n') goto yy1144;
+ if (yych == 'n') goto yy1145;
goto yy87;
yy930:
yych = *++cursor_;
- if (yych == 'l') goto yy1146;
+ if (yych == 'l') goto yy1147;
goto yy87;
yy931:
++cursor_;
@@ -5615,77 +5616,77 @@ yy931:
if (yych <= 'f') {
if (yych != ';') goto yy86;
} else {
- if (yych <= 'g') goto yy1148;
+ if (yych <= 'g') goto yy1149;
if (yych <= '~') goto yy86;
}
}
yy932:
-#line 585 "src/wast-lexer.cc"
+#line 586 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Ne); }
-#line 5626 "src/prebuilt/wast-lexer-gen.cc"
+#line 5627 "src/prebuilt/wast-lexer-gen.cc"
yy933:
yych = *++cursor_;
- if (yych == 'l') goto yy1150;
+ if (yych == 'l') goto yy1151;
goto yy87;
yy934:
yych = *++cursor_;
- if (yych == 'r') goto yy1151;
+ if (yych == 'r') goto yy1152;
goto yy87;
yy935:
yych = *++cursor_;
- if (yych == 'b') goto yy1152;
+ if (yych == 'b') goto yy1153;
goto yy87;
yy936:
yych = *++cursor_;
- if (yych == 'a') goto yy1154;
+ if (yych == 'a') goto yy1155;
goto yy87;
yy937:
yych = *++cursor_;
- if (yych == 'l') goto yy1155;
+ if (yych == 'l') goto yy1156;
goto yy87;
yy938:
yych = *++cursor_;
- if (yych == 'o') goto yy1157;
+ if (yych == 'o') goto yy1158;
goto yy87;
yy939:
yych = *++cursor_;
- if (yych == 'd') goto yy1158;
+ if (yych == 'd') goto yy1159;
goto yy87;
yy940:
yych = *++cursor_;
- if (yych == 'l') goto yy1160;
+ if (yych == 'l') goto yy1161;
goto yy87;
yy941:
yych = *++cursor_;
- if (yych == 'y') goto yy1161;
+ if (yych == 'y') goto yy1162;
goto yy87;
yy942:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 577 "src/wast-lexer.cc"
+#line 578 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8Eq); }
-#line 5670 "src/prebuilt/wast-lexer-gen.cc"
+#line 5671 "src/prebuilt/wast-lexer-gen.cc"
yy944:
yych = *++cursor_;
- if (yych == '_') goto yy1162;
+ if (yych == '_') goto yy1163;
goto yy87;
yy945:
yych = *++cursor_;
- if (yych == '_') goto yy1163;
+ if (yych == '_') goto yy1164;
goto yy87;
yy946:
yych = *++cursor_;
- if (yych == '_') goto yy1164;
+ if (yych == '_') goto yy1165;
goto yy87;
yy947:
yych = *++cursor_;
- if (yych == '_') goto yy1165;
+ if (yych == '_') goto yy1166;
goto yy87;
yy948:
yych = *++cursor_;
- if (yych == 'l') goto yy1166;
+ if (yych == 'l') goto yy1167;
goto yy87;
yy949:
++cursor_;
@@ -5700,43 +5701,43 @@ yy949:
if (yych <= 'f') {
if (yych != ';') goto yy86;
} else {
- if (yych <= 'g') goto yy1168;
+ if (yych <= 'g') goto yy1169;
if (yych <= '~') goto yy86;
}
}
yy950:
-#line 582 "src/wast-lexer.cc"
+#line 583 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8Ne); }
-#line 5711 "src/prebuilt/wast-lexer-gen.cc"
+#line 5712 "src/prebuilt/wast-lexer-gen.cc"
yy951:
yych = *++cursor_;
- if (yych == 'l') goto yy1170;
- if (yych == 'r') goto yy1172;
+ if (yych == 'l') goto yy1171;
+ if (yych == 'r') goto yy1173;
goto yy87;
yy952:
yych = *++cursor_;
- if (yych == 'l') goto yy1173;
+ if (yych == 'l') goto yy1174;
goto yy87;
yy953:
yych = *++cursor_;
- if (yych == 'b') goto yy1174;
+ if (yych == 'b') goto yy1175;
goto yy87;
yy954:
yych = *++cursor_;
- if (yych == 'i') goto yy1176;
+ if (yych == 'i') goto yy1177;
goto yy87;
yy955:
yych = *++cursor_;
- if (yych == 't') goto yy1177;
+ if (yych == 't') goto yy1178;
goto yy87;
yy956:
yych = *++cursor_;
- if (yych == 's') goto yy1179;
- if (yych == 'u') goto yy1181;
+ if (yych == 's') goto yy1180;
+ if (yych == 'u') goto yy1182;
goto yy87;
yy957:
yych = *++cursor_;
- if (yych == 'n') goto yy1183;
+ if (yych == 'n') goto yy1184;
goto yy87;
yy958:
++cursor_;
@@ -5745,7 +5746,7 @@ yy958:
}
#line 399 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32GeS); }
-#line 5749 "src/prebuilt/wast-lexer-gen.cc"
+#line 5750 "src/prebuilt/wast-lexer-gen.cc"
yy960:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
@@ -5753,7 +5754,7 @@ yy960:
}
#line 401 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32GeU); }
-#line 5757 "src/prebuilt/wast-lexer-gen.cc"
+#line 5758 "src/prebuilt/wast-lexer-gen.cc"
yy962:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
@@ -5761,7 +5762,7 @@ yy962:
}
#line 395 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32GtS); }
-#line 5765 "src/prebuilt/wast-lexer-gen.cc"
+#line 5766 "src/prebuilt/wast-lexer-gen.cc"
yy964:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
@@ -5769,7 +5770,7 @@ yy964:
}
#line 397 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32GtU); }
-#line 5773 "src/prebuilt/wast-lexer-gen.cc"
+#line 5774 "src/prebuilt/wast-lexer-gen.cc"
yy966:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
@@ -5777,7 +5778,7 @@ yy966:
}
#line 391 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32LeS); }
-#line 5781 "src/prebuilt/wast-lexer-gen.cc"
+#line 5782 "src/prebuilt/wast-lexer-gen.cc"
yy968:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
@@ -5785,7 +5786,7 @@ yy968:
}
#line 393 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32LeU); }
-#line 5789 "src/prebuilt/wast-lexer-gen.cc"
+#line 5790 "src/prebuilt/wast-lexer-gen.cc"
yy970:
++cursor_;
if ((yych = *cursor_) <= '0') {
@@ -5797,9 +5798,9 @@ yy970:
}
} else {
if (yych <= '8') {
- if (yych <= '1') goto yy1184;
+ if (yych <= '1') goto yy1185;
if (yych <= '7') goto yy86;
- goto yy1185;
+ goto yy1186;
} else {
if (yych == ';') goto yy971;
if (yych <= '~') goto yy86;
@@ -5808,7 +5809,7 @@ yy970:
yy971:
#line 283 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I32Load); }
-#line 5812 "src/prebuilt/wast-lexer-gen.cc"
+#line 5813 "src/prebuilt/wast-lexer-gen.cc"
yy972:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
@@ -5816,7 +5817,7 @@ yy972:
}
#line 387 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32LtS); }
-#line 5820 "src/prebuilt/wast-lexer-gen.cc"
+#line 5821 "src/prebuilt/wast-lexer-gen.cc"
yy974:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
@@ -5824,19 +5825,19 @@ yy974:
}
#line 389 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32LtU); }
-#line 5828 "src/prebuilt/wast-lexer-gen.cc"
+#line 5829 "src/prebuilt/wast-lexer-gen.cc"
yy976:
yych = *++cursor_;
- if (yych == 'n') goto yy1186;
+ if (yych == 'n') goto yy1187;
goto yy87;
yy977:
yych = *++cursor_;
- if (yych == 't') goto yy1187;
+ if (yych == 't') goto yy1188;
goto yy87;
yy978:
yych = *++cursor_;
- if (yych == 's') goto yy1188;
- if (yych == 'u') goto yy1190;
+ if (yych == 's') goto yy1189;
+ if (yych == 'u') goto yy1191;
goto yy87;
yy979:
++cursor_;
@@ -5845,7 +5846,7 @@ yy979:
}
#line 365 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Rotl); }
-#line 5849 "src/prebuilt/wast-lexer-gen.cc"
+#line 5850 "src/prebuilt/wast-lexer-gen.cc"
yy981:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
@@ -5853,63 +5854,63 @@ yy981:
}
#line 367 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Rotr); }
-#line 5857 "src/prebuilt/wast-lexer-gen.cc"
+#line 5858 "src/prebuilt/wast-lexer-gen.cc"
yy983:
yych = *++cursor_;
- if (yych == 's') goto yy1192;
- if (yych == 'u') goto yy1194;
+ if (yych == 's') goto yy1193;
+ if (yych == 'u') goto yy1195;
goto yy87;
yy984:
yych = *++cursor_;
- if (yych == 'e') goto yy1196;
+ if (yych == 'e') goto yy1197;
goto yy87;
yy985:
yych = *++cursor_;
- if (yych == 'c') goto yy1198;
+ if (yych == 'c') goto yy1199;
goto yy87;
yy986:
yych = *++cursor_;
- if (yych == '/') goto yy1199;
+ if (yych == '/') goto yy1200;
goto yy87;
yy987:
yych = *++cursor_;
- if (yych == 'd') goto yy1200;
+ if (yych == 'd') goto yy1201;
goto yy87;
yy988:
yych = *++cursor_;
- if (yych == 'l') goto yy1202;
+ if (yych == 'l') goto yy1203;
goto yy87;
yy989:
yych = *++cursor_;
- if (yych == 'y') goto yy1203;
+ if (yych == 'y') goto yy1204;
goto yy87;
yy990:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 578 "src/wast-lexer.cc"
+#line 579 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4Eq); }
-#line 5894 "src/prebuilt/wast-lexer-gen.cc"
+#line 5895 "src/prebuilt/wast-lexer-gen.cc"
yy992:
yych = *++cursor_;
- if (yych == '_') goto yy1204;
+ if (yych == '_') goto yy1205;
goto yy87;
yy993:
yych = *++cursor_;
- if (yych == '_') goto yy1205;
+ if (yych == '_') goto yy1206;
goto yy87;
yy994:
yych = *++cursor_;
- if (yych == '_') goto yy1206;
+ if (yych == '_') goto yy1207;
goto yy87;
yy995:
yych = *++cursor_;
- if (yych == '_') goto yy1207;
+ if (yych == '_') goto yy1208;
goto yy87;
yy996:
yych = *++cursor_;
- if (yych == 'l') goto yy1208;
+ if (yych == 'l') goto yy1209;
goto yy87;
yy997:
++cursor_;
@@ -5924,47 +5925,47 @@ yy997:
if (yych <= 'f') {
if (yych != ';') goto yy86;
} else {
- if (yych <= 'g') goto yy1210;
+ if (yych <= 'g') goto yy1211;
if (yych <= '~') goto yy86;
}
}
yy998:
-#line 583 "src/wast-lexer.cc"
+#line 584 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4Ne); }
-#line 5935 "src/prebuilt/wast-lexer-gen.cc"
+#line 5936 "src/prebuilt/wast-lexer-gen.cc"
yy999:
yych = *++cursor_;
- if (yych == 'l') goto yy1212;
- if (yych == 'r') goto yy1214;
+ if (yych == 'l') goto yy1213;
+ if (yych == 'r') goto yy1215;
goto yy87;
yy1000:
yych = *++cursor_;
- if (yych == 'l') goto yy1215;
+ if (yych == 'l') goto yy1216;
goto yy87;
yy1001:
yych = *++cursor_;
- if (yych == 'b') goto yy1216;
+ if (yych == 'b') goto yy1217;
goto yy87;
yy1002:
yych = *++cursor_;
- if (yych == 'u') goto yy1218;
+ if (yych == 'u') goto yy1219;
goto yy87;
yy1003:
yych = *++cursor_;
- if (yych == 'i') goto yy1219;
+ if (yych == 'i') goto yy1220;
goto yy87;
yy1004:
yych = *++cursor_;
- if (yych == 't') goto yy1220;
+ if (yych == 't') goto yy1221;
goto yy87;
yy1005:
yych = *++cursor_;
- if (yych == 's') goto yy1222;
- if (yych == 'u') goto yy1224;
+ if (yych == 's') goto yy1223;
+ if (yych == 'u') goto yy1225;
goto yy87;
yy1006:
yych = *++cursor_;
- if (yych == 'n') goto yy1226;
+ if (yych == 'n') goto yy1227;
goto yy87;
yy1007:
++cursor_;
@@ -5973,7 +5974,7 @@ yy1007:
}
#line 400 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64GeS); }
-#line 5977 "src/prebuilt/wast-lexer-gen.cc"
+#line 5978 "src/prebuilt/wast-lexer-gen.cc"
yy1009:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
@@ -5981,7 +5982,7 @@ yy1009:
}
#line 402 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64GeU); }
-#line 5985 "src/prebuilt/wast-lexer-gen.cc"
+#line 5986 "src/prebuilt/wast-lexer-gen.cc"
yy1011:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
@@ -5989,7 +5990,7 @@ yy1011:
}
#line 396 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64GtS); }
-#line 5993 "src/prebuilt/wast-lexer-gen.cc"
+#line 5994 "src/prebuilt/wast-lexer-gen.cc"
yy1013:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
@@ -5997,7 +5998,7 @@ yy1013:
}
#line 398 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64GtU); }
-#line 6001 "src/prebuilt/wast-lexer-gen.cc"
+#line 6002 "src/prebuilt/wast-lexer-gen.cc"
yy1015:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
@@ -6005,7 +6006,7 @@ yy1015:
}
#line 392 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64LeS); }
-#line 6009 "src/prebuilt/wast-lexer-gen.cc"
+#line 6010 "src/prebuilt/wast-lexer-gen.cc"
yy1017:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
@@ -6013,7 +6014,7 @@ yy1017:
}
#line 394 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64LeU); }
-#line 6017 "src/prebuilt/wast-lexer-gen.cc"
+#line 6018 "src/prebuilt/wast-lexer-gen.cc"
yy1019:
++cursor_;
if ((yych = *cursor_) <= '1') {
@@ -6023,13 +6024,13 @@ yy1019:
if (yych <= '\'') goto yy86;
if (yych <= ')') goto yy1020;
if (yych <= '0') goto yy86;
- goto yy1227;
+ goto yy1228;
}
} else {
if (yych <= '8') {
- if (yych == '3') goto yy1228;
+ if (yych == '3') goto yy1229;
if (yych <= '7') goto yy86;
- goto yy1229;
+ goto yy1230;
} else {
if (yych == ';') goto yy1020;
if (yych <= '~') goto yy86;
@@ -6038,7 +6039,7 @@ yy1019:
yy1020:
#line 284 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I64Load); }
-#line 6042 "src/prebuilt/wast-lexer-gen.cc"
+#line 6043 "src/prebuilt/wast-lexer-gen.cc"
yy1021:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
@@ -6046,7 +6047,7 @@ yy1021:
}
#line 388 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64LtS); }
-#line 6050 "src/prebuilt/wast-lexer-gen.cc"
+#line 6051 "src/prebuilt/wast-lexer-gen.cc"
yy1023:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
@@ -6054,19 +6055,19 @@ yy1023:
}
#line 390 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64LtU); }
-#line 6058 "src/prebuilt/wast-lexer-gen.cc"
+#line 6059 "src/prebuilt/wast-lexer-gen.cc"
yy1025:
yych = *++cursor_;
- if (yych == 'n') goto yy1230;
+ if (yych == 'n') goto yy1231;
goto yy87;
yy1026:
yych = *++cursor_;
- if (yych == 't') goto yy1231;
+ if (yych == 't') goto yy1232;
goto yy87;
yy1027:
yych = *++cursor_;
- if (yych == 's') goto yy1232;
- if (yych == 'u') goto yy1234;
+ if (yych == 's') goto yy1233;
+ if (yych == 'u') goto yy1235;
goto yy87;
yy1028:
++cursor_;
@@ -6075,7 +6076,7 @@ yy1028:
}
#line 366 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Rotl); }
-#line 6079 "src/prebuilt/wast-lexer-gen.cc"
+#line 6080 "src/prebuilt/wast-lexer-gen.cc"
yy1030:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
@@ -6083,195 +6084,195 @@ yy1030:
}
#line 368 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Rotr); }
-#line 6087 "src/prebuilt/wast-lexer-gen.cc"
+#line 6088 "src/prebuilt/wast-lexer-gen.cc"
yy1032:
yych = *++cursor_;
- if (yych == 's') goto yy1236;
- if (yych == 'u') goto yy1238;
+ if (yych == 's') goto yy1237;
+ if (yych == 'u') goto yy1239;
goto yy87;
yy1033:
yych = *++cursor_;
- if (yych == 'e') goto yy1240;
+ if (yych == 'e') goto yy1241;
goto yy87;
yy1034:
yych = *++cursor_;
- if (yych == 'c') goto yy1242;
+ if (yych == 'c') goto yy1243;
goto yy87;
yy1035:
yych = *++cursor_;
- if (yych == 'd') goto yy1243;
+ if (yych == 'd') goto yy1244;
goto yy87;
yy1036:
yych = *++cursor_;
- if (yych == 'l') goto yy1245;
+ if (yych == 'l') goto yy1246;
goto yy87;
yy1037:
yych = *++cursor_;
- if (yych == 'y') goto yy1246;
+ if (yych == 'y') goto yy1247;
goto yy87;
yy1038:
yych = *++cursor_;
- if (yych == 'g') goto yy1247;
+ if (yych == 'g') goto yy1248;
goto yy87;
yy1039:
yych = *++cursor_;
- if (yych == 'l') goto yy1249;
- if (yych == 'r') goto yy1251;
+ if (yych == 'l') goto yy1250;
+ if (yych == 'r') goto yy1252;
goto yy87;
yy1040:
yych = *++cursor_;
- if (yych == 'l') goto yy1252;
+ if (yych == 'l') goto yy1253;
goto yy87;
yy1041:
yych = *++cursor_;
- if (yych == 'b') goto yy1253;
+ if (yych == 'b') goto yy1254;
goto yy87;
yy1042:
yych = *++cursor_;
- if (yych == 'u') goto yy1255;
+ if (yych == 'u') goto yy1256;
goto yy87;
yy1043:
yych = *++cursor_;
- if (yych == 'd') goto yy1256;
+ if (yych == 'd') goto yy1257;
goto yy87;
yy1044:
yych = *++cursor_;
- if (yych == 'l') goto yy1258;
+ if (yych == 'l') goto yy1259;
goto yy87;
yy1045:
yych = *++cursor_;
- if (yych == 'y') goto yy1259;
+ if (yych == 'y') goto yy1260;
goto yy87;
yy1046:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 576 "src/wast-lexer.cc"
+#line 577 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16Eq); }
-#line 6153 "src/prebuilt/wast-lexer-gen.cc"
+#line 6154 "src/prebuilt/wast-lexer-gen.cc"
yy1048:
yych = *++cursor_;
- if (yych == '_') goto yy1260;
+ if (yych == 't') goto yy1261;
goto yy87;
yy1049:
yych = *++cursor_;
- if (yych == '_') goto yy1261;
+ if (yych == '_') goto yy1262;
goto yy87;
yy1050:
yych = *++cursor_;
- if (yych == '_') goto yy1262;
+ if (yych == '_') goto yy1263;
goto yy87;
yy1051:
yych = *++cursor_;
- if (yych == '_') goto yy1263;
+ if (yych == '_') goto yy1264;
goto yy87;
yy1052:
yych = *++cursor_;
- if (yych == 'l') goto yy1264;
+ if (yych == '_') goto yy1265;
goto yy87;
yy1053:
+ yych = *++cursor_;
+ if (yych == 'l') goto yy1266;
+ goto yy87;
+yy1054:
++cursor_;
if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy1054;
+ if (yych <= '"') goto yy1055;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= 'f') {
if (yych != ';') goto yy86;
} else {
- if (yych <= 'g') goto yy1266;
+ if (yych <= 'g') goto yy1268;
if (yych <= '~') goto yy86;
}
}
-yy1054:
-#line 581 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I8X16Ne); }
-#line 6194 "src/prebuilt/wast-lexer-gen.cc"
yy1055:
- yych = *++cursor_;
- if (yych == 'l') goto yy1268;
- if (yych == 'r') goto yy1270;
- goto yy87;
+#line 582 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I8X16Ne); }
+#line 6199 "src/prebuilt/wast-lexer-gen.cc"
yy1056:
yych = *++cursor_;
- if (yych == 'l') goto yy1271;
+ if (yych == 'l') goto yy1270;
+ if (yych == 'r') goto yy1272;
goto yy87;
yy1057:
yych = *++cursor_;
- if (yych == 'b') goto yy1272;
+ if (yych == 'l') goto yy1273;
goto yy87;
yy1058:
yych = *++cursor_;
- if (yych == 't') goto yy1274;
+ if (yych == 'b') goto yy1274;
goto yy87;
yy1059:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1276;
+ goto yy87;
+yy1060:
++cursor_;
if ((yych = *cursor_) <= '9') {
if (yych <= '"') {
if (yych == '!') goto yy86;
} else {
if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy1060;
+ if (yych <= ')') goto yy1061;
if (yych <= '/') goto yy86;
- goto yy1061;
+ goto yy1062;
}
} else {
if (yych <= '_') {
- if (yych == ';') goto yy1060;
+ if (yych == ';') goto yy1061;
if (yych <= '^') goto yy86;
- goto yy1276;
+ goto yy1278;
} else {
- if (yych == 'x') goto yy1277;
+ if (yych == 'x') goto yy1279;
if (yych <= '~') goto yy86;
}
}
-yy1060:
+yy1061:
#line 306 "src/wast-lexer.cc"
{ RETURN_TEXT_AT(OffsetEqNat, 7); }
-#line 6236 "src/prebuilt/wast-lexer-gen.cc"
-yy1061:
+#line 6241 "src/prebuilt/wast-lexer-gen.cc"
+yy1062:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '/') {
if (yych <= '"') {
if (yych == '!') goto yy86;
- goto yy1060;
+ goto yy1061;
} else {
if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy1060;
+ if (yych <= ')') goto yy1061;
goto yy86;
}
} else {
if (yych <= ';') {
- if (yych <= '9') goto yy1061;
+ if (yych <= '9') goto yy1062;
if (yych <= ':') goto yy86;
- goto yy1060;
+ goto yy1061;
} else {
- if (yych == '_') goto yy1276;
+ if (yych == '_') goto yy1278;
if (yych <= '~') goto yy86;
- goto yy1060;
+ goto yy1061;
}
}
-yy1063:
+yy1064:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 663 "src/wast-lexer.cc"
+#line 664 "src/wast-lexer.cc"
{ RETURN(Register); }
-#line 6268 "src/prebuilt/wast-lexer-gen.cc"
-yy1065:
- yych = *++cursor_;
- if (yych == 'a') goto yy1278;
- goto yy87;
+#line 6273 "src/prebuilt/wast-lexer-gen.cc"
yy1066:
yych = *++cursor_;
- if (yych == 'l') goto yy1279;
+ if (yych == 'a') goto yy1280;
goto yy87;
yy1067:
yych = *++cursor_;
@@ -6279,49 +6280,53 @@ yy1067:
goto yy87;
yy1068:
yych = *++cursor_;
- if (yych == 'b') goto yy1283;
+ if (yych == 'l') goto yy1283;
goto yy87;
yy1069:
+ yych = *++cursor_;
+ if (yych == 'b') goto yy1285;
+ goto yy87;
+yy1070:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 563 "src/wast-lexer.cc"
+#line 564 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, V128And); }
-#line 6292 "src/prebuilt/wast-lexer-gen.cc"
-yy1071:
- yych = *++cursor_;
- if (yych == 's') goto yy1284;
- goto yy87;
+#line 6297 "src/prebuilt/wast-lexer-gen.cc"
yy1072:
yych = *++cursor_;
- if (yych == 's') goto yy1285;
+ if (yych == 's') goto yy1286;
goto yy87;
yy1073:
yych = *++cursor_;
- if (yych == 'd') goto yy1286;
+ if (yych == 's') goto yy1287;
goto yy87;
yy1074:
+ yych = *++cursor_;
+ if (yych == 'd') goto yy1288;
+ goto yy87;
+yy1075:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 566 "src/wast-lexer.cc"
+#line 567 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, V128Not); }
-#line 6312 "src/prebuilt/wast-lexer-gen.cc"
-yy1076:
+#line 6317 "src/prebuilt/wast-lexer-gen.cc"
+yy1077:
yych = *++cursor_;
- if (yych == 'r') goto yy1288;
+ if (yych == 'r') goto yy1290;
goto yy87;
-yy1077:
+yy1078:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 565 "src/wast-lexer.cc"
+#line 566 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, V128Xor); }
-#line 6324 "src/prebuilt/wast-lexer-gen.cc"
-yy1079:
+#line 6329 "src/prebuilt/wast-lexer-gen.cc"
+yy1080:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
@@ -6333,517 +6338,517 @@ yy1079:
} else {
if (yych <= ')') goto yy649;
if (yych <= '/') goto yy86;
- if (yych <= '9') goto yy1079;
+ if (yych <= '9') goto yy1080;
goto yy86;
}
} else {
if (yych <= '^') {
if (yych <= ';') goto yy649;
if (yych <= '@') goto yy86;
- if (yych <= 'F') goto yy1079;
+ if (yych <= 'F') goto yy1080;
goto yy86;
} else {
if (yych <= '`') {
if (yych <= '_') goto yy850;
goto yy86;
} else {
- if (yych <= 'f') goto yy1079;
+ if (yych <= 'f') goto yy1080;
if (yych <= '~') goto yy86;
goto yy649;
}
}
}
-yy1081:
- yych = *++cursor_;
- if (yych == 'h') goto yy1289;
- goto yy87;
yy1082:
yych = *++cursor_;
- if (yych == 'v') goto yy1290;
+ if (yych == 'h') goto yy1291;
goto yy87;
yy1083:
yych = *++cursor_;
- if (yych == 'l') goto yy1291;
+ if (yych == 'v') goto yy1292;
goto yy87;
yy1084:
yych = *++cursor_;
- if (yych == 't') goto yy1292;
+ if (yych == 'l') goto yy1293;
goto yy87;
yy1085:
yych = *++cursor_;
- if (yych == 'a') goto yy1293;
+ if (yych == 't') goto yy1294;
goto yy87;
yy1086:
yych = *++cursor_;
- if (yych == 'l') goto yy1294;
+ if (yych == 'a') goto yy1295;
goto yy87;
yy1087:
yych = *++cursor_;
- if (yych == 'k') goto yy1295;
+ if (yych == 'l') goto yy1296;
goto yy87;
yy1088:
yych = *++cursor_;
- if (yych == 'r') goto yy1296;
+ if (yych == 'k') goto yy1297;
goto yy87;
yy1089:
yych = *++cursor_;
- if (yych == 'e') goto yy1297;
+ if (yych == 'r') goto yy1298;
goto yy87;
yy1090:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1299;
+ goto yy87;
+yy1091:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 310 "src/wast-lexer.cc"
{ RETURN_OPCODE(Const, F32Const); }
-#line 6400 "src/prebuilt/wast-lexer-gen.cc"
-yy1092:
- yych = *++cursor_;
- if (yych == 'r') goto yy1298;
- goto yy87;
+#line 6405 "src/prebuilt/wast-lexer-gen.cc"
yy1093:
yych = *++cursor_;
- if (yych == 'i') goto yy1299;
+ if (yych == 'r') goto yy1300;
goto yy87;
yy1094:
yych = *++cursor_;
- if (yych == 'e') goto yy1300;
+ if (yych == 'i') goto yy1301;
goto yy87;
yy1095:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1302;
+ goto yy87;
+yy1096:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 328 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Floor); }
-#line 6420 "src/prebuilt/wast-lexer-gen.cc"
-yy1097:
- yych = *++cursor_;
- if (yych == 's') goto yy1301;
- goto yy87;
+#line 6425 "src/prebuilt/wast-lexer-gen.cc"
yy1098:
yych = *++cursor_;
- if (yych == 'e') goto yy1302;
+ if (yych == 's') goto yy1303;
goto yy87;
yy1099:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1304;
+ goto yy87;
+yy1100:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 289 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, F32Store); }
-#line 6436 "src/prebuilt/wast-lexer-gen.cc"
-yy1101:
+#line 6441 "src/prebuilt/wast-lexer-gen.cc"
+yy1102:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 330 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Trunc); }
-#line 6444 "src/prebuilt/wast-lexer-gen.cc"
-yy1103:
+#line 6449 "src/prebuilt/wast-lexer-gen.cc"
+yy1104:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 620 "src/wast-lexer.cc"
+#line 621 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32X4Abs); }
-#line 6452 "src/prebuilt/wast-lexer-gen.cc"
-yy1105:
+#line 6457 "src/prebuilt/wast-lexer-gen.cc"
+yy1106:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 626 "src/wast-lexer.cc"
+#line 627 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Add); }
-#line 6460 "src/prebuilt/wast-lexer-gen.cc"
-yy1107:
+#line 6465 "src/prebuilt/wast-lexer-gen.cc"
+yy1108:
yych = *++cursor_;
- if (yych == 'v') goto yy1303;
+ if (yych == 'v') goto yy1305;
goto yy87;
-yy1108:
+yy1109:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 630 "src/wast-lexer.cc"
+#line 631 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Div); }
-#line 6472 "src/prebuilt/wast-lexer-gen.cc"
-yy1110:
+#line 6477 "src/prebuilt/wast-lexer-gen.cc"
+yy1111:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 624 "src/wast-lexer.cc"
+#line 625 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Max); }
-#line 6480 "src/prebuilt/wast-lexer-gen.cc"
-yy1112:
+#line 6485 "src/prebuilt/wast-lexer-gen.cc"
+yy1113:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 622 "src/wast-lexer.cc"
+#line 623 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Min); }
-#line 6488 "src/prebuilt/wast-lexer-gen.cc"
-yy1114:
+#line 6493 "src/prebuilt/wast-lexer-gen.cc"
+yy1115:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 632 "src/wast-lexer.cc"
+#line 633 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Mul); }
-#line 6496 "src/prebuilt/wast-lexer-gen.cc"
-yy1116:
+#line 6501 "src/prebuilt/wast-lexer-gen.cc"
+yy1117:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 618 "src/wast-lexer.cc"
+#line 619 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32X4Neg); }
-#line 6504 "src/prebuilt/wast-lexer-gen.cc"
-yy1118:
- yych = *++cursor_;
- if (yych == 'a') goto yy1304;
- goto yy87;
+#line 6509 "src/prebuilt/wast-lexer-gen.cc"
yy1119:
yych = *++cursor_;
- if (yych == 't') goto yy1305;
+ if (yych == 'a') goto yy1306;
goto yy87;
yy1120:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1307;
+ goto yy87;
+yy1121:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 628 "src/wast-lexer.cc"
+#line 629 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Sub); }
-#line 6520 "src/prebuilt/wast-lexer-gen.cc"
-yy1122:
+#line 6525 "src/prebuilt/wast-lexer-gen.cc"
+yy1123:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 311 "src/wast-lexer.cc"
{ RETURN_OPCODE(Const, F64Const); }
-#line 6528 "src/prebuilt/wast-lexer-gen.cc"
-yy1124:
- yych = *++cursor_;
- if (yych == 'r') goto yy1307;
- goto yy87;
+#line 6533 "src/prebuilt/wast-lexer-gen.cc"
yy1125:
yych = *++cursor_;
- if (yych == 'i') goto yy1308;
+ if (yych == 'r') goto yy1309;
goto yy87;
yy1126:
+ yych = *++cursor_;
+ if (yych == 'i') goto yy1310;
+ goto yy87;
+yy1127:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 329 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Floor); }
-#line 6544 "src/prebuilt/wast-lexer-gen.cc"
-yy1128:
- yych = *++cursor_;
- if (yych == 's') goto yy1309;
- goto yy87;
+#line 6549 "src/prebuilt/wast-lexer-gen.cc"
yy1129:
yych = *++cursor_;
- if (yych == 't') goto yy1310;
+ if (yych == 's') goto yy1311;
goto yy87;
yy1130:
yych = *++cursor_;
- if (yych == 'e') goto yy1311;
+ if (yych == 't') goto yy1312;
goto yy87;
yy1131:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1313;
+ goto yy87;
+yy1132:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 290 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, F64Store); }
-#line 6564 "src/prebuilt/wast-lexer-gen.cc"
-yy1133:
+#line 6569 "src/prebuilt/wast-lexer-gen.cc"
+yy1134:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 331 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Trunc); }
-#line 6572 "src/prebuilt/wast-lexer-gen.cc"
-yy1135:
+#line 6577 "src/prebuilt/wast-lexer-gen.cc"
+yy1136:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 621 "src/wast-lexer.cc"
+#line 622 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64X2Abs); }
-#line 6580 "src/prebuilt/wast-lexer-gen.cc"
-yy1137:
+#line 6585 "src/prebuilt/wast-lexer-gen.cc"
+yy1138:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 627 "src/wast-lexer.cc"
+#line 628 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Add); }
-#line 6588 "src/prebuilt/wast-lexer-gen.cc"
-yy1139:
+#line 6593 "src/prebuilt/wast-lexer-gen.cc"
+yy1140:
yych = *++cursor_;
- if (yych == 'v') goto yy1312;
+ if (yych == 'v') goto yy1314;
goto yy87;
-yy1140:
+yy1141:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 631 "src/wast-lexer.cc"
+#line 632 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Div); }
-#line 6600 "src/prebuilt/wast-lexer-gen.cc"
-yy1142:
+#line 6605 "src/prebuilt/wast-lexer-gen.cc"
+yy1143:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 625 "src/wast-lexer.cc"
+#line 626 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Max); }
-#line 6608 "src/prebuilt/wast-lexer-gen.cc"
-yy1144:
+#line 6613 "src/prebuilt/wast-lexer-gen.cc"
+yy1145:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 623 "src/wast-lexer.cc"
+#line 624 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Min); }
-#line 6616 "src/prebuilt/wast-lexer-gen.cc"
-yy1146:
+#line 6621 "src/prebuilt/wast-lexer-gen.cc"
+yy1147:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 633 "src/wast-lexer.cc"
+#line 634 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Mul); }
-#line 6624 "src/prebuilt/wast-lexer-gen.cc"
-yy1148:
+#line 6629 "src/prebuilt/wast-lexer-gen.cc"
+yy1149:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 619 "src/wast-lexer.cc"
+#line 620 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64X2Neg); }
-#line 6632 "src/prebuilt/wast-lexer-gen.cc"
-yy1150:
- yych = *++cursor_;
- if (yych == 'a') goto yy1313;
- goto yy87;
+#line 6637 "src/prebuilt/wast-lexer-gen.cc"
yy1151:
yych = *++cursor_;
- if (yych == 't') goto yy1314;
+ if (yych == 'a') goto yy1315;
goto yy87;
yy1152:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1316;
+ goto yy87;
+yy1153:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 629 "src/wast-lexer.cc"
+#line 630 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Sub); }
-#line 6648 "src/prebuilt/wast-lexer-gen.cc"
-yy1154:
+#line 6653 "src/prebuilt/wast-lexer-gen.cc"
+yy1155:
yych = *++cursor_;
- if (yych == 'l') goto yy1316;
+ if (yych == 'l') goto yy1318;
goto yy87;
-yy1155:
+yy1156:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 278 "src/wast-lexer.cc"
{ RETURN_OPCODE0(GetLocal); }
-#line 6660 "src/prebuilt/wast-lexer-gen.cc"
-yy1157:
+#line 6665 "src/prebuilt/wast-lexer-gen.cc"
+yy1158:
yych = *++cursor_;
- if (yych == 'r') goto yy1318;
+ if (yych == 'r') goto yy1320;
goto yy87;
-yy1158:
+yy1159:
++cursor_;
if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy1159;
+ if (yych <= '"') goto yy1160;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy1319;
+ if (yych <= '_') goto yy1321;
if (yych <= '~') goto yy86;
}
}
-yy1159:
-#line 529 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I16X8Add); }
-#line 6685 "src/prebuilt/wast-lexer-gen.cc"
yy1160:
- yych = *++cursor_;
- if (yych == '_') goto yy1320;
- goto yy87;
+#line 530 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I16X8Add); }
+#line 6690 "src/prebuilt/wast-lexer-gen.cc"
yy1161:
yych = *++cursor_;
- if (yych == '_') goto yy1321;
+ if (yych == '_') goto yy1322;
goto yy87;
yy1162:
yych = *++cursor_;
- if (yych == 's') goto yy1322;
- if (yych == 'u') goto yy1324;
+ if (yych == '_') goto yy1323;
goto yy87;
yy1163:
yych = *++cursor_;
- if (yych == 's') goto yy1326;
- if (yych == 'u') goto yy1328;
+ if (yych == 's') goto yy1324;
+ if (yych == 'u') goto yy1326;
goto yy87;
yy1164:
yych = *++cursor_;
- if (yych == 's') goto yy1330;
- if (yych == 'u') goto yy1332;
+ if (yych == 's') goto yy1328;
+ if (yych == 'u') goto yy1330;
goto yy87;
yy1165:
yych = *++cursor_;
- if (yych == 's') goto yy1334;
- if (yych == 'u') goto yy1336;
+ if (yych == 's') goto yy1332;
+ if (yych == 'u') goto yy1334;
goto yy87;
yy1166:
+ yych = *++cursor_;
+ if (yych == 's') goto yy1336;
+ if (yych == 'u') goto yy1338;
+ goto yy87;
+yy1167:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 537 "src/wast-lexer.cc"
+#line 538 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8Mul); }
-#line 6721 "src/prebuilt/wast-lexer-gen.cc"
-yy1168:
+#line 6726 "src/prebuilt/wast-lexer-gen.cc"
+yy1169:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 540 "src/wast-lexer.cc"
+#line 541 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I16X8Neg); }
-#line 6729 "src/prebuilt/wast-lexer-gen.cc"
-yy1170:
+#line 6734 "src/prebuilt/wast-lexer-gen.cc"
+yy1171:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 552 "src/wast-lexer.cc"
+#line 553 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8Shl); }
-#line 6737 "src/prebuilt/wast-lexer-gen.cc"
-yy1172:
- yych = *++cursor_;
- if (yych == '_') goto yy1338;
- goto yy87;
+#line 6742 "src/prebuilt/wast-lexer-gen.cc"
yy1173:
yych = *++cursor_;
- if (yych == 'a') goto yy1339;
+ if (yych == '_') goto yy1340;
goto yy87;
yy1174:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1341;
+ goto yy87;
+yy1175:
++cursor_;
if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy1175;
+ if (yych <= '"') goto yy1176;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy1340;
+ if (yych <= '_') goto yy1342;
if (yych <= '~') goto yy86;
}
}
-yy1175:
-#line 533 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I16X8Sub); }
-#line 6766 "src/prebuilt/wast-lexer-gen.cc"
yy1176:
+#line 534 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I16X8Sub); }
+#line 6771 "src/prebuilt/wast-lexer-gen.cc"
+yy1177:
yych = *++cursor_;
- if (yych == 'c') goto yy1341;
+ if (yych == 'c') goto yy1343;
goto yy87;
-yy1177:
+yy1178:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 308 "src/wast-lexer.cc"
{ RETURN_OPCODE(Const, I32Const); }
-#line 6778 "src/prebuilt/wast-lexer-gen.cc"
-yy1179:
+#line 6783 "src/prebuilt/wast-lexer-gen.cc"
+yy1180:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 345 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32DivS); }
-#line 6786 "src/prebuilt/wast-lexer-gen.cc"
-yy1181:
+#line 6791 "src/prebuilt/wast-lexer-gen.cc"
+yy1182:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 347 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32DivU); }
-#line 6794 "src/prebuilt/wast-lexer-gen.cc"
-yy1183:
- yych = *++cursor_;
- if (yych == 'd') goto yy1342;
- goto yy87;
+#line 6799 "src/prebuilt/wast-lexer-gen.cc"
yy1184:
yych = *++cursor_;
- if (yych == '6') goto yy1343;
+ if (yych == 'd') goto yy1344;
goto yy87;
yy1185:
yych = *++cursor_;
- if (yych == '_') goto yy1344;
+ if (yych == '6') goto yy1345;
goto yy87;
yy1186:
yych = *++cursor_;
- if (yych == 't') goto yy1345;
+ if (yych == '_') goto yy1346;
goto yy87;
yy1187:
yych = *++cursor_;
- if (yych == 'e') goto yy1347;
+ if (yych == 't') goto yy1347;
goto yy87;
yy1188:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1349;
+ goto yy87;
+yy1189:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 349 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32RemS); }
-#line 6822 "src/prebuilt/wast-lexer-gen.cc"
-yy1190:
+#line 6827 "src/prebuilt/wast-lexer-gen.cc"
+yy1191:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 351 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32RemU); }
-#line 6830 "src/prebuilt/wast-lexer-gen.cc"
-yy1192:
+#line 6835 "src/prebuilt/wast-lexer-gen.cc"
+yy1193:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 361 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32ShrS); }
-#line 6838 "src/prebuilt/wast-lexer-gen.cc"
-yy1194:
+#line 6843 "src/prebuilt/wast-lexer-gen.cc"
+yy1195:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 363 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32ShrU); }
-#line 6846 "src/prebuilt/wast-lexer-gen.cc"
-yy1196:
+#line 6851 "src/prebuilt/wast-lexer-gen.cc"
+yy1197:
++cursor_;
if ((yych = *cursor_) <= '0') {
if (yych <= '"') {
@@ -6854,382 +6859,386 @@ yy1196:
}
} else {
if (yych <= '8') {
- if (yych <= '1') goto yy1348;
+ if (yych <= '1') goto yy1350;
if (yych <= '7') goto yy86;
- goto yy1349;
+ goto yy1351;
} else {
- if (yych == ';') goto yy1197;
+ if (yych == ';') goto yy1198;
if (yych <= '~') goto yy86;
}
}
-yy1197:
+yy1198:
#line 287 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I32Store); }
-#line 6869 "src/prebuilt/wast-lexer-gen.cc"
-yy1198:
- yych = *++cursor_;
- if (yych == '_') goto yy1351;
- goto yy87;
+#line 6874 "src/prebuilt/wast-lexer-gen.cc"
yy1199:
yych = *++cursor_;
- if (yych == 'i') goto yy1352;
+ if (yych == '_') goto yy1353;
goto yy87;
yy1200:
+ yych = *++cursor_;
+ if (yych == 'i') goto yy1354;
+ goto yy87;
+yy1201:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 530 "src/wast-lexer.cc"
+#line 531 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4Add); }
-#line 6885 "src/prebuilt/wast-lexer-gen.cc"
-yy1202:
- yych = *++cursor_;
- if (yych == '_') goto yy1353;
- goto yy87;
+#line 6890 "src/prebuilt/wast-lexer-gen.cc"
yy1203:
yych = *++cursor_;
- if (yych == '_') goto yy1354;
+ if (yych == '_') goto yy1355;
goto yy87;
yy1204:
yych = *++cursor_;
- if (yych == 's') goto yy1355;
- if (yych == 'u') goto yy1357;
+ if (yych == '_') goto yy1356;
goto yy87;
yy1205:
yych = *++cursor_;
- if (yych == 's') goto yy1359;
- if (yych == 'u') goto yy1361;
+ if (yych == 's') goto yy1357;
+ if (yych == 'u') goto yy1359;
goto yy87;
yy1206:
yych = *++cursor_;
- if (yych == 's') goto yy1363;
- if (yych == 'u') goto yy1365;
+ if (yych == 's') goto yy1361;
+ if (yych == 'u') goto yy1363;
goto yy87;
yy1207:
yych = *++cursor_;
- if (yych == 's') goto yy1367;
- if (yych == 'u') goto yy1369;
+ if (yych == 's') goto yy1365;
+ if (yych == 'u') goto yy1367;
goto yy87;
yy1208:
+ yych = *++cursor_;
+ if (yych == 's') goto yy1369;
+ if (yych == 'u') goto yy1371;
+ goto yy87;
+yy1209:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 538 "src/wast-lexer.cc"
+#line 539 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4Mul); }
-#line 6921 "src/prebuilt/wast-lexer-gen.cc"
-yy1210:
+#line 6926 "src/prebuilt/wast-lexer-gen.cc"
+yy1211:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 541 "src/wast-lexer.cc"
+#line 542 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32X4Neg); }
-#line 6929 "src/prebuilt/wast-lexer-gen.cc"
-yy1212:
+#line 6934 "src/prebuilt/wast-lexer-gen.cc"
+yy1213:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 553 "src/wast-lexer.cc"
+#line 554 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4Shl); }
-#line 6937 "src/prebuilt/wast-lexer-gen.cc"
-yy1214:
- yych = *++cursor_;
- if (yych == '_') goto yy1371;
- goto yy87;
+#line 6942 "src/prebuilt/wast-lexer-gen.cc"
yy1215:
yych = *++cursor_;
- if (yych == 'a') goto yy1372;
+ if (yych == '_') goto yy1373;
goto yy87;
yy1216:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1374;
+ goto yy87;
+yy1217:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 534 "src/wast-lexer.cc"
+#line 535 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4Sub); }
-#line 6953 "src/prebuilt/wast-lexer-gen.cc"
-yy1218:
- yych = *++cursor_;
- if (yych == 'n') goto yy1373;
- goto yy87;
+#line 6958 "src/prebuilt/wast-lexer-gen.cc"
yy1219:
yych = *++cursor_;
- if (yych == 'c') goto yy1374;
+ if (yych == 'n') goto yy1375;
goto yy87;
yy1220:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy1376;
+ goto yy87;
+yy1221:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 309 "src/wast-lexer.cc"
{ RETURN_OPCODE(Const, I64Const); }
-#line 6969 "src/prebuilt/wast-lexer-gen.cc"
-yy1222:
+#line 6974 "src/prebuilt/wast-lexer-gen.cc"
+yy1223:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 346 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64DivS); }
-#line 6977 "src/prebuilt/wast-lexer-gen.cc"
-yy1224:
+#line 6982 "src/prebuilt/wast-lexer-gen.cc"
+yy1225:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 348 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64DivU); }
-#line 6985 "src/prebuilt/wast-lexer-gen.cc"
-yy1226:
- yych = *++cursor_;
- if (yych == 'd') goto yy1375;
- goto yy87;
+#line 6990 "src/prebuilt/wast-lexer-gen.cc"
yy1227:
yych = *++cursor_;
- if (yych == '6') goto yy1376;
+ if (yych == 'd') goto yy1377;
goto yy87;
yy1228:
yych = *++cursor_;
- if (yych == '2') goto yy1377;
+ if (yych == '6') goto yy1378;
goto yy87;
yy1229:
yych = *++cursor_;
- if (yych == '_') goto yy1378;
+ if (yych == '2') goto yy1379;
goto yy87;
yy1230:
yych = *++cursor_;
- if (yych == 't') goto yy1379;
+ if (yych == '_') goto yy1380;
goto yy87;
yy1231:
yych = *++cursor_;
- if (yych == 'e') goto yy1381;
+ if (yych == 't') goto yy1381;
goto yy87;
yy1232:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1383;
+ goto yy87;
+yy1233:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 350 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64RemS); }
-#line 7017 "src/prebuilt/wast-lexer-gen.cc"
-yy1234:
+#line 7022 "src/prebuilt/wast-lexer-gen.cc"
+yy1235:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 352 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64RemU); }
-#line 7025 "src/prebuilt/wast-lexer-gen.cc"
-yy1236:
+#line 7030 "src/prebuilt/wast-lexer-gen.cc"
+yy1237:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 362 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64ShrS); }
-#line 7033 "src/prebuilt/wast-lexer-gen.cc"
-yy1238:
+#line 7038 "src/prebuilt/wast-lexer-gen.cc"
+yy1239:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 364 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64ShrU); }
-#line 7041 "src/prebuilt/wast-lexer-gen.cc"
-yy1240:
+#line 7046 "src/prebuilt/wast-lexer-gen.cc"
+yy1241:
++cursor_;
if ((yych = *cursor_) <= '1') {
if (yych <= '"') {
if (yych == '!') goto yy86;
} else {
if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy1241;
+ if (yych <= ')') goto yy1242;
if (yych <= '0') goto yy86;
- goto yy1382;
+ goto yy1384;
}
} else {
if (yych <= '8') {
- if (yych == '3') goto yy1383;
+ if (yych == '3') goto yy1385;
if (yych <= '7') goto yy86;
- goto yy1384;
+ goto yy1386;
} else {
- if (yych == ';') goto yy1241;
+ if (yych == ';') goto yy1242;
if (yych <= '~') goto yy86;
}
}
-yy1241:
+yy1242:
#line 288 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I64Store); }
-#line 7066 "src/prebuilt/wast-lexer-gen.cc"
-yy1242:
+#line 7071 "src/prebuilt/wast-lexer-gen.cc"
+yy1243:
yych = *++cursor_;
- if (yych == '_') goto yy1386;
+ if (yych == '_') goto yy1388;
goto yy87;
-yy1243:
+yy1244:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 531 "src/wast-lexer.cc"
+#line 532 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64X2Add); }
-#line 7078 "src/prebuilt/wast-lexer-gen.cc"
-yy1245:
- yych = *++cursor_;
- if (yych == '_') goto yy1387;
- goto yy87;
+#line 7083 "src/prebuilt/wast-lexer-gen.cc"
yy1246:
yych = *++cursor_;
- if (yych == '_') goto yy1388;
+ if (yych == '_') goto yy1389;
goto yy87;
yy1247:
+ yych = *++cursor_;
+ if (yych == '_') goto yy1390;
+ goto yy87;
+yy1248:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 542 "src/wast-lexer.cc"
+#line 543 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64X2Neg); }
-#line 7094 "src/prebuilt/wast-lexer-gen.cc"
-yy1249:
+#line 7099 "src/prebuilt/wast-lexer-gen.cc"
+yy1250:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 554 "src/wast-lexer.cc"
+#line 555 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64X2Shl); }
-#line 7102 "src/prebuilt/wast-lexer-gen.cc"
-yy1251:
- yych = *++cursor_;
- if (yych == '_') goto yy1389;
- goto yy87;
+#line 7107 "src/prebuilt/wast-lexer-gen.cc"
yy1252:
yych = *++cursor_;
- if (yych == 'a') goto yy1390;
+ if (yych == '_') goto yy1391;
goto yy87;
yy1253:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1392;
+ goto yy87;
+yy1254:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 535 "src/wast-lexer.cc"
+#line 536 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64X2Sub); }
-#line 7118 "src/prebuilt/wast-lexer-gen.cc"
-yy1255:
+#line 7123 "src/prebuilt/wast-lexer-gen.cc"
+yy1256:
yych = *++cursor_;
- if (yych == 'n') goto yy1391;
+ if (yych == 'n') goto yy1393;
goto yy87;
-yy1256:
+yy1257:
++cursor_;
if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy1257;
+ if (yych <= '"') goto yy1258;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy1392;
+ if (yych <= '_') goto yy1394;
if (yych <= '~') goto yy86;
}
}
-yy1257:
-#line 528 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I8X16Add); }
-#line 7143 "src/prebuilt/wast-lexer-gen.cc"
yy1258:
- yych = *++cursor_;
- if (yych == '_') goto yy1393;
- goto yy87;
+#line 529 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I8X16Add); }
+#line 7148 "src/prebuilt/wast-lexer-gen.cc"
yy1259:
yych = *++cursor_;
- if (yych == '_') goto yy1394;
+ if (yych == '_') goto yy1395;
goto yy87;
yy1260:
yych = *++cursor_;
- if (yych == 's') goto yy1395;
- if (yych == 'u') goto yy1397;
+ if (yych == '_') goto yy1396;
goto yy87;
yy1261:
yych = *++cursor_;
- if (yych == 's') goto yy1399;
- if (yych == 'u') goto yy1401;
+ if (yych == 'r') goto yy1397;
goto yy87;
yy1262:
yych = *++cursor_;
- if (yych == 's') goto yy1403;
- if (yych == 'u') goto yy1405;
+ if (yych == 's') goto yy1398;
+ if (yych == 'u') goto yy1400;
goto yy87;
yy1263:
yych = *++cursor_;
- if (yych == 's') goto yy1407;
- if (yych == 'u') goto yy1409;
+ if (yych == 's') goto yy1402;
+ if (yych == 'u') goto yy1404;
goto yy87;
yy1264:
+ yych = *++cursor_;
+ if (yych == 's') goto yy1406;
+ if (yych == 'u') goto yy1408;
+ goto yy87;
+yy1265:
+ yych = *++cursor_;
+ if (yych == 's') goto yy1410;
+ if (yych == 'u') goto yy1412;
+ goto yy87;
+yy1266:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 536 "src/wast-lexer.cc"
+#line 537 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16Mul); }
-#line 7179 "src/prebuilt/wast-lexer-gen.cc"
-yy1266:
+#line 7188 "src/prebuilt/wast-lexer-gen.cc"
+yy1268:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 539 "src/wast-lexer.cc"
+#line 540 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I8X16Neg); }
-#line 7187 "src/prebuilt/wast-lexer-gen.cc"
-yy1268:
+#line 7196 "src/prebuilt/wast-lexer-gen.cc"
+yy1270:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 551 "src/wast-lexer.cc"
+#line 552 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16Shl); }
-#line 7195 "src/prebuilt/wast-lexer-gen.cc"
-yy1270:
+#line 7204 "src/prebuilt/wast-lexer-gen.cc"
+yy1272:
yych = *++cursor_;
- if (yych == '_') goto yy1411;
+ if (yych == '_') goto yy1414;
goto yy87;
-yy1271:
+yy1273:
yych = *++cursor_;
- if (yych == 'a') goto yy1412;
+ if (yych == 'a') goto yy1415;
goto yy87;
-yy1272:
+yy1274:
++cursor_;
if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy1273;
+ if (yych <= '"') goto yy1275;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy1413;
+ if (yych <= '_') goto yy1416;
if (yych <= '~') goto yy86;
}
}
-yy1273:
-#line 532 "src/wast-lexer.cc"
+yy1275:
+#line 533 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16Sub); }
-#line 7224 "src/prebuilt/wast-lexer-gen.cc"
-yy1274:
+#line 7233 "src/prebuilt/wast-lexer-gen.cc"
+yy1276:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 678 "src/wast-lexer.cc"
+#line 679 "src/wast-lexer.cc"
{ RETURN_OPCODE0(IfExcept); }
-#line 7232 "src/prebuilt/wast-lexer-gen.cc"
-yy1276:
+#line 7241 "src/prebuilt/wast-lexer-gen.cc"
+yy1278:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
@@ -7245,7 +7254,7 @@ yy1276:
} else {
if (yych <= ':') {
if (yych <= '/') goto yy86;
- if (yych <= '9') goto yy1061;
+ if (yych <= '9') goto yy1062;
goto yy86;
} else {
if (yych <= ';') goto yy88;
@@ -7253,7 +7262,7 @@ yy1276:
goto yy88;
}
}
-yy1277:
+yy1279:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
@@ -7265,1365 +7274,1356 @@ yy1277:
if (yych <= '\'') goto yy86;
if (yych <= ')') goto yy88;
if (yych <= '/') goto yy86;
- goto yy1414;
+ goto yy1417;
}
} else {
if (yych <= 'F') {
if (yych == ';') goto yy88;
if (yych <= '@') goto yy86;
- goto yy1414;
+ goto yy1417;
} else {
if (yych <= '`') goto yy86;
- if (yych <= 'f') goto yy1414;
+ if (yych <= 'f') goto yy1417;
if (yych <= '~') goto yy86;
goto yy88;
}
}
-yy1278:
+yy1280:
yych = *++cursor_;
- if (yych == 'l') goto yy1416;
+ if (yych == 'l') goto yy1419;
goto yy87;
-yy1279:
+yy1281:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 279 "src/wast-lexer.cc"
{ RETURN_OPCODE0(SetLocal); }
-#line 7294 "src/prebuilt/wast-lexer-gen.cc"
-yy1281:
+#line 7303 "src/prebuilt/wast-lexer-gen.cc"
+yy1283:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 280 "src/wast-lexer.cc"
{ RETURN_OPCODE0(TeeLocal); }
-#line 7302 "src/prebuilt/wast-lexer-gen.cc"
-yy1283:
+#line 7311 "src/prebuilt/wast-lexer-gen.cc"
+yy1285:
yych = *++cursor_;
- if (yych == 'l') goto yy1418;
+ if (yych == 'l') goto yy1421;
goto yy87;
-yy1284:
+yy1286:
yych = *++cursor_;
- if (yych == 'e') goto yy1419;
+ if (yych == 'e') goto yy1422;
goto yy87;
-yy1285:
+yy1287:
yych = *++cursor_;
- if (yych == 't') goto yy1420;
+ if (yych == 't') goto yy1423;
goto yy87;
-yy1286:
+yy1288:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 520 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, V128Load); }
-#line 7322 "src/prebuilt/wast-lexer-gen.cc"
-yy1288:
- yych = *++cursor_;
- if (yych == 'e') goto yy1422;
- goto yy87;
-yy1289:
- yych = *++cursor_;
- if (yych == 'a') goto yy1424;
- goto yy87;
+#line 7331 "src/prebuilt/wast-lexer-gen.cc"
yy1290:
yych = *++cursor_;
- if (yych == 'a') goto yy1425;
+ if (yych == 'e') goto yy1425;
goto yy87;
yy1291:
yych = *++cursor_;
- if (yych == 'f') goto yy1426;
+ if (yych == 'a') goto yy1427;
goto yy87;
yy1292:
yych = *++cursor_;
- if (yych == 'u') goto yy1427;
+ if (yych == 'a') goto yy1428;
goto yy87;
yy1293:
yych = *++cursor_;
- if (yych == 'p') goto yy1428;
+ if (yych == 'f') goto yy1429;
goto yy87;
yy1294:
yych = *++cursor_;
- if (yych == 'i') goto yy1430;
+ if (yych == 'u') goto yy1430;
goto yy87;
yy1295:
yych = *++cursor_;
- if (yych == 'e') goto yy1431;
+ if (yych == 'p') goto yy1431;
goto yy87;
yy1296:
yych = *++cursor_;
- if (yych == 'e') goto yy1433;
+ if (yych == 'i') goto yy1433;
goto yy87;
yy1297:
yych = *++cursor_;
- if (yych == 'm') goto yy1434;
+ if (yych == 'e') goto yy1434;
goto yy87;
yy1298:
yych = *++cursor_;
- if (yych == 't') goto yy1435;
+ if (yych == 'e') goto yy1436;
goto yy87;
yy1299:
yych = *++cursor_;
- if (yych == 'g') goto yy1436;
+ if (yych == 'm') goto yy1437;
goto yy87;
yy1300:
yych = *++cursor_;
- if (yych == '/') goto yy1437;
+ if (yych == 't') goto yy1438;
goto yy87;
yy1301:
yych = *++cursor_;
- if (yych == 't') goto yy1438;
+ if (yych == 'g') goto yy1439;
goto yy87;
yy1302:
yych = *++cursor_;
- if (yych == 'r') goto yy1440;
+ if (yych == '/') goto yy1440;
goto yy87;
yy1303:
yych = *++cursor_;
- if (yych == 'e') goto yy1441;
+ if (yych == 't') goto yy1441;
goto yy87;
yy1304:
yych = *++cursor_;
- if (yych == 't') goto yy1442;
+ if (yych == 'r') goto yy1443;
goto yy87;
yy1305:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1444;
+ goto yy87;
+yy1306:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1445;
+ goto yy87;
+yy1307:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 634 "src/wast-lexer.cc"
+#line 635 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32X4Sqrt); }
-#line 7398 "src/prebuilt/wast-lexer-gen.cc"
-yy1307:
- yych = *++cursor_;
- if (yych == 't') goto yy1444;
- goto yy87;
-yy1308:
- yych = *++cursor_;
- if (yych == 'g') goto yy1445;
- goto yy87;
+#line 7407 "src/prebuilt/wast-lexer-gen.cc"
yy1309:
yych = *++cursor_;
- if (yych == 't') goto yy1446;
+ if (yych == 't') goto yy1447;
goto yy87;
yy1310:
yych = *++cursor_;
- if (yych == 'e') goto yy1448;
+ if (yych == 'g') goto yy1448;
goto yy87;
yy1311:
yych = *++cursor_;
- if (yych == 'r') goto yy1449;
+ if (yych == 't') goto yy1449;
goto yy87;
yy1312:
yych = *++cursor_;
- if (yych == 'e') goto yy1450;
+ if (yych == 'e') goto yy1451;
goto yy87;
yy1313:
yych = *++cursor_;
- if (yych == 't') goto yy1451;
+ if (yych == 'r') goto yy1452;
goto yy87;
yy1314:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1453;
+ goto yy87;
+yy1315:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1454;
+ goto yy87;
+yy1316:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 635 "src/wast-lexer.cc"
+#line 636 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64X2Sqrt); }
-#line 7434 "src/prebuilt/wast-lexer-gen.cc"
-yy1316:
+#line 7443 "src/prebuilt/wast-lexer-gen.cc"
+yy1318:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 281 "src/wast-lexer.cc"
{ RETURN_OPCODE0(GetGlobal); }
-#line 7442 "src/prebuilt/wast-lexer-gen.cc"
-yy1318:
+#line 7451 "src/prebuilt/wast-lexer-gen.cc"
+yy1320:
yych = *++cursor_;
- if (yych == 'y') goto yy1453;
+ if (yych == 'y') goto yy1456;
goto yy87;
-yy1319:
+yy1321:
yych = *++cursor_;
- if (yych == 's') goto yy1455;
+ if (yych == 's') goto yy1458;
goto yy87;
-yy1320:
+yy1322:
yych = *++cursor_;
- if (yych == 't') goto yy1456;
+ if (yych == 't') goto yy1459;
goto yy87;
-yy1321:
+yy1323:
yych = *++cursor_;
- if (yych == 't') goto yy1457;
+ if (yych == 't') goto yy1460;
goto yy87;
-yy1322:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 612 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I16X8GeS); }
-#line 7466 "src/prebuilt/wast-lexer-gen.cc"
yy1324:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 613 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I16X8GeU); }
-#line 7474 "src/prebuilt/wast-lexer-gen.cc"
+ { RETURN_OPCODE(Compare, I16X8GeS); }
+#line 7475 "src/prebuilt/wast-lexer-gen.cc"
yy1326:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 604 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I16X8GtS); }
-#line 7482 "src/prebuilt/wast-lexer-gen.cc"
+#line 614 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I16X8GeU); }
+#line 7483 "src/prebuilt/wast-lexer-gen.cc"
yy1328:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 605 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I16X8GtU); }
-#line 7490 "src/prebuilt/wast-lexer-gen.cc"
+ { RETURN_OPCODE(Compare, I16X8GtS); }
+#line 7491 "src/prebuilt/wast-lexer-gen.cc"
yy1330:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 596 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I16X8LeS); }
-#line 7498 "src/prebuilt/wast-lexer-gen.cc"
+#line 606 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I16X8GtU); }
+#line 7499 "src/prebuilt/wast-lexer-gen.cc"
yy1332:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 597 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I16X8LeU); }
-#line 7506 "src/prebuilt/wast-lexer-gen.cc"
+ { RETURN_OPCODE(Compare, I16X8LeS); }
+#line 7507 "src/prebuilt/wast-lexer-gen.cc"
yy1334:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 588 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I16X8LtS); }
-#line 7514 "src/prebuilt/wast-lexer-gen.cc"
+#line 598 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I16X8LeU); }
+#line 7515 "src/prebuilt/wast-lexer-gen.cc"
yy1336:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 589 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I16X8LtU); }
-#line 7522 "src/prebuilt/wast-lexer-gen.cc"
+ { RETURN_OPCODE(Compare, I16X8LtS); }
+#line 7523 "src/prebuilt/wast-lexer-gen.cc"
yy1338:
- yych = *++cursor_;
- if (yych == 's') goto yy1458;
- if (yych == 'u') goto yy1460;
- goto yy87;
-yy1339:
- yych = *++cursor_;
- if (yych == 't') goto yy1462;
- goto yy87;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 590 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I16X8LtU); }
+#line 7531 "src/prebuilt/wast-lexer-gen.cc"
yy1340:
yych = *++cursor_;
- if (yych == 's') goto yy1464;
+ if (yych == 's') goto yy1461;
+ if (yych == 'u') goto yy1463;
goto yy87;
yy1341:
yych = *++cursor_;
- if (yych == '.') goto yy1465;
+ if (yych == 't') goto yy1465;
goto yy87;
yy1342:
yych = *++cursor_;
- if (yych == '1') goto yy1466;
- if (yych == '8') goto yy1467;
+ if (yych == 's') goto yy1467;
goto yy87;
yy1343:
yych = *++cursor_;
- if (yych == '_') goto yy1468;
+ if (yych == '.') goto yy1468;
goto yy87;
yy1344:
yych = *++cursor_;
- if (yych == 's') goto yy1469;
- if (yych == 'u') goto yy1471;
+ if (yych == '1') goto yy1469;
+ if (yych == '8') goto yy1470;
goto yy87;
yy1345:
+ yych = *++cursor_;
+ if (yych == '_') goto yy1471;
+ goto yy87;
+yy1346:
+ yych = *++cursor_;
+ if (yych == 's') goto yy1472;
+ if (yych == 'u') goto yy1474;
+ goto yy87;
+yy1347:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 318 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32Popcnt); }
-#line 7561 "src/prebuilt/wast-lexer-gen.cc"
-yy1347:
+#line 7570 "src/prebuilt/wast-lexer-gen.cc"
+yy1349:
yych = *++cursor_;
- if (yych == 'r') goto yy1473;
+ if (yych == 'r') goto yy1476;
goto yy87;
-yy1348:
+yy1350:
yych = *++cursor_;
- if (yych == '6') goto yy1474;
+ if (yych == '6') goto yy1477;
goto yy87;
-yy1349:
+yy1351:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 301 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I32Store8); }
-#line 7577 "src/prebuilt/wast-lexer-gen.cc"
-yy1351:
+#line 7586 "src/prebuilt/wast-lexer-gen.cc"
+yy1353:
yych = *++cursor_;
- if (yych == 's') goto yy1476;
- if (yych == 'u') goto yy1477;
+ if (yych == 's') goto yy1479;
+ if (yych == 'u') goto yy1480;
goto yy87;
-yy1352:
+yy1354:
yych = *++cursor_;
- if (yych == '6') goto yy1478;
+ if (yych == '6') goto yy1481;
goto yy87;
-yy1353:
+yy1355:
yych = *++cursor_;
- if (yych == 't') goto yy1479;
+ if (yych == 't') goto yy1482;
goto yy87;
-yy1354:
+yy1356:
yych = *++cursor_;
- if (yych == 't') goto yy1480;
+ if (yych == 't') goto yy1483;
goto yy87;
-yy1355:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 614 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I32X4GeS); }
-#line 7602 "src/prebuilt/wast-lexer-gen.cc"
yy1357:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 615 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I32X4GeU); }
-#line 7610 "src/prebuilt/wast-lexer-gen.cc"
+ { RETURN_OPCODE(Compare, I32X4GeS); }
+#line 7611 "src/prebuilt/wast-lexer-gen.cc"
yy1359:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 606 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I32X4GtS); }
-#line 7618 "src/prebuilt/wast-lexer-gen.cc"
+#line 616 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I32X4GeU); }
+#line 7619 "src/prebuilt/wast-lexer-gen.cc"
yy1361:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 607 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I32X4GtU); }
-#line 7626 "src/prebuilt/wast-lexer-gen.cc"
+ { RETURN_OPCODE(Compare, I32X4GtS); }
+#line 7627 "src/prebuilt/wast-lexer-gen.cc"
yy1363:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 598 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I32X4LeS); }
-#line 7634 "src/prebuilt/wast-lexer-gen.cc"
+#line 608 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I32X4GtU); }
+#line 7635 "src/prebuilt/wast-lexer-gen.cc"
yy1365:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 599 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I32X4LeU); }
-#line 7642 "src/prebuilt/wast-lexer-gen.cc"
+ { RETURN_OPCODE(Compare, I32X4LeS); }
+#line 7643 "src/prebuilt/wast-lexer-gen.cc"
yy1367:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 590 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I32X4LtS); }
-#line 7650 "src/prebuilt/wast-lexer-gen.cc"
+#line 600 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I32X4LeU); }
+#line 7651 "src/prebuilt/wast-lexer-gen.cc"
yy1369:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 591 "src/wast-lexer.cc"
- { RETURN_OPCODE(Compare, I32X4LtU); }
-#line 7658 "src/prebuilt/wast-lexer-gen.cc"
+ { RETURN_OPCODE(Compare, I32X4LtS); }
+#line 7659 "src/prebuilt/wast-lexer-gen.cc"
yy1371:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 592 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Compare, I32X4LtU); }
+#line 7667 "src/prebuilt/wast-lexer-gen.cc"
+yy1373:
yych = *++cursor_;
- if (yych == 's') goto yy1481;
- if (yych == 'u') goto yy1483;
+ if (yych == 's') goto yy1484;
+ if (yych == 'u') goto yy1486;
goto yy87;
-yy1372:
+yy1374:
yych = *++cursor_;
- if (yych == 't') goto yy1485;
+ if (yych == 't') goto yy1488;
goto yy87;
-yy1373:
+yy1375:
yych = *++cursor_;
- if (yych == 'c') goto yy1487;
+ if (yych == 'c') goto yy1490;
goto yy87;
-yy1374:
+yy1376:
yych = *++cursor_;
- if (yych == '.') goto yy1488;
+ if (yych == '.') goto yy1491;
goto yy87;
-yy1375:
+yy1377:
yych = *++cursor_;
if (yych <= '3') {
- if (yych == '1') goto yy1489;
+ if (yych == '1') goto yy1492;
if (yych <= '2') goto yy87;
- goto yy1490;
+ goto yy1493;
} else {
if (yych <= '8') {
if (yych <= '7') goto yy87;
- goto yy1491;
+ goto yy1494;
} else {
- if (yych == '_') goto yy1492;
+ if (yych == '_') goto yy1495;
goto yy87;
}
}
-yy1376:
+yy1378:
yych = *++cursor_;
- if (yych == '_') goto yy1493;
+ if (yych == '_') goto yy1496;
goto yy87;
-yy1377:
+yy1379:
yych = *++cursor_;
- if (yych == '_') goto yy1494;
+ if (yych == '_') goto yy1497;
goto yy87;
-yy1378:
+yy1380:
yych = *++cursor_;
- if (yych == 's') goto yy1495;
- if (yych == 'u') goto yy1497;
+ if (yych == 's') goto yy1498;
+ if (yych == 'u') goto yy1500;
goto yy87;
-yy1379:
+yy1381:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 319 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64Popcnt); }
-#line 7711 "src/prebuilt/wast-lexer-gen.cc"
-yy1381:
+#line 7720 "src/prebuilt/wast-lexer-gen.cc"
+yy1383:
yych = *++cursor_;
- if (yych == 'r') goto yy1499;
+ if (yych == 'r') goto yy1502;
goto yy87;
-yy1382:
+yy1384:
yych = *++cursor_;
- if (yych == '6') goto yy1500;
+ if (yych == '6') goto yy1503;
goto yy87;
-yy1383:
+yy1385:
yych = *++cursor_;
- if (yych == '2') goto yy1502;
+ if (yych == '2') goto yy1505;
goto yy87;
-yy1384:
+yy1386:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 302 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I64Store8); }
-#line 7731 "src/prebuilt/wast-lexer-gen.cc"
-yy1386:
- yych = *++cursor_;
- if (yych == 's') goto yy1504;
- if (yych == 'u') goto yy1505;
- goto yy87;
-yy1387:
- yych = *++cursor_;
- if (yych == 't') goto yy1506;
- goto yy87;
+#line 7740 "src/prebuilt/wast-lexer-gen.cc"
yy1388:
yych = *++cursor_;
- if (yych == 't') goto yy1507;
+ if (yych == 's') goto yy1507;
+ if (yych == 'u') goto yy1508;
goto yy87;
yy1389:
yych = *++cursor_;
- if (yych == 's') goto yy1508;
- if (yych == 'u') goto yy1510;
+ if (yych == 't') goto yy1509;
goto yy87;
yy1390:
yych = *++cursor_;
- if (yych == 't') goto yy1512;
+ if (yych == 't') goto yy1510;
goto yy87;
yy1391:
yych = *++cursor_;
- if (yych == 'c') goto yy1514;
+ if (yych == 's') goto yy1511;
+ if (yych == 'u') goto yy1513;
goto yy87;
yy1392:
yych = *++cursor_;
- if (yych == 's') goto yy1515;
+ if (yych == 't') goto yy1515;
goto yy87;
yy1393:
yych = *++cursor_;
- if (yych == 't') goto yy1516;
+ if (yych == 'c') goto yy1517;
goto yy87;
yy1394:
yych = *++cursor_;
- if (yych == 't') goto yy1517;
+ if (yych == 's') goto yy1518;
goto yy87;
yy1395:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1519;
+ goto yy87;
+yy1396:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1520;
+ goto yy87;
+yy1397:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1521;
+ goto yy87;
+yy1398:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 610 "src/wast-lexer.cc"
+#line 611 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16GeS); }
-#line 7777 "src/prebuilt/wast-lexer-gen.cc"
-yy1397:
+#line 7790 "src/prebuilt/wast-lexer-gen.cc"
+yy1400:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 611 "src/wast-lexer.cc"
+#line 612 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16GeU); }
-#line 7785 "src/prebuilt/wast-lexer-gen.cc"
-yy1399:
+#line 7798 "src/prebuilt/wast-lexer-gen.cc"
+yy1402:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 602 "src/wast-lexer.cc"
+#line 603 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16GtS); }
-#line 7793 "src/prebuilt/wast-lexer-gen.cc"
-yy1401:
+#line 7806 "src/prebuilt/wast-lexer-gen.cc"
+yy1404:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 603 "src/wast-lexer.cc"
+#line 604 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16GtU); }
-#line 7801 "src/prebuilt/wast-lexer-gen.cc"
-yy1403:
+#line 7814 "src/prebuilt/wast-lexer-gen.cc"
+yy1406:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 594 "src/wast-lexer.cc"
+#line 595 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16LeS); }
-#line 7809 "src/prebuilt/wast-lexer-gen.cc"
-yy1405:
+#line 7822 "src/prebuilt/wast-lexer-gen.cc"
+yy1408:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 595 "src/wast-lexer.cc"
+#line 596 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16LeU); }
-#line 7817 "src/prebuilt/wast-lexer-gen.cc"
-yy1407:
+#line 7830 "src/prebuilt/wast-lexer-gen.cc"
+yy1410:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 586 "src/wast-lexer.cc"
+#line 587 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16LtS); }
-#line 7825 "src/prebuilt/wast-lexer-gen.cc"
-yy1409:
+#line 7838 "src/prebuilt/wast-lexer-gen.cc"
+yy1412:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 587 "src/wast-lexer.cc"
+#line 588 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16LtU); }
-#line 7833 "src/prebuilt/wast-lexer-gen.cc"
-yy1411:
+#line 7846 "src/prebuilt/wast-lexer-gen.cc"
+yy1414:
yych = *++cursor_;
- if (yych == 's') goto yy1518;
- if (yych == 'u') goto yy1520;
+ if (yych == 's') goto yy1522;
+ if (yych == 'u') goto yy1524;
goto yy87;
-yy1412:
+yy1415:
yych = *++cursor_;
- if (yych == 't') goto yy1522;
+ if (yych == 't') goto yy1526;
goto yy87;
-yy1413:
+yy1416:
yych = *++cursor_;
- if (yych == 's') goto yy1524;
+ if (yych == 's') goto yy1528;
goto yy87;
-yy1414:
+yy1417:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ':') {
if (yych <= '\'') {
if (yych == '!') goto yy86;
- if (yych <= '"') goto yy1060;
+ if (yych <= '"') goto yy1061;
goto yy86;
} else {
- if (yych <= ')') goto yy1060;
+ if (yych <= ')') goto yy1061;
if (yych <= '/') goto yy86;
- if (yych <= '9') goto yy1414;
+ if (yych <= '9') goto yy1417;
goto yy86;
}
} else {
if (yych <= '^') {
- if (yych <= ';') goto yy1060;
+ if (yych <= ';') goto yy1061;
if (yych <= '@') goto yy86;
- if (yych <= 'F') goto yy1414;
+ if (yych <= 'F') goto yy1417;
goto yy86;
} else {
if (yych <= '`') {
- if (yych <= '_') goto yy1277;
+ if (yych <= '_') goto yy1279;
goto yy86;
} else {
- if (yych <= 'f') goto yy1414;
+ if (yych <= 'f') goto yy1417;
if (yych <= '~') goto yy86;
- goto yy1060;
+ goto yy1061;
}
}
}
-yy1416:
+yy1419:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 282 "src/wast-lexer.cc"
{ RETURN_OPCODE0(SetGlobal); }
-#line 7886 "src/prebuilt/wast-lexer-gen.cc"
-yy1418:
+#line 7899 "src/prebuilt/wast-lexer-gen.cc"
+yy1421:
yych = *++cursor_;
- if (yych == 'e') goto yy1525;
+ if (yych == 'e') goto yy1529;
goto yy87;
-yy1419:
+yy1422:
yych = *++cursor_;
- if (yych == 'l') goto yy1527;
+ if (yych == 'l') goto yy1531;
goto yy87;
-yy1420:
+yy1423:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 519 "src/wast-lexer.cc"
{ RETURN_OPCODE(Const, V128Const); }
-#line 7902 "src/prebuilt/wast-lexer-gen.cc"
-yy1422:
+#line 7915 "src/prebuilt/wast-lexer-gen.cc"
+yy1425:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 521 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, V128Store); }
-#line 7910 "src/prebuilt/wast-lexer-gen.cc"
-yy1424:
+#line 7923 "src/prebuilt/wast-lexer-gen.cc"
+yy1427:
yych = *++cursor_;
- if (yych == 'u') goto yy1528;
+ if (yych == 'u') goto yy1532;
goto yy87;
-yy1425:
+yy1428:
yych = *++cursor_;
- if (yych == 'l') goto yy1529;
+ if (yych == 'l') goto yy1533;
goto yy87;
-yy1426:
+yy1429:
yych = *++cursor_;
- if (yych == 'o') goto yy1530;
+ if (yych == 'o') goto yy1534;
goto yy87;
-yy1427:
+yy1430:
yych = *++cursor_;
- if (yych == 'r') goto yy1531;
+ if (yych == 'r') goto yy1535;
goto yy87;
-yy1428:
+yy1431:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 672 "src/wast-lexer.cc"
+#line 673 "src/wast-lexer.cc"
{ RETURN(AssertTrap); }
-#line 7934 "src/prebuilt/wast-lexer-gen.cc"
-yy1430:
+#line 7947 "src/prebuilt/wast-lexer-gen.cc"
+yy1433:
yych = *++cursor_;
- if (yych == 'n') goto yy1532;
+ if (yych == 'n') goto yy1536;
goto yy87;
-yy1431:
+yy1434:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 455 "src/wast-lexer.cc"
{ RETURN_OPCODE0(AtomicWake); }
-#line 7946 "src/prebuilt/wast-lexer-gen.cc"
-yy1433:
+#line 7959 "src/prebuilt/wast-lexer-gen.cc"
+yy1436:
yych = *++cursor_;
- if (yych == 'c') goto yy1533;
+ if (yych == 'c') goto yy1537;
goto yy87;
-yy1434:
+yy1437:
yych = *++cursor_;
- if (yych == 'o') goto yy1534;
+ if (yych == 'o') goto yy1538;
goto yy87;
-yy1435:
+yy1438:
yych = *++cursor_;
- if (yych == '_') goto yy1535;
+ if (yych == '_') goto yy1539;
goto yy87;
-yy1436:
+yy1439:
yych = *++cursor_;
- if (yych == 'n') goto yy1536;
+ if (yych == 'n') goto yy1540;
goto yy87;
-yy1437:
+yy1440:
yych = *++cursor_;
- if (yych == 'f') goto yy1538;
+ if (yych == 'f') goto yy1542;
goto yy87;
-yy1438:
+yy1441:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 332 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Nearest); }
-#line 7974 "src/prebuilt/wast-lexer-gen.cc"
-yy1440:
+#line 7987 "src/prebuilt/wast-lexer-gen.cc"
+yy1443:
yych = *++cursor_;
- if (yych == 'p') goto yy1539;
+ if (yych == 'p') goto yy1543;
goto yy87;
-yy1441:
+yy1444:
yych = *++cursor_;
- if (yych == 'r') goto yy1540;
+ if (yych == 'r') goto yy1544;
goto yy87;
-yy1442:
+yy1445:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 526 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32X4Splat); }
-#line 7990 "src/prebuilt/wast-lexer-gen.cc"
-yy1444:
+#line 8003 "src/prebuilt/wast-lexer-gen.cc"
+yy1447:
yych = *++cursor_;
- if (yych == '_') goto yy1541;
+ if (yych == '_') goto yy1545;
goto yy87;
-yy1445:
+yy1448:
yych = *++cursor_;
- if (yych == 'n') goto yy1542;
+ if (yych == 'n') goto yy1546;
goto yy87;
-yy1446:
+yy1449:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 333 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Nearest); }
-#line 8006 "src/prebuilt/wast-lexer-gen.cc"
-yy1448:
+#line 8019 "src/prebuilt/wast-lexer-gen.cc"
+yy1451:
yych = *++cursor_;
- if (yych == '/') goto yy1544;
+ if (yych == '/') goto yy1548;
goto yy87;
-yy1449:
+yy1452:
yych = *++cursor_;
- if (yych == 'p') goto yy1545;
+ if (yych == 'p') goto yy1549;
goto yy87;
-yy1450:
+yy1453:
yych = *++cursor_;
- if (yych == 'r') goto yy1546;
+ if (yych == 'r') goto yy1550;
goto yy87;
-yy1451:
+yy1454:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 527 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64X2Splat); }
-#line 8026 "src/prebuilt/wast-lexer-gen.cc"
-yy1453:
+#line 8039 "src/prebuilt/wast-lexer-gen.cc"
+yy1456:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 451 "src/wast-lexer.cc"
{ RETURN_OPCODE0(GrowMemory); }
-#line 8034 "src/prebuilt/wast-lexer-gen.cc"
-yy1455:
+#line 8047 "src/prebuilt/wast-lexer-gen.cc"
+yy1458:
yych = *++cursor_;
- if (yych == 'a') goto yy1547;
+ if (yych == 'a') goto yy1551;
goto yy87;
-yy1456:
+yy1459:
yych = *++cursor_;
- if (yych == 'r') goto yy1548;
+ if (yych == 'r') goto yy1552;
goto yy87;
-yy1457:
+yy1460:
yych = *++cursor_;
- if (yych == 'r') goto yy1549;
+ if (yych == 'r') goto yy1553;
goto yy87;
-yy1458:
+yy1461:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 557 "src/wast-lexer.cc"
+#line 558 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8ShrS); }
-#line 8054 "src/prebuilt/wast-lexer-gen.cc"
-yy1460:
+#line 8067 "src/prebuilt/wast-lexer-gen.cc"
+yy1463:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 558 "src/wast-lexer.cc"
+#line 559 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8ShrU); }
-#line 8062 "src/prebuilt/wast-lexer-gen.cc"
-yy1462:
+#line 8075 "src/prebuilt/wast-lexer-gen.cc"
+yy1465:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 523 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I16X8Splat); }
-#line 8070 "src/prebuilt/wast-lexer-gen.cc"
-yy1464:
+#line 8083 "src/prebuilt/wast-lexer-gen.cc"
+yy1467:
yych = *++cursor_;
- if (yych == 'a') goto yy1550;
+ if (yych == 'a') goto yy1554;
goto yy87;
-yy1465:
+yy1468:
yych = *++cursor_;
if (yych <= 'r') {
- if (yych == 'l') goto yy1551;
+ if (yych == 'l') goto yy1555;
if (yych <= 'q') goto yy87;
- goto yy1552;
+ goto yy1556;
} else {
- if (yych <= 's') goto yy1553;
- if (yych == 'w') goto yy1554;
+ if (yych <= 's') goto yy1557;
+ if (yych == 'w') goto yy1558;
goto yy87;
}
-yy1466:
+yy1469:
yych = *++cursor_;
- if (yych == '6') goto yy1555;
+ if (yych == '6') goto yy1559;
goto yy87;
-yy1467:
+yy1470:
yych = *++cursor_;
- if (yych == '_') goto yy1556;
+ if (yych == '_') goto yy1560;
goto yy87;
-yy1468:
+yy1471:
yych = *++cursor_;
- if (yych == 's') goto yy1557;
- if (yych == 'u') goto yy1559;
+ if (yych == 's') goto yy1561;
+ if (yych == 'u') goto yy1563;
goto yy87;
-yy1469:
+yy1472:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 291 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I32Load8S); }
-#line 8106 "src/prebuilt/wast-lexer-gen.cc"
-yy1471:
+#line 8119 "src/prebuilt/wast-lexer-gen.cc"
+yy1474:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 293 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I32Load8U); }
-#line 8114 "src/prebuilt/wast-lexer-gen.cc"
-yy1473:
+#line 8127 "src/prebuilt/wast-lexer-gen.cc"
+yy1476:
yych = *++cursor_;
- if (yych == 'p') goto yy1561;
+ if (yych == 'p') goto yy1565;
goto yy87;
-yy1474:
+yy1477:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 303 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I32Store16); }
-#line 8126 "src/prebuilt/wast-lexer-gen.cc"
-yy1476:
+#line 8139 "src/prebuilt/wast-lexer-gen.cc"
+yy1479:
yych = *++cursor_;
- if (yych == '/') goto yy1562;
- if (yych == ':') goto yy1563;
+ if (yych == '/') goto yy1566;
+ if (yych == ':') goto yy1567;
goto yy87;
-yy1477:
+yy1480:
yych = *++cursor_;
- if (yych == '/') goto yy1564;
- if (yych == ':') goto yy1565;
+ if (yych == '/') goto yy1568;
+ if (yych == ':') goto yy1569;
goto yy87;
-yy1478:
+yy1481:
yych = *++cursor_;
- if (yych == '4') goto yy1566;
+ if (yych == '4') goto yy1570;
goto yy87;
-yy1479:
+yy1482:
yych = *++cursor_;
- if (yych == 'r') goto yy1568;
+ if (yych == 'r') goto yy1572;
goto yy87;
-yy1480:
+yy1483:
yych = *++cursor_;
- if (yych == 'r') goto yy1569;
+ if (yych == 'r') goto yy1573;
goto yy87;
-yy1481:
+yy1484:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 559 "src/wast-lexer.cc"
+#line 560 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4ShrS); }
-#line 8156 "src/prebuilt/wast-lexer-gen.cc"
-yy1483:
+#line 8169 "src/prebuilt/wast-lexer-gen.cc"
+yy1486:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 560 "src/wast-lexer.cc"
+#line 561 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4ShrU); }
-#line 8164 "src/prebuilt/wast-lexer-gen.cc"
-yy1485:
+#line 8177 "src/prebuilt/wast-lexer-gen.cc"
+yy1488:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 524 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32X4Splat); }
-#line 8172 "src/prebuilt/wast-lexer-gen.cc"
-yy1487:
+#line 8185 "src/prebuilt/wast-lexer-gen.cc"
+yy1490:
yych = *++cursor_;
- if (yych == '_') goto yy1570;
+ if (yych == '_') goto yy1574;
goto yy87;
-yy1488:
+yy1491:
yych = *++cursor_;
if (yych <= 'r') {
- if (yych == 'l') goto yy1571;
+ if (yych == 'l') goto yy1575;
if (yych <= 'q') goto yy87;
- goto yy1572;
+ goto yy1576;
} else {
- if (yych <= 's') goto yy1573;
- if (yych == 'w') goto yy1574;
+ if (yych <= 's') goto yy1577;
+ if (yych == 'w') goto yy1578;
goto yy87;
}
-yy1489:
- yych = *++cursor_;
- if (yych == '6') goto yy1575;
- goto yy87;
-yy1490:
+yy1492:
yych = *++cursor_;
- if (yych == '2') goto yy1576;
+ if (yych == '6') goto yy1579;
goto yy87;
-yy1491:
+yy1493:
yych = *++cursor_;
- if (yych == '_') goto yy1577;
+ if (yych == '2') goto yy1580;
goto yy87;
-yy1492:
+yy1494:
yych = *++cursor_;
- if (yych == 's') goto yy1578;
- if (yych == 'u') goto yy1579;
+ if (yych == '_') goto yy1581;
goto yy87;
-yy1493:
+yy1495:
yych = *++cursor_;
- if (yych == 's') goto yy1580;
- if (yych == 'u') goto yy1582;
+ if (yych == 's') goto yy1582;
+ if (yych == 'u') goto yy1583;
goto yy87;
-yy1494:
+yy1496:
yych = *++cursor_;
if (yych == 's') goto yy1584;
if (yych == 'u') goto yy1586;
goto yy87;
-yy1495:
+yy1497:
+ yych = *++cursor_;
+ if (yych == 's') goto yy1588;
+ if (yych == 'u') goto yy1590;
+ goto yy87;
+yy1498:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 292 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I64Load8S); }
-#line 8222 "src/prebuilt/wast-lexer-gen.cc"
-yy1497:
+#line 8235 "src/prebuilt/wast-lexer-gen.cc"
+yy1500:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 294 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I64Load8U); }
-#line 8230 "src/prebuilt/wast-lexer-gen.cc"
-yy1499:
+#line 8243 "src/prebuilt/wast-lexer-gen.cc"
+yy1502:
yych = *++cursor_;
- if (yych == 'p') goto yy1588;
+ if (yych == 'p') goto yy1592;
goto yy87;
-yy1500:
+yy1503:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 304 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I64Store16); }
-#line 8242 "src/prebuilt/wast-lexer-gen.cc"
-yy1502:
+#line 8255 "src/prebuilt/wast-lexer-gen.cc"
+yy1505:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 305 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I64Store32); }
-#line 8250 "src/prebuilt/wast-lexer-gen.cc"
-yy1504:
+#line 8263 "src/prebuilt/wast-lexer-gen.cc"
+yy1507:
yych = *++cursor_;
- if (yych == '/') goto yy1589;
- if (yych == ':') goto yy1590;
+ if (yych == '/') goto yy1593;
+ if (yych == ':') goto yy1594;
goto yy87;
-yy1505:
+yy1508:
yych = *++cursor_;
- if (yych == '/') goto yy1591;
- if (yych == ':') goto yy1592;
+ if (yych == '/') goto yy1595;
+ if (yych == ':') goto yy1596;
goto yy87;
-yy1506:
+yy1509:
yych = *++cursor_;
- if (yych == 'r') goto yy1593;
+ if (yych == 'r') goto yy1597;
goto yy87;
-yy1507:
+yy1510:
yych = *++cursor_;
- if (yych == 'r') goto yy1594;
+ if (yych == 'r') goto yy1598;
goto yy87;
-yy1508:
+yy1511:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 561 "src/wast-lexer.cc"
+#line 562 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64X2ShrS); }
-#line 8276 "src/prebuilt/wast-lexer-gen.cc"
-yy1510:
+#line 8289 "src/prebuilt/wast-lexer-gen.cc"
+yy1513:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 562 "src/wast-lexer.cc"
+#line 563 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64X2ShrU); }
-#line 8284 "src/prebuilt/wast-lexer-gen.cc"
-yy1512:
+#line 8297 "src/prebuilt/wast-lexer-gen.cc"
+yy1515:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 525 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64X2Splat); }
-#line 8292 "src/prebuilt/wast-lexer-gen.cc"
-yy1514:
+#line 8305 "src/prebuilt/wast-lexer-gen.cc"
+yy1517:
yych = *++cursor_;
- if (yych == '_') goto yy1595;
+ if (yych == '_') goto yy1599;
goto yy87;
-yy1515:
+yy1518:
yych = *++cursor_;
- if (yych == 'a') goto yy1596;
+ if (yych == 'a') goto yy1600;
goto yy87;
-yy1516:
+yy1519:
yych = *++cursor_;
- if (yych == 'r') goto yy1597;
+ if (yych == 'r') goto yy1601;
goto yy87;
-yy1517:
+yy1520:
yych = *++cursor_;
- if (yych == 'r') goto yy1598;
+ if (yych == 'r') goto yy1602;
goto yy87;
-yy1518:
+yy1521:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy1603;
+ goto yy87;
+yy1522:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 555 "src/wast-lexer.cc"
+#line 556 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16ShrS); }
-#line 8316 "src/prebuilt/wast-lexer-gen.cc"
-yy1520:
+#line 8333 "src/prebuilt/wast-lexer-gen.cc"
+yy1524:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 556 "src/wast-lexer.cc"
+#line 557 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16ShrU); }
-#line 8324 "src/prebuilt/wast-lexer-gen.cc"
-yy1522:
+#line 8341 "src/prebuilt/wast-lexer-gen.cc"
+yy1526:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 522 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I8X16Splat); }
-#line 8332 "src/prebuilt/wast-lexer-gen.cc"
-yy1524:
+#line 8349 "src/prebuilt/wast-lexer-gen.cc"
+yy1528:
yych = *++cursor_;
- if (yych == 'a') goto yy1599;
+ if (yych == 'a') goto yy1604;
goto yy87;
-yy1525:
+yy1529:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 449 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Unreachable); }
-#line 8344 "src/prebuilt/wast-lexer-gen.cc"
-yy1527:
- yych = *++cursor_;
- if (yych == 'e') goto yy1600;
- goto yy87;
-yy1528:
- yych = *++cursor_;
- if (yych == 's') goto yy1601;
- goto yy87;
-yy1529:
- yych = *++cursor_;
- if (yych == 'i') goto yy1602;
- goto yy87;
-yy1530:
- yych = *++cursor_;
- if (yych == 'r') goto yy1603;
- goto yy87;
+#line 8361 "src/prebuilt/wast-lexer-gen.cc"
yy1531:
yych = *++cursor_;
- if (yych == 'n') goto yy1604;
+ if (yych == 'e') goto yy1605;
goto yy87;
yy1532:
yych = *++cursor_;
- if (yych == 'k') goto yy1606;
+ if (yych == 's') goto yy1606;
goto yy87;
yy1533:
yych = *++cursor_;
- if (yych == 't') goto yy1607;
+ if (yych == 'i') goto yy1607;
goto yy87;
yy1534:
yych = *++cursor_;
- if (yych == 'r') goto yy1609;
+ if (yych == 'r') goto yy1608;
goto yy87;
yy1535:
yych = *++cursor_;
- if (yych == 's') goto yy1610;
- if (yych == 'u') goto yy1611;
+ if (yych == 'n') goto yy1609;
goto yy87;
yy1536:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 381 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, F32Copysign); }
-#line 8389 "src/prebuilt/wast-lexer-gen.cc"
-yy1538:
yych = *++cursor_;
- if (yych == '6') goto yy1612;
+ if (yych == 'k') goto yy1611;
goto yy87;
-yy1539:
+yy1537:
yych = *++cursor_;
- if (yych == 'r') goto yy1613;
+ if (yych == 't') goto yy1612;
goto yy87;
-yy1540:
+yy1538:
yych = *++cursor_;
- if (yych == 't') goto yy1614;
+ if (yych == 'r') goto yy1614;
goto yy87;
-yy1541:
+yy1539:
yych = *++cursor_;
if (yych == 's') goto yy1615;
if (yych == 'u') goto yy1616;
goto yy87;
-yy1542:
+yy1540:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 382 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, F64Copysign); }
-#line 8414 "src/prebuilt/wast-lexer-gen.cc"
-yy1544:
+#line 381 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, F32Copysign); }
+#line 8406 "src/prebuilt/wast-lexer-gen.cc"
+yy1542:
yych = *++cursor_;
- if (yych == 'f') goto yy1617;
+ if (yych == '6') goto yy1617;
goto yy87;
-yy1545:
+yy1543:
yych = *++cursor_;
if (yych == 'r') goto yy1618;
goto yy87;
-yy1546:
+yy1544:
yych = *++cursor_;
if (yych == 't') goto yy1619;
goto yy87;
-yy1547:
+yy1545:
yych = *++cursor_;
- if (yych == 't') goto yy1620;
+ if (yych == 's') goto yy1620;
+ if (yych == 'u') goto yy1621;
goto yy87;
+yy1546:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 382 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, F64Copysign); }
+#line 8431 "src/prebuilt/wast-lexer-gen.cc"
yy1548:
yych = *++cursor_;
- if (yych == 'u') goto yy1621;
+ if (yych == 'f') goto yy1622;
goto yy87;
yy1549:
yych = *++cursor_;
- if (yych == 'u') goto yy1622;
+ if (yych == 'r') goto yy1623;
goto yy87;
yy1550:
yych = *++cursor_;
- if (yych == 't') goto yy1623;
+ if (yych == 't') goto yy1624;
goto yy87;
yy1551:
yych = *++cursor_;
- if (yych == 'o') goto yy1624;
+ if (yych == 't') goto yy1625;
goto yy87;
yy1552:
yych = *++cursor_;
- if (yych == 'm') goto yy1625;
+ if (yych == 'u') goto yy1626;
goto yy87;
yy1553:
yych = *++cursor_;
- if (yych == 't') goto yy1626;
+ if (yych == 'u') goto yy1627;
goto yy87;
yy1554:
yych = *++cursor_;
- if (yych == 'a') goto yy1627;
+ if (yych == 't') goto yy1628;
goto yy87;
yy1555:
yych = *++cursor_;
- if (yych == '_') goto yy1628;
+ if (yych == 'o') goto yy1629;
goto yy87;
yy1556:
yych = *++cursor_;
- if (yych == 's') goto yy1629;
+ if (yych == 'm') goto yy1630;
goto yy87;
yy1557:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1631;
+ goto yy87;
+yy1558:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1632;
+ goto yy87;
+yy1559:
+ yych = *++cursor_;
+ if (yych == '_') goto yy1633;
+ goto yy87;
+yy1560:
+ yych = *++cursor_;
+ if (yych == 's') goto yy1634;
+ goto yy87;
+yy1561:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 295 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I32Load16S); }
-#line 8474 "src/prebuilt/wast-lexer-gen.cc"
-yy1559:
+#line 8491 "src/prebuilt/wast-lexer-gen.cc"
+yy1563:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 297 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I32Load16U); }
-#line 8482 "src/prebuilt/wast-lexer-gen.cc"
-yy1561:
+#line 8499 "src/prebuilt/wast-lexer-gen.cc"
+yy1565:
yych = *++cursor_;
- if (yych == 'r') goto yy1631;
+ if (yych == 'r') goto yy1636;
goto yy87;
-yy1562:
+yy1566:
yych = *++cursor_;
- if (yych == 'f') goto yy1632;
+ if (yych == 'f') goto yy1637;
goto yy87;
-yy1563:
+yy1567:
yych = *++cursor_;
- if (yych == 's') goto yy1633;
+ if (yych == 's') goto yy1638;
goto yy87;
-yy1564:
+yy1568:
yych = *++cursor_;
- if (yych == 'f') goto yy1634;
+ if (yych == 'f') goto yy1639;
goto yy87;
-yy1565:
+yy1569:
yych = *++cursor_;
- if (yych == 's') goto yy1635;
+ if (yych == 's') goto yy1640;
goto yy87;
-yy1566:
+yy1570:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 417 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32WrapI64); }
-#line 8510 "src/prebuilt/wast-lexer-gen.cc"
-yy1568:
- yych = *++cursor_;
- if (yych == 'u') goto yy1636;
- goto yy87;
-yy1569:
- yych = *++cursor_;
- if (yych == 'u') goto yy1637;
- goto yy87;
-yy1570:
- yych = *++cursor_;
- if (yych == 's') goto yy1638;
- if (yych == 'u') goto yy1639;
- goto yy87;
-yy1571:
- yych = *++cursor_;
- if (yych == 'o') goto yy1640;
- goto yy87;
+#line 8527 "src/prebuilt/wast-lexer-gen.cc"
yy1572:
yych = *++cursor_;
- if (yych == 'm') goto yy1641;
+ if (yych == 'u') goto yy1641;
goto yy87;
yy1573:
yych = *++cursor_;
- if (yych == 't') goto yy1642;
+ if (yych == 'u') goto yy1642;
goto yy87;
yy1574:
yych = *++cursor_;
- if (yych == 'a') goto yy1643;
+ if (yych == 's') goto yy1643;
+ if (yych == 'u') goto yy1644;
goto yy87;
yy1575:
yych = *++cursor_;
- if (yych == '_') goto yy1644;
+ if (yych == 'o') goto yy1645;
goto yy87;
yy1576:
yych = *++cursor_;
- if (yych == '_') goto yy1645;
+ if (yych == 'm') goto yy1646;
goto yy87;
yy1577:
yych = *++cursor_;
- if (yych == 's') goto yy1646;
+ if (yych == 't') goto yy1647;
goto yy87;
yy1578:
yych = *++cursor_;
- if (yych == '/') goto yy1648;
+ if (yych == 'a') goto yy1648;
goto yy87;
yy1579:
yych = *++cursor_;
- if (yych == '/') goto yy1649;
+ if (yych == '_') goto yy1649;
goto yy87;
yy1580:
+ yych = *++cursor_;
+ if (yych == '_') goto yy1650;
+ goto yy87;
+yy1581:
+ yych = *++cursor_;
+ if (yych == 's') goto yy1651;
+ goto yy87;
+yy1582:
+ yych = *++cursor_;
+ if (yych == '/') goto yy1653;
+ goto yy87;
+yy1583:
+ yych = *++cursor_;
+ if (yych == '/') goto yy1654;
+ goto yy87;
+yy1584:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 296 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I64Load16S); }
-#line 8567 "src/prebuilt/wast-lexer-gen.cc"
-yy1582:
+#line 8584 "src/prebuilt/wast-lexer-gen.cc"
+yy1586:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 298 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I64Load16U); }
-#line 8575 "src/prebuilt/wast-lexer-gen.cc"
-yy1584:
+#line 8592 "src/prebuilt/wast-lexer-gen.cc"
+yy1588:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 299 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I64Load32S); }
-#line 8583 "src/prebuilt/wast-lexer-gen.cc"
-yy1586:
+#line 8600 "src/prebuilt/wast-lexer-gen.cc"
+yy1590:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 300 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I64Load32U); }
-#line 8591 "src/prebuilt/wast-lexer-gen.cc"
-yy1588:
- yych = *++cursor_;
- if (yych == 'r') goto yy1650;
- goto yy87;
-yy1589:
- yych = *++cursor_;
- if (yych == 'f') goto yy1651;
- goto yy87;
-yy1590:
- yych = *++cursor_;
- if (yych == 's') goto yy1652;
- goto yy87;
-yy1591:
- yych = *++cursor_;
- if (yych == 'f') goto yy1653;
- goto yy87;
+#line 8608 "src/prebuilt/wast-lexer-gen.cc"
yy1592:
yych = *++cursor_;
- if (yych == 's') goto yy1654;
+ if (yych == 'r') goto yy1655;
goto yy87;
yy1593:
yych = *++cursor_;
- if (yych == 'u') goto yy1655;
+ if (yych == 'f') goto yy1656;
goto yy87;
yy1594:
yych = *++cursor_;
- if (yych == 'u') goto yy1656;
+ if (yych == 's') goto yy1657;
goto yy87;
yy1595:
yych = *++cursor_;
- if (yych == 's') goto yy1657;
- if (yych == 'u') goto yy1658;
+ if (yych == 'f') goto yy1658;
goto yy87;
yy1596:
yych = *++cursor_;
- if (yych == 't') goto yy1659;
+ if (yych == 's') goto yy1659;
goto yy87;
yy1597:
yych = *++cursor_;
@@ -8635,80 +8635,81 @@ yy1598:
goto yy87;
yy1599:
yych = *++cursor_;
- if (yych == 't') goto yy1662;
+ if (yych == 's') goto yy1662;
+ if (yych == 'u') goto yy1663;
goto yy87;
yy1600:
yych = *++cursor_;
- if (yych == 'c') goto yy1663;
+ if (yych == 't') goto yy1664;
goto yy87;
yy1601:
yych = *++cursor_;
- if (yych == 't') goto yy1664;
+ if (yych == 'u') goto yy1665;
goto yy87;
yy1602:
yych = *++cursor_;
- if (yych == 'd') goto yy1665;
+ if (yych == 'u') goto yy1666;
goto yy87;
yy1603:
yych = *++cursor_;
- if (yych == 'm') goto yy1667;
+ if (yych == 't') goto yy1667;
goto yy87;
yy1604:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1668;
+ goto yy87;
+yy1605:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy1669;
+ goto yy87;
+yy1606:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1670;
+ goto yy87;
+yy1607:
+ yych = *++cursor_;
+ if (yych == 'd') goto yy1671;
+ goto yy87;
+yy1608:
+ yych = *++cursor_;
+ if (yych == 'm') goto yy1673;
+ goto yy87;
+yy1609:
++cursor_;
if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy1605;
+ if (yych <= '"') goto yy1610;
if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy1668;
+ if (yych <= '_') goto yy1674;
if (yych <= '~') goto yy86;
}
}
-yy1605:
-#line 669 "src/wast-lexer.cc"
+yy1610:
+#line 670 "src/wast-lexer.cc"
{ RETURN(AssertReturn); }
-#line 8677 "src/prebuilt/wast-lexer-gen.cc"
-yy1606:
+#line 8698 "src/prebuilt/wast-lexer-gen.cc"
+yy1611:
yych = *++cursor_;
- if (yych == 'a') goto yy1669;
+ if (yych == 'a') goto yy1675;
goto yy87;
-yy1607:
+yy1612:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 274 "src/wast-lexer.cc"
{ RETURN_OPCODE0(CallIndirect); }
-#line 8689 "src/prebuilt/wast-lexer-gen.cc"
-yy1609:
- yych = *++cursor_;
- if (yych == 'y') goto yy1670;
- goto yy87;
-yy1610:
- yych = *++cursor_;
- if (yych == '/') goto yy1672;
- goto yy87;
-yy1611:
- yych = *++cursor_;
- if (yych == '/') goto yy1673;
- goto yy87;
-yy1612:
- yych = *++cursor_;
- if (yych == '4') goto yy1674;
- goto yy87;
-yy1613:
- yych = *++cursor_;
- if (yych == 'e') goto yy1676;
- goto yy87;
+#line 8710 "src/prebuilt/wast-lexer-gen.cc"
yy1614:
yych = *++cursor_;
- if (yych == '_') goto yy1677;
+ if (yych == 'y') goto yy1676;
goto yy87;
yy1615:
yych = *++cursor_;
@@ -8720,591 +8721,619 @@ yy1616:
goto yy87;
yy1617:
yych = *++cursor_;
- if (yych == '3') goto yy1680;
+ if (yych == '4') goto yy1680;
goto yy87;
yy1618:
yych = *++cursor_;
- if (yych == 'e') goto yy1681;
+ if (yych == 'e') goto yy1682;
goto yy87;
yy1619:
yych = *++cursor_;
- if (yych == '_') goto yy1682;
+ if (yych == '_') goto yy1683;
goto yy87;
yy1620:
yych = *++cursor_;
- if (yych == 'u') goto yy1683;
+ if (yych == '/') goto yy1684;
goto yy87;
yy1621:
yych = *++cursor_;
- if (yych == 'e') goto yy1684;
+ if (yych == '/') goto yy1685;
goto yy87;
yy1622:
yych = *++cursor_;
- if (yych == 'e') goto yy1686;
+ if (yych == '3') goto yy1686;
goto yy87;
yy1623:
yych = *++cursor_;
- if (yych == 'u') goto yy1688;
+ if (yych == 'e') goto yy1687;
goto yy87;
yy1624:
yych = *++cursor_;
- if (yych == 'a') goto yy1689;
+ if (yych == '_') goto yy1688;
goto yy87;
yy1625:
yych = *++cursor_;
- if (yych == 'w') goto yy1690;
+ if (yych == 'u') goto yy1689;
goto yy87;
yy1626:
yych = *++cursor_;
- if (yych == 'o') goto yy1691;
+ if (yych == 'e') goto yy1690;
goto yy87;
yy1627:
yych = *++cursor_;
- if (yych == 'i') goto yy1692;
+ if (yych == 'e') goto yy1692;
goto yy87;
yy1628:
yych = *++cursor_;
- if (yych == 's') goto yy1693;
+ if (yych == 'u') goto yy1694;
goto yy87;
yy1629:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 334 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I32Extend8S); }
-#line 8777 "src/prebuilt/wast-lexer-gen.cc"
-yy1631:
yych = *++cursor_;
- if (yych == 'e') goto yy1695;
+ if (yych == 'a') goto yy1695;
goto yy87;
-yy1632:
+yy1630:
yych = *++cursor_;
- if (yych == '3') goto yy1696;
- if (yych == '6') goto yy1697;
+ if (yych == 'w') goto yy1696;
goto yy87;
-yy1633:
+yy1631:
yych = *++cursor_;
- if (yych == 'a') goto yy1698;
+ if (yych == 'o') goto yy1697;
goto yy87;
-yy1634:
+yy1632:
yych = *++cursor_;
- if (yych == '3') goto yy1699;
- if (yych == '6') goto yy1700;
+ if (yych == 'i') goto yy1698;
goto yy87;
-yy1635:
+yy1633:
yych = *++cursor_;
- if (yych == 'a') goto yy1701;
+ if (yych == 's') goto yy1699;
goto yy87;
+yy1634:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 334 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I32Extend8S); }
+#line 8798 "src/prebuilt/wast-lexer-gen.cc"
yy1636:
yych = *++cursor_;
- if (yych == 'e') goto yy1702;
+ if (yych == 'e') goto yy1701;
goto yy87;
yy1637:
yych = *++cursor_;
- if (yych == 'e') goto yy1704;
+ if (yych == '3') goto yy1702;
+ if (yych == '6') goto yy1703;
goto yy87;
yy1638:
yych = *++cursor_;
- if (yych == '/') goto yy1706;
+ if (yych == 'a') goto yy1704;
goto yy87;
yy1639:
yych = *++cursor_;
- if (yych == '/') goto yy1707;
+ if (yych == '3') goto yy1705;
+ if (yych == '6') goto yy1706;
goto yy87;
yy1640:
yych = *++cursor_;
- if (yych == 'a') goto yy1708;
+ if (yych == 'a') goto yy1707;
goto yy87;
yy1641:
yych = *++cursor_;
- if (yych == 'w') goto yy1709;
+ if (yych == 'e') goto yy1708;
goto yy87;
yy1642:
yych = *++cursor_;
- if (yych == 'o') goto yy1710;
+ if (yych == 'e') goto yy1710;
goto yy87;
yy1643:
yych = *++cursor_;
- if (yych == 'i') goto yy1711;
+ if (yych == '/') goto yy1712;
goto yy87;
yy1644:
yych = *++cursor_;
- if (yych == 's') goto yy1712;
+ if (yych == '/') goto yy1713;
goto yy87;
yy1645:
yych = *++cursor_;
- if (yych == 's') goto yy1714;
+ if (yych == 'a') goto yy1714;
goto yy87;
yy1646:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 336 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I64Extend8S); }
-#line 8847 "src/prebuilt/wast-lexer-gen.cc"
-yy1648:
yych = *++cursor_;
- if (yych == 'i') goto yy1716;
+ if (yych == 'w') goto yy1715;
goto yy87;
-yy1649:
+yy1647:
yych = *++cursor_;
- if (yych == 'i') goto yy1717;
+ if (yych == 'o') goto yy1716;
goto yy87;
-yy1650:
+yy1648:
yych = *++cursor_;
- if (yych == 'e') goto yy1718;
+ if (yych == 'i') goto yy1717;
goto yy87;
-yy1651:
+yy1649:
yych = *++cursor_;
- if (yych == '3') goto yy1719;
- if (yych == '6') goto yy1720;
+ if (yych == 's') goto yy1718;
goto yy87;
-yy1652:
+yy1650:
yych = *++cursor_;
- if (yych == 'a') goto yy1721;
+ if (yych == 's') goto yy1720;
goto yy87;
+yy1651:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 336 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I64Extend8S); }
+#line 8868 "src/prebuilt/wast-lexer-gen.cc"
yy1653:
yych = *++cursor_;
- if (yych == '3') goto yy1722;
- if (yych == '6') goto yy1723;
+ if (yych == 'i') goto yy1722;
goto yy87;
yy1654:
yych = *++cursor_;
- if (yych == 'a') goto yy1724;
+ if (yych == 'i') goto yy1723;
goto yy87;
yy1655:
yych = *++cursor_;
- if (yych == 'e') goto yy1725;
+ if (yych == 'e') goto yy1724;
goto yy87;
yy1656:
yych = *++cursor_;
- if (yych == 'e') goto yy1727;
+ if (yych == '3') goto yy1725;
+ if (yych == '6') goto yy1726;
goto yy87;
yy1657:
yych = *++cursor_;
- if (yych == '/') goto yy1729;
+ if (yych == 'a') goto yy1727;
goto yy87;
yy1658:
yych = *++cursor_;
- if (yych == '/') goto yy1730;
+ if (yych == '3') goto yy1728;
+ if (yych == '6') goto yy1729;
goto yy87;
yy1659:
yych = *++cursor_;
- if (yych == 'u') goto yy1731;
+ if (yych == 'a') goto yy1730;
goto yy87;
yy1660:
yych = *++cursor_;
- if (yych == 'e') goto yy1732;
+ if (yych == 'e') goto yy1731;
goto yy87;
yy1661:
yych = *++cursor_;
- if (yych == 'e') goto yy1734;
+ if (yych == 'e') goto yy1733;
goto yy87;
yy1662:
yych = *++cursor_;
- if (yych == 'u') goto yy1736;
+ if (yych == '/') goto yy1735;
goto yy87;
yy1663:
yych = *++cursor_;
- if (yych == 't') goto yy1737;
+ if (yych == '/') goto yy1736;
goto yy87;
yy1664:
yych = *++cursor_;
- if (yych == 'i') goto yy1739;
+ if (yych == 'u') goto yy1737;
goto yy87;
yy1665:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1738;
+ goto yy87;
+yy1666:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1740;
+ goto yy87;
+yy1667:
+ yych = *++cursor_;
+ if (yych == '_') goto yy1742;
+ goto yy87;
+yy1668:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy1743;
+ goto yy87;
+yy1669:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1744;
+ goto yy87;
+yy1670:
+ yych = *++cursor_;
+ if (yych == 'i') goto yy1746;
+ goto yy87;
+yy1671:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 667 "src/wast-lexer.cc"
+#line 668 "src/wast-lexer.cc"
{ RETURN(AssertInvalid); }
-#line 8925 "src/prebuilt/wast-lexer-gen.cc"
-yy1667:
+#line 8950 "src/prebuilt/wast-lexer-gen.cc"
+yy1673:
yych = *++cursor_;
- if (yych == 'e') goto yy1740;
+ if (yych == 'e') goto yy1747;
goto yy87;
-yy1668:
+yy1674:
yych = *++cursor_;
- if (yych == 'a') goto yy1741;
- if (yych == 'c') goto yy1742;
+ if (yych == 'a') goto yy1748;
+ if (yych == 'c') goto yy1749;
goto yy87;
-yy1669:
+yy1675:
yych = *++cursor_;
- if (yych == 'b') goto yy1743;
+ if (yych == 'b') goto yy1750;
goto yy87;
-yy1670:
+yy1676:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 450 "src/wast-lexer.cc"
{ RETURN_OPCODE0(CurrentMemory); }
-#line 8946 "src/prebuilt/wast-lexer-gen.cc"
-yy1672:
+#line 8971 "src/prebuilt/wast-lexer-gen.cc"
+yy1678:
yych = *++cursor_;
- if (yych == 'i') goto yy1744;
+ if (yych == 'i') goto yy1751;
goto yy87;
-yy1673:
+yy1679:
yych = *++cursor_;
- if (yych == 'i') goto yy1745;
+ if (yych == 'i') goto yy1752;
goto yy87;
-yy1674:
+yy1680:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 443 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F32DemoteF64); }
-#line 8962 "src/prebuilt/wast-lexer-gen.cc"
-yy1676:
+#line 8987 "src/prebuilt/wast-lexer-gen.cc"
+yy1682:
yych = *++cursor_;
- if (yych == 't') goto yy1746;
+ if (yych == 't') goto yy1753;
goto yy87;
-yy1677:
+yy1683:
yych = *++cursor_;
- if (yych == 's') goto yy1747;
- if (yych == 'u') goto yy1748;
+ if (yych == 's') goto yy1754;
+ if (yych == 'u') goto yy1755;
goto yy87;
-yy1678:
+yy1684:
yych = *++cursor_;
- if (yych == 'i') goto yy1749;
+ if (yych == 'i') goto yy1756;
goto yy87;
-yy1679:
+yy1685:
yych = *++cursor_;
- if (yych == 'i') goto yy1750;
+ if (yych == 'i') goto yy1757;
goto yy87;
-yy1680:
+yy1686:
yych = *++cursor_;
- if (yych == '2') goto yy1751;
+ if (yych == '2') goto yy1758;
goto yy87;
-yy1681:
+yy1687:
yych = *++cursor_;
- if (yych == 't') goto yy1753;
+ if (yych == 't') goto yy1760;
goto yy87;
-yy1682:
+yy1688:
yych = *++cursor_;
- if (yych == 's') goto yy1754;
- if (yych == 'u') goto yy1755;
+ if (yych == 's') goto yy1761;
+ if (yych == 'u') goto yy1762;
goto yy87;
-yy1683:
+yy1689:
yych = *++cursor_;
- if (yych == 'r') goto yy1756;
+ if (yych == 'r') goto yy1763;
goto yy87;
-yy1684:
+yy1690:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 573 "src/wast-lexer.cc"
+#line 574 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I16X8AllTrue); }
-#line 9004 "src/prebuilt/wast-lexer-gen.cc"
-yy1686:
+#line 9029 "src/prebuilt/wast-lexer-gen.cc"
+yy1692:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 569 "src/wast-lexer.cc"
+#line 570 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I16X8AnyTrue); }
-#line 9012 "src/prebuilt/wast-lexer-gen.cc"
-yy1688:
+#line 9037 "src/prebuilt/wast-lexer-gen.cc"
+yy1694:
yych = *++cursor_;
- if (yych == 'r') goto yy1757;
+ if (yych == 'r') goto yy1764;
goto yy87;
-yy1689:
+yy1695:
yych = *++cursor_;
- if (yych == 'd') goto yy1758;
+ if (yych == 'd') goto yy1765;
goto yy87;
-yy1690:
+yy1696:
yych = *++cursor_;
if (yych <= '0') {
- if (yych == '.') goto yy1760;
+ if (yych == '.') goto yy1767;
goto yy87;
} else {
- if (yych <= '1') goto yy1761;
- if (yych == '8') goto yy1762;
+ if (yych <= '1') goto yy1768;
+ if (yych == '8') goto yy1769;
goto yy87;
}
-yy1691:
+yy1697:
yych = *++cursor_;
- if (yych == 'r') goto yy1763;
+ if (yych == 'r') goto yy1770;
goto yy87;
-yy1692:
+yy1698:
yych = *++cursor_;
- if (yych == 't') goto yy1764;
+ if (yych == 't') goto yy1771;
goto yy87;
-yy1693:
+yy1699:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 335 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32Extend16S); }
-#line 9046 "src/prebuilt/wast-lexer-gen.cc"
-yy1695:
+#line 9071 "src/prebuilt/wast-lexer-gen.cc"
+yy1701:
yych = *++cursor_;
- if (yych == 't') goto yy1766;
+ if (yych == 't') goto yy1773;
goto yy87;
-yy1696:
+yy1702:
yych = *++cursor_;
- if (yych == '2') goto yy1767;
+ if (yych == '2') goto yy1774;
goto yy87;
-yy1697:
+yy1703:
yych = *++cursor_;
- if (yych == '4') goto yy1769;
+ if (yych == '4') goto yy1776;
goto yy87;
-yy1698:
+yy1704:
yych = *++cursor_;
- if (yych == 't') goto yy1771;
+ if (yych == 't') goto yy1778;
goto yy87;
-yy1699:
+yy1705:
yych = *++cursor_;
- if (yych == '2') goto yy1772;
+ if (yych == '2') goto yy1779;
goto yy87;
-yy1700:
+yy1706:
yych = *++cursor_;
- if (yych == '4') goto yy1774;
+ if (yych == '4') goto yy1781;
goto yy87;
-yy1701:
+yy1707:
yych = *++cursor_;
- if (yych == 't') goto yy1776;
+ if (yych == 't') goto yy1783;
goto yy87;
-yy1702:
+yy1708:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 574 "src/wast-lexer.cc"
+#line 575 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32X4AllTrue); }
-#line 9082 "src/prebuilt/wast-lexer-gen.cc"
-yy1704:
+#line 9107 "src/prebuilt/wast-lexer-gen.cc"
+yy1710:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 570 "src/wast-lexer.cc"
+#line 571 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32X4AnyTrue); }
-#line 9090 "src/prebuilt/wast-lexer-gen.cc"
-yy1706:
+#line 9115 "src/prebuilt/wast-lexer-gen.cc"
+yy1712:
yych = *++cursor_;
- if (yych == 'f') goto yy1777;
+ if (yych == 'f') goto yy1784;
goto yy87;
-yy1707:
+yy1713:
yych = *++cursor_;
- if (yych == 'f') goto yy1778;
+ if (yych == 'f') goto yy1785;
goto yy87;
-yy1708:
+yy1714:
yych = *++cursor_;
- if (yych == 'd') goto yy1779;
+ if (yych == 'd') goto yy1786;
goto yy87;
-yy1709:
+yy1715:
yych = *++cursor_;
switch (yych) {
- case '.': goto yy1781;
- case '1': goto yy1782;
- case '3': goto yy1783;
- case '8': goto yy1784;
+ case '.': goto yy1788;
+ case '1': goto yy1789;
+ case '3': goto yy1790;
+ case '8': goto yy1791;
default: goto yy87;
}
-yy1710:
+yy1716:
yych = *++cursor_;
- if (yych == 'r') goto yy1785;
+ if (yych == 'r') goto yy1792;
goto yy87;
-yy1711:
+yy1717:
yych = *++cursor_;
- if (yych == 't') goto yy1786;
+ if (yych == 't') goto yy1793;
goto yy87;
-yy1712:
+yy1718:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 337 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64Extend16S); }
-#line 9127 "src/prebuilt/wast-lexer-gen.cc"
-yy1714:
+#line 9152 "src/prebuilt/wast-lexer-gen.cc"
+yy1720:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 338 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64Extend32S); }
-#line 9135 "src/prebuilt/wast-lexer-gen.cc"
-yy1716:
+#line 9160 "src/prebuilt/wast-lexer-gen.cc"
+yy1722:
yych = *++cursor_;
- if (yych == '3') goto yy1788;
+ if (yych == '3') goto yy1795;
goto yy87;
-yy1717:
+yy1723:
yych = *++cursor_;
- if (yych == '3') goto yy1789;
+ if (yych == '3') goto yy1796;
goto yy87;
-yy1718:
+yy1724:
yych = *++cursor_;
- if (yych == 't') goto yy1790;
+ if (yych == 't') goto yy1797;
goto yy87;
-yy1719:
+yy1725:
yych = *++cursor_;
- if (yych == '2') goto yy1791;
+ if (yych == '2') goto yy1798;
goto yy87;
-yy1720:
+yy1726:
yych = *++cursor_;
- if (yych == '4') goto yy1793;
+ if (yych == '4') goto yy1800;
goto yy87;
-yy1721:
+yy1727:
yych = *++cursor_;
- if (yych == 't') goto yy1795;
+ if (yych == 't') goto yy1802;
goto yy87;
-yy1722:
+yy1728:
yych = *++cursor_;
- if (yych == '2') goto yy1796;
+ if (yych == '2') goto yy1803;
goto yy87;
-yy1723:
+yy1729:
yych = *++cursor_;
- if (yych == '4') goto yy1798;
+ if (yych == '4') goto yy1805;
goto yy87;
-yy1724:
+yy1730:
yych = *++cursor_;
- if (yych == 't') goto yy1800;
+ if (yych == 't') goto yy1807;
goto yy87;
-yy1725:
+yy1731:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 575 "src/wast-lexer.cc"
+#line 576 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64X2AllTrue); }
-#line 9179 "src/prebuilt/wast-lexer-gen.cc"
-yy1727:
+#line 9204 "src/prebuilt/wast-lexer-gen.cc"
+yy1733:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 571 "src/wast-lexer.cc"
+#line 572 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64X2AnyTrue); }
-#line 9187 "src/prebuilt/wast-lexer-gen.cc"
-yy1729:
+#line 9212 "src/prebuilt/wast-lexer-gen.cc"
+yy1735:
yych = *++cursor_;
- if (yych == 'f') goto yy1801;
+ if (yych == 'f') goto yy1808;
goto yy87;
-yy1730:
+yy1736:
yych = *++cursor_;
- if (yych == 'f') goto yy1802;
+ if (yych == 'f') goto yy1809;
goto yy87;
-yy1731:
+yy1737:
yych = *++cursor_;
- if (yych == 'r') goto yy1803;
+ if (yych == 'r') goto yy1810;
goto yy87;
-yy1732:
+yy1738:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 572 "src/wast-lexer.cc"
+#line 573 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I8X16AllTrue); }
-#line 9207 "src/prebuilt/wast-lexer-gen.cc"
-yy1734:
+#line 9232 "src/prebuilt/wast-lexer-gen.cc"
+yy1740:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 568 "src/wast-lexer.cc"
+#line 569 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I8X16AnyTrue); }
-#line 9215 "src/prebuilt/wast-lexer-gen.cc"
-yy1736:
+#line 9240 "src/prebuilt/wast-lexer-gen.cc"
+yy1742:
yych = *++cursor_;
- if (yych == 'r') goto yy1804;
+ if (yych == 'l') goto yy1811;
goto yy87;
-yy1737:
+yy1743:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1812;
+ goto yy87;
+yy1744:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 567 "src/wast-lexer.cc"
+#line 568 "src/wast-lexer.cc"
{ RETURN_OPCODE(Ternary, V128BitSelect); }
-#line 9227 "src/prebuilt/wast-lexer-gen.cc"
-yy1739:
+#line 9256 "src/prebuilt/wast-lexer-gen.cc"
+yy1746:
yych = *++cursor_;
- if (yych == 'o') goto yy1805;
+ if (yych == 'o') goto yy1813;
goto yy87;
-yy1740:
+yy1747:
yych = *++cursor_;
- if (yych == 'd') goto yy1806;
+ if (yych == 'd') goto yy1814;
goto yy87;
-yy1741:
+yy1748:
yych = *++cursor_;
- if (yych == 'r') goto yy1808;
+ if (yych == 'r') goto yy1816;
goto yy87;
-yy1742:
+yy1749:
yych = *++cursor_;
- if (yych == 'a') goto yy1809;
+ if (yych == 'a') goto yy1817;
goto yy87;
-yy1743:
+yy1750:
yych = *++cursor_;
- if (yych == 'l') goto yy1810;
+ if (yych == 'l') goto yy1818;
goto yy87;
-yy1744:
+yy1751:
yych = *++cursor_;
- if (yych == '3') goto yy1811;
- if (yych == '6') goto yy1812;
+ if (yych == '3') goto yy1819;
+ if (yych == '6') goto yy1820;
goto yy87;
-yy1745:
+yy1752:
yych = *++cursor_;
- if (yych == '3') goto yy1813;
- if (yych == '6') goto yy1814;
+ if (yych == '3') goto yy1821;
+ if (yych == '6') goto yy1822;
goto yy87;
-yy1746:
+yy1753:
yych = *++cursor_;
- if (yych == '/') goto yy1815;
+ if (yych == '/') goto yy1823;
goto yy87;
-yy1747:
+yy1754:
yych = *++cursor_;
- if (yych == '/') goto yy1816;
+ if (yych == '/') goto yy1824;
goto yy87;
-yy1748:
+yy1755:
yych = *++cursor_;
- if (yych == '/') goto yy1817;
+ if (yych == '/') goto yy1825;
goto yy87;
-yy1749:
+yy1756:
yych = *++cursor_;
- if (yych == '3') goto yy1818;
- if (yych == '6') goto yy1819;
+ if (yych == '3') goto yy1826;
+ if (yych == '6') goto yy1827;
goto yy87;
-yy1750:
+yy1757:
yych = *++cursor_;
- if (yych == '3') goto yy1820;
- if (yych == '6') goto yy1821;
+ if (yych == '3') goto yy1828;
+ if (yych == '6') goto yy1829;
goto yy87;
-yy1751:
+yy1758:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 442 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F64PromoteF32); }
-#line 9287 "src/prebuilt/wast-lexer-gen.cc"
-yy1753:
+#line 9316 "src/prebuilt/wast-lexer-gen.cc"
+yy1760:
yych = *++cursor_;
- if (yych == '/') goto yy1822;
+ if (yych == '/') goto yy1830;
goto yy87;
-yy1754:
+yy1761:
yych = *++cursor_;
- if (yych == '/') goto yy1823;
+ if (yych == '/') goto yy1831;
goto yy87;
-yy1755:
+yy1762:
yych = *++cursor_;
- if (yych == '/') goto yy1824;
+ if (yych == '/') goto yy1832;
goto yy87;
-yy1756:
+yy1763:
yych = *++cursor_;
- if (yych == 'a') goto yy1825;
+ if (yych == 'a') goto yy1833;
goto yy87;
-yy1757:
+yy1764:
yych = *++cursor_;
- if (yych == 'a') goto yy1826;
+ if (yych == 'a') goto yy1834;
goto yy87;
-yy1758:
+yy1765:
++cursor_;
if ((yych = *cursor_) <= '0') {
if (yych <= '"') {
@@ -9315,354 +9344,358 @@ yy1758:
}
} else {
if (yych <= '8') {
- if (yych <= '1') goto yy1827;
+ if (yych <= '1') goto yy1835;
if (yych <= '7') goto yy86;
- goto yy1828;
+ goto yy1836;
} else {
- if (yych == ';') goto yy1759;
+ if (yych == ';') goto yy1766;
if (yych <= '~') goto yy86;
}
}
-yy1759:
+yy1766:
#line 456 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicLoad, I32AtomicLoad); }
-#line 9330 "src/prebuilt/wast-lexer-gen.cc"
-yy1760:
+#line 9359 "src/prebuilt/wast-lexer-gen.cc"
+yy1767:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy1829;
- case 'c': goto yy1830;
- case 'o': goto yy1831;
- case 's': goto yy1832;
- case 'x': goto yy1833;
+ case 'a': goto yy1837;
+ case 'c': goto yy1838;
+ case 'o': goto yy1839;
+ case 's': goto yy1840;
+ case 'x': goto yy1841;
default: goto yy87;
}
-yy1761:
+yy1768:
yych = *++cursor_;
- if (yych == '6') goto yy1834;
+ if (yych == '6') goto yy1842;
goto yy87;
-yy1762:
+yy1769:
yych = *++cursor_;
- if (yych == '_') goto yy1835;
+ if (yych == '_') goto yy1843;
goto yy87;
-yy1763:
+yy1770:
yych = *++cursor_;
- if (yych == 'e') goto yy1836;
+ if (yych == 'e') goto yy1844;
goto yy87;
-yy1764:
+yy1771:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 453 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicWait, I32AtomicWait); }
-#line 9360 "src/prebuilt/wast-lexer-gen.cc"
-yy1766:
+#line 9389 "src/prebuilt/wast-lexer-gen.cc"
+yy1773:
yych = *++cursor_;
- if (yych == '/') goto yy1838;
+ if (yych == '/') goto yy1846;
goto yy87;
-yy1767:
+yy1774:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 418 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32TruncSF32); }
-#line 9372 "src/prebuilt/wast-lexer-gen.cc"
-yy1769:
+#line 9401 "src/prebuilt/wast-lexer-gen.cc"
+yy1776:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 420 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32TruncSF64); }
-#line 9380 "src/prebuilt/wast-lexer-gen.cc"
-yy1771:
+#line 9409 "src/prebuilt/wast-lexer-gen.cc"
+yy1778:
yych = *++cursor_;
- if (yych == '/') goto yy1839;
+ if (yych == '/') goto yy1847;
goto yy87;
-yy1772:
+yy1779:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 422 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32TruncUF32); }
-#line 9392 "src/prebuilt/wast-lexer-gen.cc"
-yy1774:
+#line 9421 "src/prebuilt/wast-lexer-gen.cc"
+yy1781:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 424 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32TruncUF64); }
-#line 9400 "src/prebuilt/wast-lexer-gen.cc"
-yy1776:
+#line 9429 "src/prebuilt/wast-lexer-gen.cc"
+yy1783:
yych = *++cursor_;
- if (yych == '/') goto yy1840;
+ if (yych == '/') goto yy1848;
goto yy87;
-yy1777:
+yy1784:
yych = *++cursor_;
- if (yych == '3') goto yy1841;
+ if (yych == '3') goto yy1849;
goto yy87;
-yy1778:
+yy1785:
yych = *++cursor_;
- if (yych == '3') goto yy1842;
+ if (yych == '3') goto yy1850;
goto yy87;
-yy1779:
+yy1786:
++cursor_;
if ((yych = *cursor_) <= '1') {
if (yych <= '"') {
if (yych == '!') goto yy86;
} else {
if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy1780;
+ if (yych <= ')') goto yy1787;
if (yych <= '0') goto yy86;
- goto yy1843;
+ goto yy1851;
}
} else {
if (yych <= '8') {
- if (yych == '3') goto yy1844;
+ if (yych == '3') goto yy1852;
if (yych <= '7') goto yy86;
- goto yy1845;
+ goto yy1853;
} else {
- if (yych == ';') goto yy1780;
+ if (yych == ';') goto yy1787;
if (yych <= '~') goto yy86;
}
}
-yy1780:
+yy1787:
#line 457 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicLoad, I64AtomicLoad); }
-#line 9437 "src/prebuilt/wast-lexer-gen.cc"
-yy1781:
+#line 9466 "src/prebuilt/wast-lexer-gen.cc"
+yy1788:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy1846;
- case 'c': goto yy1847;
- case 'o': goto yy1848;
- case 's': goto yy1849;
- case 'x': goto yy1850;
+ case 'a': goto yy1854;
+ case 'c': goto yy1855;
+ case 'o': goto yy1856;
+ case 's': goto yy1857;
+ case 'x': goto yy1858;
default: goto yy87;
}
-yy1782:
+yy1789:
yych = *++cursor_;
- if (yych == '6') goto yy1851;
+ if (yych == '6') goto yy1859;
goto yy87;
-yy1783:
+yy1790:
yych = *++cursor_;
- if (yych == '2') goto yy1852;
+ if (yych == '2') goto yy1860;
goto yy87;
-yy1784:
+yy1791:
yych = *++cursor_;
- if (yych == '_') goto yy1853;
+ if (yych == '_') goto yy1861;
goto yy87;
-yy1785:
+yy1792:
yych = *++cursor_;
- if (yych == 'e') goto yy1854;
+ if (yych == 'e') goto yy1862;
goto yy87;
-yy1786:
+yy1793:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 454 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicWait, I64AtomicWait); }
-#line 9471 "src/prebuilt/wast-lexer-gen.cc"
-yy1788:
+#line 9500 "src/prebuilt/wast-lexer-gen.cc"
+yy1795:
yych = *++cursor_;
- if (yych == '2') goto yy1856;
+ if (yych == '2') goto yy1864;
goto yy87;
-yy1789:
+yy1796:
yych = *++cursor_;
- if (yych == '2') goto yy1858;
+ if (yych == '2') goto yy1866;
goto yy87;
-yy1790:
+yy1797:
yych = *++cursor_;
- if (yych == '/') goto yy1860;
+ if (yych == '/') goto yy1868;
goto yy87;
-yy1791:
+yy1798:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 419 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64TruncSF32); }
-#line 9491 "src/prebuilt/wast-lexer-gen.cc"
-yy1793:
+#line 9520 "src/prebuilt/wast-lexer-gen.cc"
+yy1800:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 421 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64TruncSF64); }
-#line 9499 "src/prebuilt/wast-lexer-gen.cc"
-yy1795:
+#line 9528 "src/prebuilt/wast-lexer-gen.cc"
+yy1802:
yych = *++cursor_;
- if (yych == '/') goto yy1861;
+ if (yych == '/') goto yy1869;
goto yy87;
-yy1796:
+yy1803:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 423 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64TruncUF32); }
-#line 9511 "src/prebuilt/wast-lexer-gen.cc"
-yy1798:
+#line 9540 "src/prebuilt/wast-lexer-gen.cc"
+yy1805:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 425 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64TruncUF64); }
-#line 9519 "src/prebuilt/wast-lexer-gen.cc"
-yy1800:
- yych = *++cursor_;
- if (yych == '/') goto yy1862;
- goto yy87;
-yy1801:
- yych = *++cursor_;
- if (yych == '6') goto yy1863;
- goto yy87;
-yy1802:
- yych = *++cursor_;
- if (yych == '6') goto yy1864;
- goto yy87;
-yy1803:
- yych = *++cursor_;
- if (yych == 'a') goto yy1865;
- goto yy87;
-yy1804:
+#line 9548 "src/prebuilt/wast-lexer-gen.cc"
+yy1807:
yych = *++cursor_;
- if (yych == 'a') goto yy1866;
+ if (yych == '/') goto yy1870;
goto yy87;
-yy1805:
- yych = *++cursor_;
- if (yych == 'n') goto yy1867;
- goto yy87;
-yy1806:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 666 "src/wast-lexer.cc"
- { RETURN(AssertMalformed); }
-#line 9551 "src/prebuilt/wast-lexer-gen.cc"
yy1808:
yych = *++cursor_;
- if (yych == 'i') goto yy1869;
+ if (yych == '6') goto yy1871;
goto yy87;
yy1809:
yych = *++cursor_;
- if (yych == 'n') goto yy1870;
+ if (yych == '6') goto yy1872;
goto yy87;
yy1810:
yych = *++cursor_;
- if (yych == 'e') goto yy1871;
+ if (yych == 'a') goto yy1873;
goto yy87;
yy1811:
yych = *++cursor_;
- if (yych == '2') goto yy1873;
+ if (yych == 'a') goto yy1874;
goto yy87;
yy1812:
yych = *++cursor_;
- if (yych == '4') goto yy1875;
+ if (yych == 'a') goto yy1875;
goto yy87;
yy1813:
yych = *++cursor_;
- if (yych == '2') goto yy1877;
+ if (yych == 'n') goto yy1876;
goto yy87;
yy1814:
- yych = *++cursor_;
- if (yych == '4') goto yy1879;
- goto yy87;
-yy1815:
- yych = *++cursor_;
- if (yych == 'i') goto yy1881;
- goto yy87;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 667 "src/wast-lexer.cc"
+ { RETURN(AssertMalformed); }
+#line 9584 "src/prebuilt/wast-lexer-gen.cc"
yy1816:
yych = *++cursor_;
- if (yych == 'i') goto yy1882;
+ if (yych == 'i') goto yy1878;
goto yy87;
yy1817:
yych = *++cursor_;
- if (yych == 'i') goto yy1883;
+ if (yych == 'n') goto yy1879;
goto yy87;
yy1818:
yych = *++cursor_;
- if (yych == '2') goto yy1884;
+ if (yych == 'e') goto yy1880;
goto yy87;
yy1819:
yych = *++cursor_;
- if (yych == '4') goto yy1886;
+ if (yych == '2') goto yy1882;
goto yy87;
yy1820:
yych = *++cursor_;
- if (yych == '2') goto yy1888;
+ if (yych == '4') goto yy1884;
goto yy87;
yy1821:
yych = *++cursor_;
- if (yych == '4') goto yy1890;
+ if (yych == '2') goto yy1886;
goto yy87;
yy1822:
yych = *++cursor_;
- if (yych == 'i') goto yy1892;
+ if (yych == '4') goto yy1888;
goto yy87;
yy1823:
yych = *++cursor_;
- if (yych == 'i') goto yy1893;
+ if (yych == 'i') goto yy1890;
goto yy87;
yy1824:
yych = *++cursor_;
- if (yych == 'i') goto yy1894;
+ if (yych == 'i') goto yy1891;
goto yy87;
yy1825:
yych = *++cursor_;
- if (yych == 't') goto yy1895;
+ if (yych == 'i') goto yy1892;
goto yy87;
yy1826:
yych = *++cursor_;
- if (yych == 't') goto yy1896;
+ if (yych == '2') goto yy1893;
goto yy87;
yy1827:
yych = *++cursor_;
- if (yych == '6') goto yy1897;
+ if (yych == '4') goto yy1895;
goto yy87;
yy1828:
yych = *++cursor_;
- if (yych == '_') goto yy1898;
+ if (yych == '2') goto yy1897;
goto yy87;
yy1829:
yych = *++cursor_;
- if (yych == 'd') goto yy1899;
- if (yych == 'n') goto yy1900;
+ if (yych == '4') goto yy1899;
goto yy87;
yy1830:
yych = *++cursor_;
- if (yych == 'm') goto yy1901;
+ if (yych == 'i') goto yy1901;
goto yy87;
yy1831:
yych = *++cursor_;
- if (yych == 'r') goto yy1902;
+ if (yych == 'i') goto yy1902;
goto yy87;
yy1832:
yych = *++cursor_;
- if (yych == 'u') goto yy1904;
+ if (yych == 'i') goto yy1903;
goto yy87;
yy1833:
yych = *++cursor_;
- if (yych == 'c') goto yy1905;
- if (yych == 'o') goto yy1906;
+ if (yych == 't') goto yy1904;
goto yy87;
yy1834:
yych = *++cursor_;
- if (yych == '_') goto yy1907;
+ if (yych == 't') goto yy1905;
goto yy87;
yy1835:
yych = *++cursor_;
- if (yych == 'u') goto yy1908;
+ if (yych == '6') goto yy1906;
goto yy87;
yy1836:
+ yych = *++cursor_;
+ if (yych == '_') goto yy1907;
+ goto yy87;
+yy1837:
+ yych = *++cursor_;
+ if (yych == 'd') goto yy1908;
+ if (yych == 'n') goto yy1909;
+ goto yy87;
+yy1838:
+ yych = *++cursor_;
+ if (yych == 'm') goto yy1910;
+ goto yy87;
+yy1839:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1911;
+ goto yy87;
+yy1840:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy1913;
+ goto yy87;
+yy1841:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy1914;
+ if (yych == 'o') goto yy1915;
+ goto yy87;
+yy1842:
+ yych = *++cursor_;
+ if (yych == '_') goto yy1916;
+ goto yy87;
+yy1843:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy1917;
+ goto yy87;
+yy1844:
++cursor_;
if ((yych = *cursor_) <= '0') {
if (yych <= '"') {
@@ -9673,1872 +9706,1896 @@ yy1836:
}
} else {
if (yych <= '8') {
- if (yych <= '1') goto yy1909;
+ if (yych <= '1') goto yy1918;
if (yych <= '7') goto yy86;
- goto yy1910;
+ goto yy1919;
} else {
- if (yych == ';') goto yy1837;
+ if (yych == ';') goto yy1845;
if (yych <= '~') goto yy86;
}
}
-yy1837:
+yy1845:
#line 463 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicStore, I32AtomicStore); }
-#line 9688 "src/prebuilt/wast-lexer-gen.cc"
-yy1838:
+#line 9721 "src/prebuilt/wast-lexer-gen.cc"
+yy1846:
yych = *++cursor_;
- if (yych == 'f') goto yy1912;
+ if (yych == 'f') goto yy1921;
goto yy87;
-yy1839:
+yy1847:
yych = *++cursor_;
- if (yych == 'f') goto yy1913;
+ if (yych == 'f') goto yy1922;
goto yy87;
-yy1840:
+yy1848:
yych = *++cursor_;
- if (yych == 'f') goto yy1914;
+ if (yych == 'f') goto yy1923;
goto yy87;
-yy1841:
+yy1849:
yych = *++cursor_;
- if (yych == '2') goto yy1915;
+ if (yych == '2') goto yy1924;
goto yy87;
-yy1842:
+yy1850:
yych = *++cursor_;
- if (yych == '2') goto yy1916;
+ if (yych == '2') goto yy1925;
goto yy87;
-yy1843:
+yy1851:
yych = *++cursor_;
- if (yych == '6') goto yy1917;
+ if (yych == '6') goto yy1926;
goto yy87;
-yy1844:
+yy1852:
yych = *++cursor_;
- if (yych == '2') goto yy1918;
+ if (yych == '2') goto yy1927;
goto yy87;
-yy1845:
+yy1853:
yych = *++cursor_;
- if (yych == '_') goto yy1919;
+ if (yych == '_') goto yy1928;
goto yy87;
-yy1846:
+yy1854:
yych = *++cursor_;
- if (yych == 'd') goto yy1920;
- if (yych == 'n') goto yy1921;
+ if (yych == 'd') goto yy1929;
+ if (yych == 'n') goto yy1930;
goto yy87;
-yy1847:
+yy1855:
yych = *++cursor_;
- if (yych == 'm') goto yy1922;
+ if (yych == 'm') goto yy1931;
goto yy87;
-yy1848:
+yy1856:
yych = *++cursor_;
- if (yych == 'r') goto yy1923;
+ if (yych == 'r') goto yy1932;
goto yy87;
-yy1849:
+yy1857:
yych = *++cursor_;
- if (yych == 'u') goto yy1925;
+ if (yych == 'u') goto yy1934;
goto yy87;
-yy1850:
+yy1858:
yych = *++cursor_;
- if (yych == 'c') goto yy1926;
- if (yych == 'o') goto yy1927;
+ if (yych == 'c') goto yy1935;
+ if (yych == 'o') goto yy1936;
goto yy87;
-yy1851:
+yy1859:
yych = *++cursor_;
- if (yych == '_') goto yy1928;
+ if (yych == '_') goto yy1937;
goto yy87;
-yy1852:
+yy1860:
yych = *++cursor_;
- if (yych == '_') goto yy1929;
+ if (yych == '_') goto yy1938;
goto yy87;
-yy1853:
+yy1861:
yych = *++cursor_;
- if (yych == 'u') goto yy1930;
+ if (yych == 'u') goto yy1939;
goto yy87;
-yy1854:
+yy1862:
++cursor_;
if ((yych = *cursor_) <= '1') {
if (yych <= '"') {
if (yych == '!') goto yy86;
} else {
if (yych <= '\'') goto yy86;
- if (yych <= ')') goto yy1855;
+ if (yych <= ')') goto yy1863;
if (yych <= '0') goto yy86;
- goto yy1931;
+ goto yy1940;
}
} else {
if (yych <= '8') {
- if (yych == '3') goto yy1932;
+ if (yych == '3') goto yy1941;
if (yych <= '7') goto yy86;
- goto yy1933;
+ goto yy1942;
} else {
- if (yych == ';') goto yy1855;
+ if (yych == ';') goto yy1863;
if (yych <= '~') goto yy86;
}
}
-yy1855:
+yy1863:
#line 464 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicStore, I64AtomicStore); }
-#line 9779 "src/prebuilt/wast-lexer-gen.cc"
-yy1856:
+#line 9812 "src/prebuilt/wast-lexer-gen.cc"
+yy1864:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 415 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64ExtendSI32); }
-#line 9787 "src/prebuilt/wast-lexer-gen.cc"
-yy1858:
+#line 9820 "src/prebuilt/wast-lexer-gen.cc"
+yy1866:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 416 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64ExtendUI32); }
-#line 9795 "src/prebuilt/wast-lexer-gen.cc"
-yy1860:
+#line 9828 "src/prebuilt/wast-lexer-gen.cc"
+yy1868:
yych = *++cursor_;
- if (yych == 'f') goto yy1935;
+ if (yych == 'f') goto yy1944;
goto yy87;
-yy1861:
+yy1869:
yych = *++cursor_;
- if (yych == 'f') goto yy1936;
+ if (yych == 'f') goto yy1945;
goto yy87;
-yy1862:
+yy1870:
yych = *++cursor_;
- if (yych == 'f') goto yy1937;
+ if (yych == 'f') goto yy1946;
goto yy87;
-yy1863:
+yy1871:
yych = *++cursor_;
- if (yych == '4') goto yy1938;
+ if (yych == '4') goto yy1947;
goto yy87;
-yy1864:
+yy1872:
yych = *++cursor_;
- if (yych == '4') goto yy1939;
+ if (yych == '4') goto yy1948;
goto yy87;
-yy1865:
+yy1873:
yych = *++cursor_;
- if (yych == 't') goto yy1940;
+ if (yych == 't') goto yy1949;
goto yy87;
-yy1866:
+yy1874:
yych = *++cursor_;
- if (yych == 't') goto yy1941;
+ if (yych == 'n') goto yy1950;
goto yy87;
-yy1867:
+yy1875:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1951;
+ goto yy87;
+yy1876:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 673 "src/wast-lexer.cc"
+#line 674 "src/wast-lexer.cc"
{ RETURN(AssertExhaustion); }
-#line 9831 "src/prebuilt/wast-lexer-gen.cc"
-yy1869:
+#line 9868 "src/prebuilt/wast-lexer-gen.cc"
+yy1878:
yych = *++cursor_;
- if (yych == 't') goto yy1942;
+ if (yych == 't') goto yy1952;
goto yy87;
-yy1870:
+yy1879:
yych = *++cursor_;
- if (yych == 'o') goto yy1943;
+ if (yych == 'o') goto yy1953;
goto yy87;
-yy1871:
+yy1880:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 668 "src/wast-lexer.cc"
+#line 669 "src/wast-lexer.cc"
{ RETURN(AssertUnlinkable); }
-#line 9847 "src/prebuilt/wast-lexer-gen.cc"
-yy1873:
+#line 9884 "src/prebuilt/wast-lexer-gen.cc"
+yy1882:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 434 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F32ConvertSI32); }
-#line 9855 "src/prebuilt/wast-lexer-gen.cc"
-yy1875:
+#line 9892 "src/prebuilt/wast-lexer-gen.cc"
+yy1884:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 436 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F32ConvertSI64); }
-#line 9863 "src/prebuilt/wast-lexer-gen.cc"
-yy1877:
+#line 9900 "src/prebuilt/wast-lexer-gen.cc"
+yy1886:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 438 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F32ConvertUI32); }
-#line 9871 "src/prebuilt/wast-lexer-gen.cc"
-yy1879:
+#line 9908 "src/prebuilt/wast-lexer-gen.cc"
+yy1888:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 440 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F32ConvertUI64); }
-#line 9879 "src/prebuilt/wast-lexer-gen.cc"
-yy1881:
+#line 9916 "src/prebuilt/wast-lexer-gen.cc"
+yy1890:
yych = *++cursor_;
- if (yych == '3') goto yy1944;
+ if (yych == '3') goto yy1954;
goto yy87;
-yy1882:
+yy1891:
yych = *++cursor_;
- if (yych == '3') goto yy1945;
+ if (yych == '3') goto yy1955;
goto yy87;
-yy1883:
+yy1892:
yych = *++cursor_;
- if (yych == '3') goto yy1946;
+ if (yych == '3') goto yy1956;
goto yy87;
-yy1884:
+yy1893:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 435 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F64ConvertSI32); }
-#line 9899 "src/prebuilt/wast-lexer-gen.cc"
-yy1886:
+#line 9936 "src/prebuilt/wast-lexer-gen.cc"
+yy1895:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 437 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F64ConvertSI64); }
-#line 9907 "src/prebuilt/wast-lexer-gen.cc"
-yy1888:
+#line 9944 "src/prebuilt/wast-lexer-gen.cc"
+yy1897:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 439 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F64ConvertUI32); }
-#line 9915 "src/prebuilt/wast-lexer-gen.cc"
-yy1890:
+#line 9952 "src/prebuilt/wast-lexer-gen.cc"
+yy1899:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 441 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F64ConvertUI64); }
-#line 9923 "src/prebuilt/wast-lexer-gen.cc"
-yy1892:
- yych = *++cursor_;
- if (yych == '6') goto yy1947;
- goto yy87;
-yy1893:
- yych = *++cursor_;
- if (yych == '6') goto yy1948;
- goto yy87;
-yy1894:
- yych = *++cursor_;
- if (yych == '6') goto yy1949;
- goto yy87;
-yy1895:
- yych = *++cursor_;
- if (yych == 'e') goto yy1950;
- goto yy87;
-yy1896:
- yych = *++cursor_;
- if (yych == 'e') goto yy1951;
- goto yy87;
-yy1897:
- yych = *++cursor_;
- if (yych == '_') goto yy1952;
- goto yy87;
-yy1898:
- yych = *++cursor_;
- if (yych == 'u') goto yy1953;
- goto yy87;
-yy1899:
+#line 9960 "src/prebuilt/wast-lexer-gen.cc"
+yy1901:
yych = *++cursor_;
- if (yych == 'd') goto yy1955;
+ if (yych == '6') goto yy1957;
goto yy87;
-yy1900:
+yy1902:
yych = *++cursor_;
- if (yych == 'd') goto yy1957;
+ if (yych == '6') goto yy1958;
goto yy87;
-yy1901:
+yy1903:
yych = *++cursor_;
- if (yych == 'p') goto yy1959;
+ if (yych == '6') goto yy1959;
goto yy87;
-yy1902:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 491 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmwOr); }
-#line 9971 "src/prebuilt/wast-lexer-gen.cc"
yy1904:
yych = *++cursor_;
- if (yych == 'b') goto yy1960;
+ if (yych == 'e') goto yy1960;
goto yy87;
yy1905:
yych = *++cursor_;
- if (yych == 'h') goto yy1962;
+ if (yych == 'e') goto yy1961;
goto yy87;
yy1906:
yych = *++cursor_;
- if (yych == 'r') goto yy1963;
+ if (yych == '_') goto yy1962;
goto yy87;
yy1907:
yych = *++cursor_;
- if (yych == 'u') goto yy1965;
+ if (yych == 'u') goto yy1963;
goto yy87;
yy1908:
yych = *++cursor_;
- if (yych == '.') goto yy1966;
+ if (yych == 'd') goto yy1965;
goto yy87;
yy1909:
yych = *++cursor_;
- if (yych == '6') goto yy1967;
+ if (yych == 'd') goto yy1967;
goto yy87;
yy1910:
+ yych = *++cursor_;
+ if (yych == 'p') goto yy1969;
+ goto yy87;
+yy1911:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 465 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicStore, I32AtomicStore8); }
-#line 10003 "src/prebuilt/wast-lexer-gen.cc"
-yy1912:
- yych = *++cursor_;
- if (yych == '3') goto yy1969;
- goto yy87;
+#line 491 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmwOr); }
+#line 10008 "src/prebuilt/wast-lexer-gen.cc"
yy1913:
yych = *++cursor_;
- if (yych == '3') goto yy1970;
- if (yych == '6') goto yy1971;
+ if (yych == 'b') goto yy1970;
goto yy87;
yy1914:
yych = *++cursor_;
- if (yych == '3') goto yy1972;
- if (yych == '6') goto yy1973;
+ if (yych == 'h') goto yy1972;
goto yy87;
yy1915:
yych = *++cursor_;
- if (yych == 'x') goto yy1974;
+ if (yych == 'r') goto yy1973;
goto yy87;
yy1916:
yych = *++cursor_;
- if (yych == 'x') goto yy1975;
+ if (yych == 'u') goto yy1975;
goto yy87;
yy1917:
yych = *++cursor_;
- if (yych == '_') goto yy1976;
+ if (yych == '.') goto yy1976;
goto yy87;
yy1918:
yych = *++cursor_;
- if (yych == '_') goto yy1977;
+ if (yych == '6') goto yy1977;
goto yy87;
yy1919:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 465 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicStore, I32AtomicStore8); }
+#line 10040 "src/prebuilt/wast-lexer-gen.cc"
+yy1921:
yych = *++cursor_;
- if (yych == 'u') goto yy1978;
+ if (yych == '3') goto yy1979;
goto yy87;
-yy1920:
+yy1922:
yych = *++cursor_;
- if (yych == 'd') goto yy1980;
+ if (yych == '3') goto yy1980;
+ if (yych == '6') goto yy1981;
goto yy87;
-yy1921:
+yy1923:
yych = *++cursor_;
- if (yych == 'd') goto yy1982;
+ if (yych == '3') goto yy1982;
+ if (yych == '6') goto yy1983;
goto yy87;
-yy1922:
+yy1924:
yych = *++cursor_;
- if (yych == 'p') goto yy1984;
+ if (yych == 'x') goto yy1984;
goto yy87;
-yy1923:
- ++cursor_;
- if (yybm[0+(yych = *cursor_)] & 8) {
- goto yy86;
- }
-#line 492 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmwOr); }
-#line 10057 "src/prebuilt/wast-lexer-gen.cc"
yy1925:
yych = *++cursor_;
- if (yych == 'b') goto yy1985;
+ if (yych == 'x') goto yy1985;
goto yy87;
yy1926:
yych = *++cursor_;
- if (yych == 'h') goto yy1987;
+ if (yych == '_') goto yy1986;
goto yy87;
yy1927:
yych = *++cursor_;
- if (yych == 'r') goto yy1988;
+ if (yych == '_') goto yy1987;
goto yy87;
yy1928:
yych = *++cursor_;
- if (yych == 'u') goto yy1990;
+ if (yych == 'u') goto yy1988;
goto yy87;
yy1929:
yych = *++cursor_;
- if (yych == 'u') goto yy1991;
+ if (yych == 'd') goto yy1990;
goto yy87;
yy1930:
yych = *++cursor_;
- if (yych == '.') goto yy1992;
+ if (yych == 'd') goto yy1992;
goto yy87;
yy1931:
yych = *++cursor_;
- if (yych == '6') goto yy1993;
+ if (yych == 'p') goto yy1994;
goto yy87;
yy1932:
- yych = *++cursor_;
- if (yych == '2') goto yy1995;
- goto yy87;
-yy1933:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 467 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicStore, I64AtomicStore8); }
-#line 10097 "src/prebuilt/wast-lexer-gen.cc"
+#line 492 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmwOr); }
+#line 10094 "src/prebuilt/wast-lexer-gen.cc"
+yy1934:
+ yych = *++cursor_;
+ if (yych == 'b') goto yy1995;
+ goto yy87;
yy1935:
yych = *++cursor_;
- if (yych == '6') goto yy1997;
+ if (yych == 'h') goto yy1997;
goto yy87;
yy1936:
yych = *++cursor_;
- if (yych == '3') goto yy1998;
- if (yych == '6') goto yy1999;
+ if (yych == 'r') goto yy1998;
goto yy87;
yy1937:
yych = *++cursor_;
- if (yych == '3') goto yy2000;
- if (yych == '6') goto yy2001;
+ if (yych == 'u') goto yy2000;
goto yy87;
yy1938:
yych = *++cursor_;
- if (yych == 'x') goto yy2002;
+ if (yych == 'u') goto yy2001;
goto yy87;
yy1939:
yych = *++cursor_;
- if (yych == 'x') goto yy2003;
+ if (yych == '.') goto yy2002;
goto yy87;
yy1940:
yych = *++cursor_;
- if (yych == 'e') goto yy2004;
+ if (yych == '6') goto yy2003;
goto yy87;
yy1941:
yych = *++cursor_;
- if (yych == 'e') goto yy2005;
+ if (yych == '2') goto yy2005;
goto yy87;
yy1942:
- yych = *++cursor_;
- if (yych == 'h') goto yy2006;
- goto yy87;
-yy1943:
- yych = *++cursor_;
- if (yych == 'n') goto yy2007;
- goto yy87;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 467 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicStore, I64AtomicStore8); }
+#line 10134 "src/prebuilt/wast-lexer-gen.cc"
yy1944:
yych = *++cursor_;
- if (yych == '2') goto yy2008;
+ if (yych == '6') goto yy2007;
goto yy87;
yy1945:
yych = *++cursor_;
- if (yych == '2') goto yy2010;
+ if (yych == '3') goto yy2008;
+ if (yych == '6') goto yy2009;
goto yy87;
yy1946:
yych = *++cursor_;
- if (yych == '2') goto yy2011;
+ if (yych == '3') goto yy2010;
+ if (yych == '6') goto yy2011;
goto yy87;
yy1947:
yych = *++cursor_;
- if (yych == '4') goto yy2012;
+ if (yych == 'x') goto yy2012;
goto yy87;
yy1948:
yych = *++cursor_;
- if (yych == '4') goto yy2014;
+ if (yych == 'x') goto yy2013;
goto yy87;
yy1949:
yych = *++cursor_;
- if (yych == '4') goto yy2015;
+ if (yych == 'e') goto yy2014;
goto yy87;
yy1950:
yych = *++cursor_;
- if (yych == '_') goto yy2016;
+ if (yych == 'e') goto yy2015;
goto yy87;
yy1951:
yych = *++cursor_;
- if (yych == '_') goto yy2017;
+ if (yych == 'e') goto yy2016;
goto yy87;
yy1952:
yych = *++cursor_;
- if (yych == 'u') goto yy2018;
+ if (yych == 'h') goto yy2017;
goto yy87;
yy1953:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy2018;
+ goto yy87;
+yy1954:
+ yych = *++cursor_;
+ if (yych == '2') goto yy2019;
+ goto yy87;
+yy1955:
+ yych = *++cursor_;
+ if (yych == '2') goto yy2021;
+ goto yy87;
+yy1956:
+ yych = *++cursor_;
+ if (yych == '2') goto yy2022;
+ goto yy87;
+yy1957:
+ yych = *++cursor_;
+ if (yych == '4') goto yy2023;
+ goto yy87;
+yy1958:
+ yych = *++cursor_;
+ if (yych == '4') goto yy2025;
+ goto yy87;
+yy1959:
+ yych = *++cursor_;
+ if (yych == '4') goto yy2026;
+ goto yy87;
+yy1960:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2027;
+ goto yy87;
+yy1961:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2028;
+ goto yy87;
+yy1962:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2029;
+ goto yy87;
+yy1963:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 458 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicLoad, I32AtomicLoad8U); }
-#line 10179 "src/prebuilt/wast-lexer-gen.cc"
-yy1955:
+#line 10220 "src/prebuilt/wast-lexer-gen.cc"
+yy1965:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 470 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmwAdd); }
-#line 10187 "src/prebuilt/wast-lexer-gen.cc"
-yy1957:
+#line 10228 "src/prebuilt/wast-lexer-gen.cc"
+yy1967:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 484 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmwAnd); }
-#line 10195 "src/prebuilt/wast-lexer-gen.cc"
-yy1959:
+#line 10236 "src/prebuilt/wast-lexer-gen.cc"
+yy1969:
yych = *++cursor_;
- if (yych == 'x') goto yy2020;
+ if (yych == 'x') goto yy2031;
goto yy87;
-yy1960:
+yy1970:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 477 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmwSub); }
-#line 10207 "src/prebuilt/wast-lexer-gen.cc"
-yy1962:
+#line 10248 "src/prebuilt/wast-lexer-gen.cc"
+yy1972:
yych = *++cursor_;
- if (yych == 'g') goto yy2021;
+ if (yych == 'g') goto yy2032;
goto yy87;
-yy1963:
+yy1973:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 498 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmwXor); }
-#line 10219 "src/prebuilt/wast-lexer-gen.cc"
-yy1965:
+#line 10260 "src/prebuilt/wast-lexer-gen.cc"
+yy1975:
yych = *++cursor_;
- if (yych == '.') goto yy2023;
+ if (yych == '.') goto yy2034;
goto yy87;
-yy1966:
+yy1976:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy2024;
- case 'c': goto yy2025;
- case 'o': goto yy2026;
- case 's': goto yy2027;
- case 'x': goto yy2028;
+ case 'a': goto yy2035;
+ case 'c': goto yy2036;
+ case 'o': goto yy2037;
+ case 's': goto yy2038;
+ case 'x': goto yy2039;
default: goto yy87;
}
-yy1967:
+yy1977:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 466 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicStore, I32AtomicStore16); }
-#line 10241 "src/prebuilt/wast-lexer-gen.cc"
-yy1969:
+#line 10282 "src/prebuilt/wast-lexer-gen.cc"
+yy1979:
yych = *++cursor_;
- if (yych == '2') goto yy2029;
+ if (yych == '2') goto yy2040;
goto yy87;
-yy1970:
+yy1980:
yych = *++cursor_;
- if (yych == '2') goto yy2031;
+ if (yych == '2') goto yy2042;
goto yy87;
-yy1971:
+yy1981:
yych = *++cursor_;
- if (yych == '4') goto yy2033;
+ if (yych == '4') goto yy2044;
goto yy87;
-yy1972:
+yy1982:
yych = *++cursor_;
- if (yych == '2') goto yy2035;
+ if (yych == '2') goto yy2046;
goto yy87;
-yy1973:
+yy1983:
yych = *++cursor_;
- if (yych == '4') goto yy2037;
+ if (yych == '4') goto yy2048;
goto yy87;
-yy1974:
+yy1984:
yych = *++cursor_;
- if (yych == '4') goto yy2039;
+ if (yych == '4') goto yy2050;
goto yy87;
-yy1975:
+yy1985:
yych = *++cursor_;
- if (yych == '4') goto yy2040;
+ if (yych == '4') goto yy2051;
goto yy87;
-yy1976:
+yy1986:
yych = *++cursor_;
- if (yych == 'u') goto yy2041;
+ if (yych == 'u') goto yy2052;
goto yy87;
-yy1977:
+yy1987:
yych = *++cursor_;
- if (yych == 'u') goto yy2043;
+ if (yych == 'u') goto yy2054;
goto yy87;
-yy1978:
+yy1988:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 460 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicLoad, I64AtomicLoad8U); }
-#line 10285 "src/prebuilt/wast-lexer-gen.cc"
-yy1980:
+#line 10326 "src/prebuilt/wast-lexer-gen.cc"
+yy1990:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 471 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmwAdd); }
-#line 10293 "src/prebuilt/wast-lexer-gen.cc"
-yy1982:
+#line 10334 "src/prebuilt/wast-lexer-gen.cc"
+yy1992:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 485 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmwAnd); }
-#line 10301 "src/prebuilt/wast-lexer-gen.cc"
-yy1984:
+#line 10342 "src/prebuilt/wast-lexer-gen.cc"
+yy1994:
yych = *++cursor_;
- if (yych == 'x') goto yy2045;
+ if (yych == 'x') goto yy2056;
goto yy87;
-yy1985:
+yy1995:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 478 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmwSub); }
-#line 10313 "src/prebuilt/wast-lexer-gen.cc"
-yy1987:
+#line 10354 "src/prebuilt/wast-lexer-gen.cc"
+yy1997:
yych = *++cursor_;
- if (yych == 'g') goto yy2046;
+ if (yych == 'g') goto yy2057;
goto yy87;
-yy1988:
+yy1998:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 499 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmwXor); }
-#line 10325 "src/prebuilt/wast-lexer-gen.cc"
-yy1990:
+#line 10366 "src/prebuilt/wast-lexer-gen.cc"
+yy2000:
yych = *++cursor_;
- if (yych == '.') goto yy2048;
+ if (yych == '.') goto yy2059;
goto yy87;
-yy1991:
+yy2001:
yych = *++cursor_;
- if (yych == '.') goto yy2049;
+ if (yych == '.') goto yy2060;
goto yy87;
-yy1992:
+yy2002:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy2050;
- case 'c': goto yy2051;
- case 'o': goto yy2052;
- case 's': goto yy2053;
- case 'x': goto yy2054;
+ case 'a': goto yy2061;
+ case 'c': goto yy2062;
+ case 'o': goto yy2063;
+ case 's': goto yy2064;
+ case 'x': goto yy2065;
default: goto yy87;
}
-yy1993:
+yy2003:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 468 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicStore, I64AtomicStore16); }
-#line 10351 "src/prebuilt/wast-lexer-gen.cc"
-yy1995:
+#line 10392 "src/prebuilt/wast-lexer-gen.cc"
+yy2005:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 469 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicStore, I64AtomicStore32); }
-#line 10359 "src/prebuilt/wast-lexer-gen.cc"
-yy1997:
+#line 10400 "src/prebuilt/wast-lexer-gen.cc"
+yy2007:
yych = *++cursor_;
- if (yych == '4') goto yy2055;
+ if (yych == '4') goto yy2066;
goto yy87;
-yy1998:
+yy2008:
yych = *++cursor_;
- if (yych == '2') goto yy2057;
+ if (yych == '2') goto yy2068;
goto yy87;
-yy1999:
+yy2009:
yych = *++cursor_;
- if (yych == '4') goto yy2059;
+ if (yych == '4') goto yy2070;
goto yy87;
-yy2000:
+yy2010:
yych = *++cursor_;
- if (yych == '2') goto yy2061;
+ if (yych == '2') goto yy2072;
goto yy87;
-yy2001:
+yy2011:
yych = *++cursor_;
- if (yych == '4') goto yy2063;
+ if (yych == '4') goto yy2074;
goto yy87;
-yy2002:
+yy2012:
yych = *++cursor_;
- if (yych == '2') goto yy2065;
+ if (yych == '2') goto yy2076;
goto yy87;
-yy2003:
+yy2013:
yych = *++cursor_;
- if (yych == '2') goto yy2066;
+ if (yych == '2') goto yy2077;
goto yy87;
-yy2004:
+yy2014:
yych = *++cursor_;
- if (yych == '_') goto yy2067;
+ if (yych == '_') goto yy2078;
goto yy87;
-yy2005:
+yy2015:
yych = *++cursor_;
- if (yych == '_') goto yy2068;
+ if (yych == '_') goto yy2079;
goto yy87;
-yy2006:
+yy2016:
yych = *++cursor_;
- if (yych == 'm') goto yy2069;
+ if (yych == '_') goto yy2080;
goto yy87;
-yy2007:
+yy2017:
yych = *++cursor_;
- if (yych == 'i') goto yy2070;
+ if (yych == 'm') goto yy2081;
goto yy87;
-yy2008:
+yy2018:
+ yych = *++cursor_;
+ if (yych == 'i') goto yy2082;
+ goto yy87;
+yy2019:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 444 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F32ReinterpretI32); }
-#line 10411 "src/prebuilt/wast-lexer-gen.cc"
-yy2010:
+#line 10456 "src/prebuilt/wast-lexer-gen.cc"
+yy2021:
yych = *++cursor_;
- if (yych == 'x') goto yy2071;
+ if (yych == 'x') goto yy2083;
goto yy87;
-yy2011:
+yy2022:
yych = *++cursor_;
- if (yych == 'x') goto yy2072;
+ if (yych == 'x') goto yy2084;
goto yy87;
-yy2012:
+yy2023:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 446 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F64ReinterpretI64); }
-#line 10427 "src/prebuilt/wast-lexer-gen.cc"
-yy2014:
+#line 10472 "src/prebuilt/wast-lexer-gen.cc"
+yy2025:
yych = *++cursor_;
- if (yych == 'x') goto yy2073;
+ if (yych == 'x') goto yy2085;
goto yy87;
-yy2015:
+yy2026:
yych = *++cursor_;
- if (yych == 'x') goto yy2074;
+ if (yych == 'x') goto yy2086;
goto yy87;
-yy2016:
+yy2027:
yych = *++cursor_;
- if (yych == 's') goto yy2075;
- if (yych == 'u') goto yy2077;
+ if (yych == 's') goto yy2087;
+ if (yych == 'u') goto yy2089;
goto yy87;
-yy2017:
+yy2028:
yych = *++cursor_;
- if (yych == 's') goto yy2079;
- if (yych == 'u') goto yy2081;
+ if (yych == 's') goto yy2091;
+ if (yych == 'u') goto yy2093;
goto yy87;
-yy2018:
+yy2029:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 459 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicLoad, I32AtomicLoad16U); }
-#line 10453 "src/prebuilt/wast-lexer-gen.cc"
-yy2020:
+#line 10498 "src/prebuilt/wast-lexer-gen.cc"
+yy2031:
yych = *++cursor_;
- if (yych == 'c') goto yy2083;
+ if (yych == 'c') goto yy2095;
goto yy87;
-yy2021:
+yy2032:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 505 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmwXchg); }
-#line 10465 "src/prebuilt/wast-lexer-gen.cc"
-yy2023:
+#line 10510 "src/prebuilt/wast-lexer-gen.cc"
+yy2034:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy2084;
- case 'c': goto yy2085;
- case 'o': goto yy2086;
- case 's': goto yy2087;
- case 'x': goto yy2088;
+ case 'a': goto yy2096;
+ case 'c': goto yy2097;
+ case 'o': goto yy2098;
+ case 's': goto yy2099;
+ case 'x': goto yy2100;
default: goto yy87;
}
-yy2024:
+yy2035:
yych = *++cursor_;
- if (yych == 'd') goto yy2089;
- if (yych == 'n') goto yy2090;
+ if (yych == 'd') goto yy2101;
+ if (yych == 'n') goto yy2102;
goto yy87;
-yy2025:
+yy2036:
yych = *++cursor_;
- if (yych == 'm') goto yy2091;
+ if (yych == 'm') goto yy2103;
goto yy87;
-yy2026:
+yy2037:
yych = *++cursor_;
- if (yych == 'r') goto yy2092;
+ if (yych == 'r') goto yy2104;
goto yy87;
-yy2027:
+yy2038:
yych = *++cursor_;
- if (yych == 'u') goto yy2094;
+ if (yych == 'u') goto yy2106;
goto yy87;
-yy2028:
+yy2039:
yych = *++cursor_;
- if (yych == 'c') goto yy2095;
- if (yych == 'o') goto yy2096;
+ if (yych == 'c') goto yy2107;
+ if (yych == 'o') goto yy2108;
goto yy87;
-yy2029:
+yy2040:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 445 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32ReinterpretF32); }
-#line 10505 "src/prebuilt/wast-lexer-gen.cc"
-yy2031:
+#line 10550 "src/prebuilt/wast-lexer-gen.cc"
+yy2042:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 426 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32TruncSSatF32); }
-#line 10513 "src/prebuilt/wast-lexer-gen.cc"
-yy2033:
+#line 10558 "src/prebuilt/wast-lexer-gen.cc"
+yy2044:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 428 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32TruncSSatF64); }
-#line 10521 "src/prebuilt/wast-lexer-gen.cc"
-yy2035:
+#line 10566 "src/prebuilt/wast-lexer-gen.cc"
+yy2046:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 430 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32TruncUSatF32); }
-#line 10529 "src/prebuilt/wast-lexer-gen.cc"
-yy2037:
+#line 10574 "src/prebuilt/wast-lexer-gen.cc"
+yy2048:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 432 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32TruncUSatF64); }
-#line 10537 "src/prebuilt/wast-lexer-gen.cc"
-yy2039:
+#line 10582 "src/prebuilt/wast-lexer-gen.cc"
+yy2050:
yych = *++cursor_;
- if (yych == ':') goto yy2097;
+ if (yych == ':') goto yy2109;
goto yy87;
-yy2040:
+yy2051:
yych = *++cursor_;
- if (yych == ':') goto yy2098;
+ if (yych == ':') goto yy2110;
goto yy87;
-yy2041:
+yy2052:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 461 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicLoad, I64AtomicLoad16U); }
-#line 10553 "src/prebuilt/wast-lexer-gen.cc"
-yy2043:
+#line 10598 "src/prebuilt/wast-lexer-gen.cc"
+yy2054:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 462 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicLoad, I64AtomicLoad32U); }
-#line 10561 "src/prebuilt/wast-lexer-gen.cc"
-yy2045:
+#line 10606 "src/prebuilt/wast-lexer-gen.cc"
+yy2056:
yych = *++cursor_;
- if (yych == 'c') goto yy2099;
+ if (yych == 'c') goto yy2111;
goto yy87;
-yy2046:
+yy2057:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 506 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmwXchg); }
-#line 10573 "src/prebuilt/wast-lexer-gen.cc"
-yy2048:
+#line 10618 "src/prebuilt/wast-lexer-gen.cc"
+yy2059:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy2100;
- case 'c': goto yy2101;
- case 'o': goto yy2102;
- case 's': goto yy2103;
- case 'x': goto yy2104;
+ case 'a': goto yy2112;
+ case 'c': goto yy2113;
+ case 'o': goto yy2114;
+ case 's': goto yy2115;
+ case 'x': goto yy2116;
default: goto yy87;
}
-yy2049:
+yy2060:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy2105;
- case 'c': goto yy2106;
- case 'o': goto yy2107;
- case 's': goto yy2108;
- case 'x': goto yy2109;
+ case 'a': goto yy2117;
+ case 'c': goto yy2118;
+ case 'o': goto yy2119;
+ case 's': goto yy2120;
+ case 'x': goto yy2121;
default: goto yy87;
}
-yy2050:
+yy2061:
yych = *++cursor_;
- if (yych == 'd') goto yy2110;
- if (yych == 'n') goto yy2111;
+ if (yych == 'd') goto yy2122;
+ if (yych == 'n') goto yy2123;
goto yy87;
-yy2051:
+yy2062:
yych = *++cursor_;
- if (yych == 'm') goto yy2112;
+ if (yych == 'm') goto yy2124;
goto yy87;
-yy2052:
+yy2063:
yych = *++cursor_;
- if (yych == 'r') goto yy2113;
+ if (yych == 'r') goto yy2125;
goto yy87;
-yy2053:
+yy2064:
yych = *++cursor_;
- if (yych == 'u') goto yy2115;
+ if (yych == 'u') goto yy2127;
goto yy87;
-yy2054:
+yy2065:
yych = *++cursor_;
- if (yych == 'c') goto yy2116;
- if (yych == 'o') goto yy2117;
+ if (yych == 'c') goto yy2128;
+ if (yych == 'o') goto yy2129;
goto yy87;
-yy2055:
+yy2066:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 447 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64ReinterpretF64); }
-#line 10623 "src/prebuilt/wast-lexer-gen.cc"
-yy2057:
+#line 10668 "src/prebuilt/wast-lexer-gen.cc"
+yy2068:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 427 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64TruncSSatF32); }
-#line 10631 "src/prebuilt/wast-lexer-gen.cc"
-yy2059:
+#line 10676 "src/prebuilt/wast-lexer-gen.cc"
+yy2070:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 429 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64TruncSSatF64); }
-#line 10639 "src/prebuilt/wast-lexer-gen.cc"
-yy2061:
+#line 10684 "src/prebuilt/wast-lexer-gen.cc"
+yy2072:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 431 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64TruncUSatF32); }
-#line 10647 "src/prebuilt/wast-lexer-gen.cc"
-yy2063:
+#line 10692 "src/prebuilt/wast-lexer-gen.cc"
+yy2074:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 433 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64TruncUSatF64); }
-#line 10655 "src/prebuilt/wast-lexer-gen.cc"
-yy2065:
+#line 10700 "src/prebuilt/wast-lexer-gen.cc"
+yy2076:
yych = *++cursor_;
- if (yych == ':') goto yy2118;
+ if (yych == ':') goto yy2130;
goto yy87;
-yy2066:
+yy2077:
yych = *++cursor_;
- if (yych == ':') goto yy2119;
+ if (yych == ':') goto yy2131;
goto yy87;
-yy2067:
+yy2078:
yych = *++cursor_;
- if (yych == 's') goto yy2120;
- if (yych == 'u') goto yy2122;
+ if (yych == 's') goto yy2132;
+ if (yych == 'u') goto yy2134;
goto yy87;
-yy2068:
+yy2079:
yych = *++cursor_;
- if (yych == 's') goto yy2124;
- if (yych == 'u') goto yy2126;
+ if (yych == 's') goto yy2136;
goto yy87;
-yy2069:
+yy2080:
yych = *++cursor_;
- if (yych == 'e') goto yy2128;
+ if (yych == 's') goto yy2138;
+ if (yych == 'u') goto yy2140;
goto yy87;
-yy2070:
+yy2081:
yych = *++cursor_;
- if (yych == 'c') goto yy2129;
+ if (yych == 'e') goto yy2142;
goto yy87;
-yy2071:
+yy2082:
yych = *++cursor_;
- if (yych == '4') goto yy2130;
+ if (yych == 'c') goto yy2143;
goto yy87;
-yy2072:
+yy2083:
yych = *++cursor_;
- if (yych == '4') goto yy2132;
+ if (yych == '4') goto yy2144;
goto yy87;
-yy2073:
+yy2084:
yych = *++cursor_;
- if (yych == '2') goto yy2134;
+ if (yych == '4') goto yy2146;
goto yy87;
-yy2074:
+yy2085:
+ yych = *++cursor_;
+ if (yych == '2') goto yy2148;
+ goto yy87;
+yy2086:
yych = *++cursor_;
- if (yych == '2') goto yy2136;
+ if (yych == '2') goto yy2150;
goto yy87;
-yy2075:
+yy2087:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 545 "src/wast-lexer.cc"
+#line 546 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8AddSaturateS); }
-#line 10705 "src/prebuilt/wast-lexer-gen.cc"
-yy2077:
+#line 10754 "src/prebuilt/wast-lexer-gen.cc"
+yy2089:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 546 "src/wast-lexer.cc"
+#line 547 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8AddSaturateU); }
-#line 10713 "src/prebuilt/wast-lexer-gen.cc"
-yy2079:
+#line 10762 "src/prebuilt/wast-lexer-gen.cc"
+yy2091:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 549 "src/wast-lexer.cc"
+#line 550 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8SubSaturateS); }
-#line 10721 "src/prebuilt/wast-lexer-gen.cc"
-yy2081:
+#line 10770 "src/prebuilt/wast-lexer-gen.cc"
+yy2093:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 550 "src/wast-lexer.cc"
+#line 551 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8SubSaturateU); }
-#line 10729 "src/prebuilt/wast-lexer-gen.cc"
-yy2083:
+#line 10778 "src/prebuilt/wast-lexer-gen.cc"
+yy2095:
yych = *++cursor_;
- if (yych == 'h') goto yy2138;
+ if (yych == 'h') goto yy2152;
goto yy87;
-yy2084:
+yy2096:
yych = *++cursor_;
- if (yych == 'd') goto yy2139;
- if (yych == 'n') goto yy2140;
+ if (yych == 'd') goto yy2153;
+ if (yych == 'n') goto yy2154;
goto yy87;
-yy2085:
+yy2097:
yych = *++cursor_;
- if (yych == 'm') goto yy2141;
+ if (yych == 'm') goto yy2155;
goto yy87;
-yy2086:
+yy2098:
yych = *++cursor_;
- if (yych == 'r') goto yy2142;
+ if (yych == 'r') goto yy2156;
goto yy87;
-yy2087:
+yy2099:
yych = *++cursor_;
- if (yych == 'u') goto yy2144;
+ if (yych == 'u') goto yy2158;
goto yy87;
-yy2088:
+yy2100:
yych = *++cursor_;
- if (yych == 'c') goto yy2145;
- if (yych == 'o') goto yy2146;
+ if (yych == 'c') goto yy2159;
+ if (yych == 'o') goto yy2160;
goto yy87;
-yy2089:
+yy2101:
yych = *++cursor_;
- if (yych == 'd') goto yy2147;
+ if (yych == 'd') goto yy2161;
goto yy87;
-yy2090:
+yy2102:
yych = *++cursor_;
- if (yych == 'd') goto yy2149;
+ if (yych == 'd') goto yy2163;
goto yy87;
-yy2091:
+yy2103:
yych = *++cursor_;
- if (yych == 'p') goto yy2151;
+ if (yych == 'p') goto yy2165;
goto yy87;
-yy2092:
+yy2104:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 493 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UOr); }
-#line 10775 "src/prebuilt/wast-lexer-gen.cc"
-yy2094:
+#line 10824 "src/prebuilt/wast-lexer-gen.cc"
+yy2106:
yych = *++cursor_;
- if (yych == 'b') goto yy2152;
+ if (yych == 'b') goto yy2166;
goto yy87;
-yy2095:
+yy2107:
yych = *++cursor_;
- if (yych == 'h') goto yy2154;
+ if (yych == 'h') goto yy2168;
goto yy87;
-yy2096:
+yy2108:
yych = *++cursor_;
- if (yych == 'r') goto yy2155;
+ if (yych == 'r') goto yy2169;
goto yy87;
-yy2097:
+yy2109:
yych = *++cursor_;
- if (yych == 's') goto yy2157;
+ if (yych == 's') goto yy2171;
goto yy87;
-yy2098:
+yy2110:
yych = *++cursor_;
- if (yych == 's') goto yy2158;
+ if (yych == 's') goto yy2172;
goto yy87;
-yy2099:
+yy2111:
yych = *++cursor_;
- if (yych == 'h') goto yy2159;
+ if (yych == 'h') goto yy2173;
goto yy87;
-yy2100:
+yy2112:
yych = *++cursor_;
- if (yych == 'd') goto yy2160;
- if (yych == 'n') goto yy2161;
+ if (yych == 'd') goto yy2174;
+ if (yych == 'n') goto yy2175;
goto yy87;
-yy2101:
+yy2113:
yych = *++cursor_;
- if (yych == 'm') goto yy2162;
+ if (yych == 'm') goto yy2176;
goto yy87;
-yy2102:
+yy2114:
yych = *++cursor_;
- if (yych == 'r') goto yy2163;
+ if (yych == 'r') goto yy2177;
goto yy87;
-yy2103:
+yy2115:
yych = *++cursor_;
- if (yych == 'u') goto yy2165;
+ if (yych == 'u') goto yy2179;
goto yy87;
-yy2104:
+yy2116:
yych = *++cursor_;
- if (yych == 'c') goto yy2166;
- if (yych == 'o') goto yy2167;
+ if (yych == 'c') goto yy2180;
+ if (yych == 'o') goto yy2181;
goto yy87;
-yy2105:
+yy2117:
yych = *++cursor_;
- if (yych == 'd') goto yy2168;
- if (yych == 'n') goto yy2169;
+ if (yych == 'd') goto yy2182;
+ if (yych == 'n') goto yy2183;
goto yy87;
-yy2106:
+yy2118:
yych = *++cursor_;
- if (yych == 'm') goto yy2170;
+ if (yych == 'm') goto yy2184;
goto yy87;
-yy2107:
+yy2119:
yych = *++cursor_;
- if (yych == 'r') goto yy2171;
+ if (yych == 'r') goto yy2185;
goto yy87;
-yy2108:
+yy2120:
yych = *++cursor_;
- if (yych == 'u') goto yy2173;
+ if (yych == 'u') goto yy2187;
goto yy87;
-yy2109:
+yy2121:
yych = *++cursor_;
- if (yych == 'c') goto yy2174;
- if (yych == 'o') goto yy2175;
+ if (yych == 'c') goto yy2188;
+ if (yych == 'o') goto yy2189;
goto yy87;
-yy2110:
+yy2122:
yych = *++cursor_;
- if (yych == 'd') goto yy2176;
+ if (yych == 'd') goto yy2190;
goto yy87;
-yy2111:
+yy2123:
yych = *++cursor_;
- if (yych == 'd') goto yy2178;
+ if (yych == 'd') goto yy2192;
goto yy87;
-yy2112:
+yy2124:
yych = *++cursor_;
- if (yych == 'p') goto yy2180;
+ if (yych == 'p') goto yy2194;
goto yy87;
-yy2113:
+yy2125:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 495 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UOr); }
-#line 10863 "src/prebuilt/wast-lexer-gen.cc"
-yy2115:
+#line 10912 "src/prebuilt/wast-lexer-gen.cc"
+yy2127:
yych = *++cursor_;
- if (yych == 'b') goto yy2181;
+ if (yych == 'b') goto yy2195;
goto yy87;
-yy2116:
+yy2128:
yych = *++cursor_;
- if (yych == 'h') goto yy2183;
+ if (yych == 'h') goto yy2197;
goto yy87;
-yy2117:
+yy2129:
yych = *++cursor_;
- if (yych == 'r') goto yy2184;
+ if (yych == 'r') goto yy2198;
goto yy87;
-yy2118:
+yy2130:
yych = *++cursor_;
- if (yych == 's') goto yy2186;
+ if (yych == 's') goto yy2200;
goto yy87;
-yy2119:
+yy2131:
yych = *++cursor_;
- if (yych == 's') goto yy2187;
+ if (yych == 's') goto yy2201;
goto yy87;
-yy2120:
+yy2132:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 543 "src/wast-lexer.cc"
+#line 544 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16AddSaturateS); }
-#line 10891 "src/prebuilt/wast-lexer-gen.cc"
-yy2122:
+#line 10940 "src/prebuilt/wast-lexer-gen.cc"
+yy2134:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 544 "src/wast-lexer.cc"
+#line 545 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16AddSaturateU); }
-#line 10899 "src/prebuilt/wast-lexer-gen.cc"
-yy2124:
+#line 10948 "src/prebuilt/wast-lexer-gen.cc"
+yy2136:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 547 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I8X16SubSaturateS); }
-#line 10907 "src/prebuilt/wast-lexer-gen.cc"
-yy2126:
+#line 528 "src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I8X16ExtractLaneS); }
+#line 10956 "src/prebuilt/wast-lexer-gen.cc"
+yy2138:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 548 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I8X16SubSaturateS); }
+#line 10964 "src/prebuilt/wast-lexer-gen.cc"
+yy2140:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 549 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16SubSaturateU); }
-#line 10915 "src/prebuilt/wast-lexer-gen.cc"
-yy2128:
+#line 10972 "src/prebuilt/wast-lexer-gen.cc"
+yy2142:
yych = *++cursor_;
- if (yych == 't') goto yy2188;
+ if (yych == 't') goto yy2202;
goto yy87;
-yy2129:
+yy2143:
yych = *++cursor_;
- if (yych == 'a') goto yy2189;
+ if (yych == 'a') goto yy2203;
goto yy87;
-yy2130:
+yy2144:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 636 "src/wast-lexer.cc"
+#line 637 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32X4ConvertSI32X4); }
-#line 10931 "src/prebuilt/wast-lexer-gen.cc"
-yy2132:
+#line 10988 "src/prebuilt/wast-lexer-gen.cc"
+yy2146:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 637 "src/wast-lexer.cc"
+#line 638 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32X4ConvertUI32X4); }
-#line 10939 "src/prebuilt/wast-lexer-gen.cc"
-yy2134:
+#line 10996 "src/prebuilt/wast-lexer-gen.cc"
+yy2148:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 638 "src/wast-lexer.cc"
+#line 639 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64X2ConvertSI64X2); }
-#line 10947 "src/prebuilt/wast-lexer-gen.cc"
-yy2136:
+#line 11004 "src/prebuilt/wast-lexer-gen.cc"
+yy2150:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 639 "src/wast-lexer.cc"
+#line 640 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64X2ConvertUI64X2); }
-#line 10955 "src/prebuilt/wast-lexer-gen.cc"
-yy2138:
+#line 11012 "src/prebuilt/wast-lexer-gen.cc"
+yy2152:
yych = *++cursor_;
- if (yych == 'g') goto yy2190;
+ if (yych == 'g') goto yy2204;
goto yy87;
-yy2139:
+yy2153:
yych = *++cursor_;
- if (yych == 'd') goto yy2192;
+ if (yych == 'd') goto yy2206;
goto yy87;
-yy2140:
+yy2154:
yych = *++cursor_;
- if (yych == 'd') goto yy2194;
+ if (yych == 'd') goto yy2208;
goto yy87;
-yy2141:
+yy2155:
yych = *++cursor_;
- if (yych == 'p') goto yy2196;
+ if (yych == 'p') goto yy2210;
goto yy87;
-yy2142:
+yy2156:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 494 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UOr); }
-#line 10979 "src/prebuilt/wast-lexer-gen.cc"
-yy2144:
+#line 11036 "src/prebuilt/wast-lexer-gen.cc"
+yy2158:
yych = *++cursor_;
- if (yych == 'b') goto yy2197;
+ if (yych == 'b') goto yy2211;
goto yy87;
-yy2145:
+yy2159:
yych = *++cursor_;
- if (yych == 'h') goto yy2199;
+ if (yych == 'h') goto yy2213;
goto yy87;
-yy2146:
+yy2160:
yych = *++cursor_;
- if (yych == 'r') goto yy2200;
+ if (yych == 'r') goto yy2214;
goto yy87;
-yy2147:
+yy2161:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 472 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UAdd); }
-#line 10999 "src/prebuilt/wast-lexer-gen.cc"
-yy2149:
+#line 11056 "src/prebuilt/wast-lexer-gen.cc"
+yy2163:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 486 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UAnd); }
-#line 11007 "src/prebuilt/wast-lexer-gen.cc"
-yy2151:
+#line 11064 "src/prebuilt/wast-lexer-gen.cc"
+yy2165:
yych = *++cursor_;
- if (yych == 'x') goto yy2202;
+ if (yych == 'x') goto yy2216;
goto yy87;
-yy2152:
+yy2166:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 479 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw8USub); }
-#line 11019 "src/prebuilt/wast-lexer-gen.cc"
-yy2154:
+#line 11076 "src/prebuilt/wast-lexer-gen.cc"
+yy2168:
yych = *++cursor_;
- if (yych == 'g') goto yy2203;
+ if (yych == 'g') goto yy2217;
goto yy87;
-yy2155:
+yy2169:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 500 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UXor); }
-#line 11031 "src/prebuilt/wast-lexer-gen.cc"
-yy2157:
+#line 11088 "src/prebuilt/wast-lexer-gen.cc"
+yy2171:
yych = *++cursor_;
- if (yych == 'a') goto yy2205;
+ if (yych == 'a') goto yy2219;
goto yy87;
-yy2158:
+yy2172:
yych = *++cursor_;
- if (yych == 'a') goto yy2206;
+ if (yych == 'a') goto yy2220;
goto yy87;
-yy2159:
+yy2173:
yych = *++cursor_;
- if (yych == 'g') goto yy2207;
+ if (yych == 'g') goto yy2221;
goto yy87;
-yy2160:
+yy2174:
yych = *++cursor_;
- if (yych == 'd') goto yy2209;
+ if (yych == 'd') goto yy2223;
goto yy87;
-yy2161:
+yy2175:
yych = *++cursor_;
- if (yych == 'd') goto yy2211;
+ if (yych == 'd') goto yy2225;
goto yy87;
-yy2162:
+yy2176:
yych = *++cursor_;
- if (yych == 'p') goto yy2213;
+ if (yych == 'p') goto yy2227;
goto yy87;
-yy2163:
+yy2177:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 496 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UOr); }
-#line 11063 "src/prebuilt/wast-lexer-gen.cc"
-yy2165:
+#line 11120 "src/prebuilt/wast-lexer-gen.cc"
+yy2179:
yych = *++cursor_;
- if (yych == 'b') goto yy2214;
+ if (yych == 'b') goto yy2228;
goto yy87;
-yy2166:
+yy2180:
yych = *++cursor_;
- if (yych == 'h') goto yy2216;
+ if (yych == 'h') goto yy2230;
goto yy87;
-yy2167:
+yy2181:
yych = *++cursor_;
- if (yych == 'r') goto yy2217;
+ if (yych == 'r') goto yy2231;
goto yy87;
-yy2168:
+yy2182:
yych = *++cursor_;
- if (yych == 'd') goto yy2219;
+ if (yych == 'd') goto yy2233;
goto yy87;
-yy2169:
+yy2183:
yych = *++cursor_;
- if (yych == 'd') goto yy2221;
+ if (yych == 'd') goto yy2235;
goto yy87;
-yy2170:
+yy2184:
yych = *++cursor_;
- if (yych == 'p') goto yy2223;
+ if (yych == 'p') goto yy2237;
goto yy87;
-yy2171:
+yy2185:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 497 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UOr); }
-#line 11095 "src/prebuilt/wast-lexer-gen.cc"
-yy2173:
+#line 11152 "src/prebuilt/wast-lexer-gen.cc"
+yy2187:
yych = *++cursor_;
- if (yych == 'b') goto yy2224;
+ if (yych == 'b') goto yy2238;
goto yy87;
-yy2174:
+yy2188:
yych = *++cursor_;
- if (yych == 'h') goto yy2226;
+ if (yych == 'h') goto yy2240;
goto yy87;
-yy2175:
+yy2189:
yych = *++cursor_;
- if (yych == 'r') goto yy2227;
+ if (yych == 'r') goto yy2241;
goto yy87;
-yy2176:
+yy2190:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 474 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UAdd); }
-#line 11115 "src/prebuilt/wast-lexer-gen.cc"
-yy2178:
+#line 11172 "src/prebuilt/wast-lexer-gen.cc"
+yy2192:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 488 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UAnd); }
-#line 11123 "src/prebuilt/wast-lexer-gen.cc"
-yy2180:
+#line 11180 "src/prebuilt/wast-lexer-gen.cc"
+yy2194:
yych = *++cursor_;
- if (yych == 'x') goto yy2229;
+ if (yych == 'x') goto yy2243;
goto yy87;
-yy2181:
+yy2195:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 481 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw8USub); }
-#line 11135 "src/prebuilt/wast-lexer-gen.cc"
-yy2183:
+#line 11192 "src/prebuilt/wast-lexer-gen.cc"
+yy2197:
yych = *++cursor_;
- if (yych == 'g') goto yy2230;
+ if (yych == 'g') goto yy2244;
goto yy87;
-yy2184:
+yy2198:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 502 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UXor); }
-#line 11147 "src/prebuilt/wast-lexer-gen.cc"
-yy2186:
+#line 11204 "src/prebuilt/wast-lexer-gen.cc"
+yy2200:
yych = *++cursor_;
- if (yych == 'a') goto yy2232;
+ if (yych == 'a') goto yy2246;
goto yy87;
-yy2187:
+yy2201:
yych = *++cursor_;
- if (yych == 'a') goto yy2233;
+ if (yych == 'a') goto yy2247;
goto yy87;
-yy2188:
+yy2202:
yych = *++cursor_;
- if (yych == 'i') goto yy2234;
+ if (yych == 'i') goto yy2248;
goto yy87;
-yy2189:
+yy2203:
yych = *++cursor_;
- if (yych == 'l') goto yy2235;
+ if (yych == 'l') goto yy2249;
goto yy87;
-yy2190:
+yy2204:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 512 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmwCmpxchg); }
-#line 11171 "src/prebuilt/wast-lexer-gen.cc"
-yy2192:
+#line 11228 "src/prebuilt/wast-lexer-gen.cc"
+yy2206:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 473 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UAdd); }
-#line 11179 "src/prebuilt/wast-lexer-gen.cc"
-yy2194:
+#line 11236 "src/prebuilt/wast-lexer-gen.cc"
+yy2208:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 487 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UAnd); }
-#line 11187 "src/prebuilt/wast-lexer-gen.cc"
-yy2196:
+#line 11244 "src/prebuilt/wast-lexer-gen.cc"
+yy2210:
yych = *++cursor_;
- if (yych == 'x') goto yy2236;
+ if (yych == 'x') goto yy2250;
goto yy87;
-yy2197:
+yy2211:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 480 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw16USub); }
-#line 11199 "src/prebuilt/wast-lexer-gen.cc"
-yy2199:
+#line 11256 "src/prebuilt/wast-lexer-gen.cc"
+yy2213:
yych = *++cursor_;
- if (yych == 'g') goto yy2237;
+ if (yych == 'g') goto yy2251;
goto yy87;
-yy2200:
+yy2214:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 501 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UXor); }
-#line 11211 "src/prebuilt/wast-lexer-gen.cc"
-yy2202:
+#line 11268 "src/prebuilt/wast-lexer-gen.cc"
+yy2216:
yych = *++cursor_;
- if (yych == 'c') goto yy2239;
+ if (yych == 'c') goto yy2253;
goto yy87;
-yy2203:
+yy2217:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 507 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UXchg); }
-#line 11223 "src/prebuilt/wast-lexer-gen.cc"
-yy2205:
+#line 11280 "src/prebuilt/wast-lexer-gen.cc"
+yy2219:
yych = *++cursor_;
- if (yych == 't') goto yy2240;
+ if (yych == 't') goto yy2254;
goto yy87;
-yy2206:
+yy2220:
yych = *++cursor_;
- if (yych == 't') goto yy2242;
+ if (yych == 't') goto yy2256;
goto yy87;
-yy2207:
+yy2221:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 513 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmwCmpxchg); }
-#line 11239 "src/prebuilt/wast-lexer-gen.cc"
-yy2209:
+#line 11296 "src/prebuilt/wast-lexer-gen.cc"
+yy2223:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 475 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UAdd); }
-#line 11247 "src/prebuilt/wast-lexer-gen.cc"
-yy2211:
+#line 11304 "src/prebuilt/wast-lexer-gen.cc"
+yy2225:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 489 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UAnd); }
-#line 11255 "src/prebuilt/wast-lexer-gen.cc"
-yy2213:
+#line 11312 "src/prebuilt/wast-lexer-gen.cc"
+yy2227:
yych = *++cursor_;
- if (yych == 'x') goto yy2244;
+ if (yych == 'x') goto yy2258;
goto yy87;
-yy2214:
+yy2228:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 482 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw16USub); }
-#line 11267 "src/prebuilt/wast-lexer-gen.cc"
-yy2216:
+#line 11324 "src/prebuilt/wast-lexer-gen.cc"
+yy2230:
yych = *++cursor_;
- if (yych == 'g') goto yy2245;
+ if (yych == 'g') goto yy2259;
goto yy87;
-yy2217:
+yy2231:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 503 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UXor); }
-#line 11279 "src/prebuilt/wast-lexer-gen.cc"
-yy2219:
+#line 11336 "src/prebuilt/wast-lexer-gen.cc"
+yy2233:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 476 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UAdd); }
-#line 11287 "src/prebuilt/wast-lexer-gen.cc"
-yy2221:
+#line 11344 "src/prebuilt/wast-lexer-gen.cc"
+yy2235:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 490 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UAnd); }
-#line 11295 "src/prebuilt/wast-lexer-gen.cc"
-yy2223:
+#line 11352 "src/prebuilt/wast-lexer-gen.cc"
+yy2237:
yych = *++cursor_;
- if (yych == 'x') goto yy2247;
+ if (yych == 'x') goto yy2261;
goto yy87;
-yy2224:
+yy2238:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 483 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw32USub); }
-#line 11307 "src/prebuilt/wast-lexer-gen.cc"
-yy2226:
+#line 11364 "src/prebuilt/wast-lexer-gen.cc"
+yy2240:
yych = *++cursor_;
- if (yych == 'g') goto yy2248;
+ if (yych == 'g') goto yy2262;
goto yy87;
-yy2227:
+yy2241:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 504 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UXor); }
-#line 11319 "src/prebuilt/wast-lexer-gen.cc"
-yy2229:
+#line 11376 "src/prebuilt/wast-lexer-gen.cc"
+yy2243:
yych = *++cursor_;
- if (yych == 'c') goto yy2250;
+ if (yych == 'c') goto yy2264;
goto yy87;
-yy2230:
+yy2244:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 509 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UXchg); }
-#line 11331 "src/prebuilt/wast-lexer-gen.cc"
-yy2232:
+#line 11388 "src/prebuilt/wast-lexer-gen.cc"
+yy2246:
yych = *++cursor_;
- if (yych == 't') goto yy2251;
+ if (yych == 't') goto yy2265;
goto yy87;
-yy2233:
+yy2247:
yych = *++cursor_;
- if (yych == 't') goto yy2253;
+ if (yych == 't') goto yy2267;
goto yy87;
-yy2234:
+yy2248:
yych = *++cursor_;
- if (yych == 'c') goto yy2255;
+ if (yych == 'c') goto yy2269;
goto yy87;
-yy2235:
+yy2249:
yych = *++cursor_;
- if (yych == '_') goto yy2256;
+ if (yych == '_') goto yy2270;
goto yy87;
-yy2236:
+yy2250:
yych = *++cursor_;
- if (yych == 'c') goto yy2257;
+ if (yych == 'c') goto yy2271;
goto yy87;
-yy2237:
+yy2251:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 508 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UXchg); }
-#line 11359 "src/prebuilt/wast-lexer-gen.cc"
-yy2239:
+#line 11416 "src/prebuilt/wast-lexer-gen.cc"
+yy2253:
yych = *++cursor_;
- if (yych == 'h') goto yy2258;
+ if (yych == 'h') goto yy2272;
goto yy87;
-yy2240:
+yy2254:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 640 "src/wast-lexer.cc"
+#line 641 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32X4TruncSF32X4Sat); }
-#line 11371 "src/prebuilt/wast-lexer-gen.cc"
-yy2242:
+#line 11428 "src/prebuilt/wast-lexer-gen.cc"
+yy2256:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 641 "src/wast-lexer.cc"
+#line 642 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32X4TruncUF32X4Sat); }
-#line 11379 "src/prebuilt/wast-lexer-gen.cc"
-yy2244:
+#line 11436 "src/prebuilt/wast-lexer-gen.cc"
+yy2258:
yych = *++cursor_;
- if (yych == 'c') goto yy2259;
+ if (yych == 'c') goto yy2273;
goto yy87;
-yy2245:
+yy2259:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 510 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UXchg); }
-#line 11391 "src/prebuilt/wast-lexer-gen.cc"
-yy2247:
+#line 11448 "src/prebuilt/wast-lexer-gen.cc"
+yy2261:
yych = *++cursor_;
- if (yych == 'c') goto yy2260;
+ if (yych == 'c') goto yy2274;
goto yy87;
-yy2248:
+yy2262:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 511 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UXchg); }
-#line 11403 "src/prebuilt/wast-lexer-gen.cc"
-yy2250:
+#line 11460 "src/prebuilt/wast-lexer-gen.cc"
+yy2264:
yych = *++cursor_;
- if (yych == 'h') goto yy2261;
+ if (yych == 'h') goto yy2275;
goto yy87;
-yy2251:
+yy2265:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 642 "src/wast-lexer.cc"
+#line 643 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64X2TruncSF64X2Sat); }
-#line 11415 "src/prebuilt/wast-lexer-gen.cc"
-yy2253:
+#line 11472 "src/prebuilt/wast-lexer-gen.cc"
+yy2267:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 643 "src/wast-lexer.cc"
+#line 644 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64X2TruncUF64X2Sat); }
-#line 11423 "src/prebuilt/wast-lexer-gen.cc"
-yy2255:
+#line 11480 "src/prebuilt/wast-lexer-gen.cc"
+yy2269:
yych = *++cursor_;
- if (yych == '_') goto yy2262;
+ if (yych == '_') goto yy2276;
goto yy87;
-yy2256:
+yy2270:
yych = *++cursor_;
- if (yych == 'n') goto yy2263;
+ if (yych == 'n') goto yy2277;
goto yy87;
-yy2257:
+yy2271:
yych = *++cursor_;
- if (yych == 'h') goto yy2264;
+ if (yych == 'h') goto yy2278;
goto yy87;
-yy2258:
+yy2272:
yych = *++cursor_;
- if (yych == 'g') goto yy2265;
+ if (yych == 'g') goto yy2279;
goto yy87;
-yy2259:
+yy2273:
yych = *++cursor_;
- if (yych == 'h') goto yy2267;
+ if (yych == 'h') goto yy2281;
goto yy87;
-yy2260:
+yy2274:
yych = *++cursor_;
- if (yych == 'h') goto yy2268;
+ if (yych == 'h') goto yy2282;
goto yy87;
-yy2261:
+yy2275:
yych = *++cursor_;
- if (yych == 'g') goto yy2269;
+ if (yych == 'g') goto yy2283;
goto yy87;
-yy2262:
+yy2276:
yych = *++cursor_;
- if (yych == 'n') goto yy2271;
+ if (yych == 'n') goto yy2285;
goto yy87;
-yy2263:
+yy2277:
yych = *++cursor_;
- if (yych == 'a') goto yy2272;
+ if (yych == 'a') goto yy2286;
goto yy87;
-yy2264:
+yy2278:
yych = *++cursor_;
- if (yych == 'g') goto yy2273;
+ if (yych == 'g') goto yy2287;
goto yy87;
-yy2265:
+yy2279:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 514 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw8UCmpxchg); }
-#line 11471 "src/prebuilt/wast-lexer-gen.cc"
-yy2267:
+#line 11528 "src/prebuilt/wast-lexer-gen.cc"
+yy2281:
yych = *++cursor_;
- if (yych == 'g') goto yy2275;
+ if (yych == 'g') goto yy2289;
goto yy87;
-yy2268:
+yy2282:
yych = *++cursor_;
- if (yych == 'g') goto yy2277;
+ if (yych == 'g') goto yy2291;
goto yy87;
-yy2269:
+yy2283:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 516 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw8UCmpxchg); }
-#line 11487 "src/prebuilt/wast-lexer-gen.cc"
-yy2271:
+#line 11544 "src/prebuilt/wast-lexer-gen.cc"
+yy2285:
yych = *++cursor_;
- if (yych == 'a') goto yy2279;
+ if (yych == 'a') goto yy2293;
goto yy87;
-yy2272:
+yy2286:
yych = *++cursor_;
- if (yych == 'n') goto yy2280;
+ if (yych == 'n') goto yy2294;
goto yy87;
-yy2273:
+yy2287:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 515 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw16UCmpxchg); }
-#line 11503 "src/prebuilt/wast-lexer-gen.cc"
-yy2275:
+#line 11560 "src/prebuilt/wast-lexer-gen.cc"
+yy2289:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 517 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw16UCmpxchg); }
-#line 11511 "src/prebuilt/wast-lexer-gen.cc"
-yy2277:
+#line 11568 "src/prebuilt/wast-lexer-gen.cc"
+yy2291:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
#line 518 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw32UCmpxchg); }
-#line 11519 "src/prebuilt/wast-lexer-gen.cc"
-yy2279:
+#line 11576 "src/prebuilt/wast-lexer-gen.cc"
+yy2293:
yych = *++cursor_;
- if (yych == 'n') goto yy2282;
+ if (yych == 'n') goto yy2296;
goto yy87;
-yy2280:
+yy2294:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 670 "src/wast-lexer.cc"
+#line 671 "src/wast-lexer.cc"
{ RETURN(AssertReturnCanonicalNan); }
-#line 11531 "src/prebuilt/wast-lexer-gen.cc"
-yy2282:
+#line 11588 "src/prebuilt/wast-lexer-gen.cc"
+yy2296:
++cursor_;
if (yybm[0+(yych = *cursor_)] & 8) {
goto yy86;
}
-#line 671 "src/wast-lexer.cc"
+#line 672 "src/wast-lexer.cc"
{ RETURN(AssertReturnArithmeticNan); }
-#line 11539 "src/prebuilt/wast-lexer-gen.cc"
+#line 11596 "src/prebuilt/wast-lexer-gen.cc"
}
}
-#line 699 "src/wast-lexer.cc"
+#line 700 "src/wast-lexer.cc"
}
}
diff --git a/src/token.cc b/src/token.cc
index a970af12..2825bd39 100644
--- a/src/token.cc
+++ b/src/token.cc
@@ -105,6 +105,7 @@ const char* GetTokenTypeName(TokenType token_type) {
"throw",
"try",
"UNARY",
+ "SIMDLANEOP",
"unreachable",
// String.
diff --git a/src/token.h b/src/token.h
index ea41c5f0..777037eb 100644
--- a/src/token.h
+++ b/src/token.h
@@ -122,6 +122,7 @@ enum class TokenType {
Throw,
Try,
Unary,
+ SimdLaneOp,
Unreachable,
First_Opcode = AtomicLoad,
Last_Opcode = Unreachable,
diff --git a/src/type-checker.cc b/src/type-checker.cc
index 6b3e0bec..645a751e 100644
--- a/src/type-checker.cc
+++ b/src/type-checker.cc
@@ -595,6 +595,24 @@ Result TypeChecker::OnTernary(Opcode opcode) {
return CheckOpcode3(opcode);
}
+Result TypeChecker::OnSimdLaneOp(Opcode opcode, uint64_t lane_idx) {
+ Result result = Result::Error;
+ switch (opcode) {
+ case Opcode::I8X16ExtractLaneS: {
+ if(lane_idx >= 16) {
+ PrintError("TypeChecker: I8X16 lane Operations: lane index must\
+ be less than 16.");
+ break;
+ }
+ result = CheckOpcode1(opcode);
+ break;
+ }
+ default:
+ PrintError("TypeChecker::OnSimdLane: called by invalid opcode.");
+ }
+ return result;
+}
+
Result TypeChecker::OnUnreachable() {
return SetUnreachable();
}
diff --git a/src/type-checker.h b/src/type-checker.h
index 888b7085..5c88ab5f 100644
--- a/src/type-checker.h
+++ b/src/type-checker.h
@@ -87,6 +87,7 @@ class TypeChecker {
Result OnSelect();
Result OnSetGlobal(Type);
Result OnSetLocal(Type);
+ Result OnSimdLaneOp(Opcode, uint64_t);
Result OnStore(Opcode);
Result OnTeeLocal(Type);
Result OnTernary(Opcode);
diff --git a/src/validator.cc b/src/validator.cc
index c5087dff..3c20cbe8 100644
--- a/src/validator.cc
+++ b/src/validator.cc
@@ -94,6 +94,7 @@ class Validator : public ExprVisitor::Delegate {
Result OnAtomicRmwExpr(AtomicRmwExpr*) override;
Result OnAtomicRmwCmpxchgExpr(AtomicRmwCmpxchgExpr*) override;
Result OnTernaryExpr(TernaryExpr*) override;
+ Result OnSimdLaneOpExpr(SimdLaneOpExpr*) override;
private:
struct ActionResult {
@@ -813,6 +814,12 @@ Result Validator::OnTernaryExpr(TernaryExpr* expr) {
return Result::Ok;
}
+Result Validator::OnSimdLaneOpExpr(SimdLaneOpExpr* expr) {
+ expr_loc_ = &expr->loc;
+ typechecker_.OnSimdLaneOp(expr->opcode, expr->val);
+ return Result::Ok;
+}
+
void Validator::CheckFuncSignature(const Location* loc,
const FuncDeclaration& decl) {
if (decl.has_func_type) {
diff --git a/src/wast-lexer.cc b/src/wast-lexer.cc
index a119e29b..4f199499 100644
--- a/src/wast-lexer.cc
+++ b/src/wast-lexer.cc
@@ -525,6 +525,7 @@ Token WastLexer::GetToken(WastParser* parser) {
<i> "i64x2.splat" { RETURN_OPCODE(Unary, I64X2Splat); }
<i> "f32x4.splat" { RETURN_OPCODE(Unary, F32X4Splat); }
<i> "f64x2.splat" { RETURN_OPCODE(Unary, F64X2Splat); }
+ <i> "i8x16.extract_lane_s" { RETURN_OPCODE(SimdLaneOp, I8X16ExtractLaneS); }
<i> "i8x16.add" { RETURN_OPCODE(Binary, I8X16Add); }
<i> "i16x8.add" { RETURN_OPCODE(Binary, I16X8Add); }
<i> "i32x4.add" { RETURN_OPCODE(Binary, I32X4Add); }
diff --git a/src/wast-parser.cc b/src/wast-parser.cc
index d62a277b..cd9b7bb1 100644
--- a/src/wast-parser.cc
+++ b/src/wast-parser.cc
@@ -173,6 +173,7 @@ bool IsPlainInstr(TokenType token_type) {
case TokenType::AtomicWake:
case TokenType::AtomicWait:
case TokenType::Ternary:
+ case TokenType::SimdLaneOp:
return true;
default:
return false;
@@ -1495,6 +1496,15 @@ Result WastParser::ParsePlainInstr(std::unique_ptr<Expr>* out_expr) {
break;
}
+ case TokenType::SimdLaneOp: {
+ Token token = Consume();
+ ErrorUnlessOpcodeEnabled(token);
+ uint64_t lane_idx;
+ CHECK_RESULT(ParseNat(&lane_idx));
+ out_expr->reset(new SimdLaneOpExpr(token.opcode(), lane_idx, loc));
+ break;
+ }
+
default:
assert(
!"ParsePlainInstr should only be called when IsPlainInstr() is true");
diff --git a/src/wast-parser.h b/src/wast-parser.h
index b0341869..e9f37df2 100644
--- a/src/wast-parser.h
+++ b/src/wast-parser.h
@@ -200,6 +200,8 @@ class WastParser {
Result ParseAssertScriptModuleCommand(TokenType, CommandPtr*);
Result ParseSimdConst(Const*, Type, int32_t);
+ template<typename V>
+ Result ParseSimdConstWithCheck(Opcode, Type, Location, Const*);
void CheckImportOrdering(Module*);
diff --git a/src/wat-writer.cc b/src/wat-writer.cc
index c31dab73..b96ae001 100644
--- a/src/wat-writer.cc
+++ b/src/wat-writer.cc
@@ -577,6 +577,7 @@ class WatWriter::ExprVisitorDelegate : public ExprVisitor::Delegate {
Result OnAtomicRmwExpr(AtomicRmwExpr*) override;
Result OnAtomicRmwCmpxchgExpr(AtomicRmwCmpxchgExpr*) override;
Result OnTernaryExpr(TernaryExpr*) override;
+ Result OnSimdLaneOpExpr(SimdLaneOpExpr*) override;
private:
WatWriter* writer_;
@@ -853,6 +854,13 @@ Result WatWriter::ExprVisitorDelegate::OnTernaryExpr(TernaryExpr* expr) {
return Result::Ok;
}
+Result WatWriter::ExprVisitorDelegate::OnSimdLaneOpExpr(SimdLaneOpExpr* expr) {
+ writer_->WritePutsSpace(expr->opcode.GetName());
+ writer_->Writef("%" PRIu64, (expr->val));
+ writer_->WritePutsNewline("");
+ return Result::Ok;
+}
+
void WatWriter::WriteExpr(const Expr* expr) {
WABT_TRACE(WriteExprList);
ExprVisitorDelegate delegate(this);
@@ -1016,6 +1024,21 @@ void WatWriter::WriteFoldedExpr(const Expr* expr) {
PushExpr(expr, 3, 1);
break;
+ case ExprType::SimdLaneOp: {
+ const Opcode opcode = cast<SimdLaneOpExpr>(expr)->opcode;
+ switch (opcode) {
+ case Opcode::I8X16ExtractLaneS:
+ PushExpr(expr, 1, 1);
+ break;
+
+ default:
+ fprintf(stderr, "Invalid Opcode for expr type: %s\n",
+ GetExprTypeName(*expr));
+ assert(0);
+ }
+ break;
+ }
+
default:
fprintf(stderr, "bad expr type: %s\n", GetExprTypeName(*expr));
assert(0);