summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/binary-writer-spec.cc110
-rw-r--r--src/common.h1
-rw-r--r--src/interp/interp-math.h22
-rw-r--r--src/interp/interp-util.cc8
-rw-r--r--src/interp/interp.cc6
-rw-r--r--src/ir.h62
-rw-r--r--src/tools/spectest-interp.cc705
-rw-r--r--src/type.h6
-rw-r--r--src/wast-parser.cc243
-rw-r--r--src/wast-parser.h4
-rw-r--r--test/parse/expr/bad-simd-shuffle-lane-index-overflow2.txt5
-rw-r--r--test/spec/simd/simd_address.txt31
-rw-r--r--test/spec/simd/simd_align.txt214
-rw-r--r--test/spec/simd/simd_bit_shift.txt138
-rw-r--r--test/spec/simd/simd_bitwise.txt90
-rw-r--r--test/spec/simd/simd_boolean.txt58
-rw-r--r--test/spec/simd/simd_const.txt1765
-rw-r--r--test/spec/simd/simd_conversions.txt246
-rw-r--r--test/spec/simd/simd_f32x4.txt78
-rw-r--r--test/spec/simd/simd_f32x4_arith.txt54
-rw-r--r--test/spec/simd/simd_f32x4_cmp.txt84
-rw-r--r--test/spec/simd/simd_f64x2.txt30
-rw-r--r--test/spec/simd/simd_f64x2_arith.txt54
-rw-r--r--test/spec/simd/simd_f64x2_cmp.txt84
-rw-r--r--test/spec/simd/simd_i16x8_arith.txt39
-rw-r--r--test/spec/simd/simd_i16x8_arith2.txt59
-rw-r--r--test/spec/simd/simd_i16x8_cmp.txt96
-rw-r--r--test/spec/simd/simd_i16x8_sat_arith.txt58
-rw-r--r--test/spec/simd/simd_i32x4_arith.txt39
-rw-r--r--test/spec/simd/simd_i32x4_arith2.txt90
-rw-r--r--test/spec/simd/simd_i32x4_cmp.txt136
-rw-r--r--test/spec/simd/simd_i64x2_arith.txt39
-rw-r--r--test/spec/simd/simd_i8x16_arith.txt30
-rw-r--r--test/spec/simd/simd_i8x16_arith2.txt75
-rw-r--r--test/spec/simd/simd_i8x16_cmp.txt96
-rw-r--r--test/spec/simd/simd_i8x16_sat_arith.txt90
-rw-r--r--test/spec/simd/simd_lane.txt908
-rw-r--r--test/spec/simd/simd_load.txt42
-rw-r--r--test/spec/simd/simd_load_extend.txt90
-rw-r--r--test/spec/simd/simd_load_splat.txt86
-rw-r--r--test/spec/simd/simd_splat.txt76
-rw-r--r--test/spec/simd/simd_store.txt36
-rw-r--r--test/spectest-interp-assert-failure.txt4
-rw-r--r--test/spectest-interp-invalid-literal.txt2
-rw-r--r--test/typecheck/bad-simd-lane.txt38
-rwxr-xr-xtest/update-spec-tests.py1
46 files changed, 5860 insertions, 368 deletions
diff --git a/src/binary-writer-spec.cc b/src/binary-writer-spec.cc
index 71d8ff0f..27c83767 100644
--- a/src/binary-writer-spec.cc
+++ b/src/binary-writer-spec.cc
@@ -54,6 +54,8 @@ class BinaryWriterSpec {
void WriteLocation(const Location& loc);
void WriteVar(const Var& var);
void WriteTypeObject(Type type);
+ void WriteF32(uint32_t, ExpectedNan);
+ void WriteF64(uint64_t, ExpectedNan);
void WriteConst(const Const& const_);
void WriteConstVector(const ConstVector& consts);
void WriteAction(const Action& action);
@@ -160,6 +162,38 @@ void BinaryWriterSpec::WriteTypeObject(Type type) {
json_stream_->Writef("}");
}
+void BinaryWriterSpec::WriteF32(uint32_t f32_bits, ExpectedNan expected) {
+ switch (expected) {
+ case ExpectedNan::None:
+ json_stream_->Writef("\"%u\"", f32_bits);
+ break;
+
+ case ExpectedNan::Arithmetic:
+ WriteString("nan:arithmetic");
+ break;
+
+ case ExpectedNan::Canonical:
+ WriteString("nan:canonical");
+ break;
+ }
+}
+
+void BinaryWriterSpec::WriteF64(uint64_t f64_bits, ExpectedNan expected) {
+ switch (expected) {
+ case ExpectedNan::None:
+ json_stream_->Writef("\"%" PRIu64 "\"", f64_bits);
+ break;
+
+ case ExpectedNan::Arithmetic:
+ WriteString("nan:arithmetic");
+ break;
+
+ case ExpectedNan::Canonical:
+ WriteString("nan:canonical");
+ break;
+ }
+}
+
void BinaryWriterSpec::WriteConst(const Const& const_) {
json_stream_->Writef("{");
WriteKey("type");
@@ -181,39 +215,19 @@ void BinaryWriterSpec::WriteConst(const Const& const_) {
json_stream_->Writef("\"%" PRIu64 "\"", const_.u64());
break;
- case Type::F32: {
- /* TODO(binji): write as hex float */
+ case Type::F32:
WriteString("f32");
WriteSeparator();
WriteKey("value");
- if (const_.is_expected_nan()) {
- if (const_.expected() == ExpectedNan::Arithmetic) {
- WriteString("nan:arithmetic");
- } else {
- WriteString("nan:canonical");
- }
- } else {
- json_stream_->Writef("\"%u\"", const_.f32_bits());
- }
+ WriteF32(const_.f32_bits(), const_.expected_nan());
break;
- }
- case Type::F64: {
- /* TODO(binji): write as hex float */
+ case Type::F64:
WriteString("f64");
WriteSeparator();
WriteKey("value");
- if (const_.is_expected_nan()) {
- if (const_.expected() == ExpectedNan::Arithmetic) {
- WriteString("nan:arithmetic");
- } else {
- WriteString("nan:canonical");
- }
- } else {
- json_stream_->Writef("\"%" PRIu64 "\"", const_.f64_bits());
- }
+ WriteF64(const_.f64_bits(), const_.expected_nan());
break;
- }
case Type::Nullref:
WriteString("nullref");
@@ -243,10 +257,52 @@ void BinaryWriterSpec::WriteConst(const Const& const_) {
case Type::V128: {
WriteString("v128");
WriteSeparator();
+ WriteKey("lane_type");
+ WriteString(const_.lane_type().GetName());
+ WriteSeparator();
WriteKey("value");
- char buffer[128];
- WriteUint128(buffer, 128, const_.vec128());
- json_stream_->Writef("\"%s\"", buffer);
+ json_stream_->Writef("[");
+
+ for (int lane = 0; lane < const_.lane_count(); ++lane) {
+ switch (const_.lane_type()) {
+ case Type::I8:
+ json_stream_->Writef("\"%u\"", const_.v128_lane<uint8_t>(lane));
+ break;
+
+ case Type::I16:
+ json_stream_->Writef("\"%u\"", const_.v128_lane<uint16_t>(lane));
+ break;
+
+ case Type::I32:
+ json_stream_->Writef("\"%u\"", const_.v128_lane<uint32_t>(lane));
+ break;
+
+ case Type::I64:
+ json_stream_->Writef("\"%" PRIu64 "\"",
+ const_.v128_lane<uint64_t>(lane));
+ break;
+
+ case Type::F32:
+ WriteF32(const_.v128_lane<uint32_t>(lane),
+ const_.expected_nan(lane));
+ break;
+
+ case Type::F64:
+ WriteF64(const_.v128_lane<uint64_t>(lane),
+ const_.expected_nan(lane));
+ break;
+
+ default:
+ WABT_UNREACHABLE;
+ }
+
+ if (lane != const_.lane_count() - 1) {
+ WriteSeparator();
+ }
+ }
+
+ json_stream_->Writef("]");
+
break;
}
diff --git a/src/common.h b/src/common.h
index 7acd71dc..87aee81a 100644
--- a/src/common.h
+++ b/src/common.h
@@ -151,7 +151,6 @@ struct v128 {
memcpy(&v[lane * sizeof(T)], &data, sizeof(data));
}
- private:
uint8_t v[16];
};
diff --git a/src/interp/interp-math.h b/src/interp/interp-math.h
index ccbc9cd6..c3876810 100644
--- a/src/interp/interp-math.h
+++ b/src/interp/interp-math.h
@@ -80,7 +80,6 @@ template <typename T> T WABT_VECTORCALL IntNot(T val) { return ~val; }
template <typename T> T WABT_VECTORCALL IntNeg(T val) { return ~val + 1; }
template <typename T> T WABT_VECTORCALL Add(T lhs, T rhs) { return CanonNaN(lhs + rhs); }
template <typename T> T WABT_VECTORCALL Sub(T lhs, T rhs) { return CanonNaN(lhs - rhs); }
-template <typename T> T WABT_VECTORCALL Mul(T lhs, T rhs) { return CanonNaN(lhs * rhs); }
template <typename T> T WABT_VECTORCALL IntAnd(T lhs, T rhs) { return lhs & rhs; }
template <typename T> T WABT_VECTORCALL IntOr(T lhs, T rhs) { return lhs | rhs; }
template <typename T> T WABT_VECTORCALL IntXor(T lhs, T rhs) { return lhs ^ rhs; }
@@ -92,6 +91,27 @@ template <typename T> T WABT_VECTORCALL IntAndNot(T lhs, T rhs) { return lhs & ~
template <typename T> T WABT_VECTORCALL IntAvgr(T lhs, T rhs) { return (lhs + rhs + 1) / 2; }
template <typename T> T WABT_VECTORCALL Xchg(T lhs, T rhs) { return rhs; }
+// Because of the integer promotion rules [1], any value of a type T which is
+// smaller than `int` will be converted to an `int`, as long as `int` can hold
+// any value of type T.
+//
+// So type `u16` will be promoted to `int`, since all values can be stored in
+// an int. Unfortunately, the product of two `u16` values cannot always be
+// stored in an `int` (e.g. 65535 * 65535). This triggers an error in UBSan.
+//
+// As a result, we make sure to promote the type ahead of time for `u16`. Note
+// that this isn't a problem for any other unsigned types.
+//
+// [1]; https://en.cppreference.com/w/cpp/language/implicit_conversion#Integral_promotion
+template <typename T> struct PromoteMul { using type = T; };
+template <> struct PromoteMul<u16> { using type = u32; };
+
+template <typename T>
+T WABT_VECTORCALL Mul(T lhs, T rhs) {
+ using U = typename PromoteMul<T>::type;
+ return CanonNaN(U(lhs) * U(rhs));
+}
+
template <typename T> struct Mask { using Type = T; };
template <> struct Mask<f32> { using Type = u32; };
template <> struct Mask<f64> { using Type = u64; };
diff --git a/src/interp/interp-util.cc b/src/interp/interp-util.cc
index 5c746ec4..60f17152 100644
--- a/src/interp/interp-util.cc
+++ b/src/interp/interp-util.cc
@@ -43,6 +43,12 @@ std::string TypedValueToString(const TypedValue& tv) {
simd.u32(1), simd.u32(2), simd.u32(3));
}
+ case Type::I8: // For SIMD lane.
+ return StringPrintf("i8:%u", tv.value.Get<u32>() & 0xff);
+
+ case Type::I16: // For SIMD lane.
+ return StringPrintf("i16:%u", tv.value.Get<u32>() & 0xffff);
+
case Type::Nullref:
return StringPrintf("nullref");
@@ -63,9 +69,7 @@ std::string TypedValueToString(const TypedValue& tv) {
case Type::Array:
case Type::Void:
case Type::Any:
- case Type::I8:
case Type::I8U:
- case Type::I16:
case Type::I16U:
case Type::I32U:
// These types are not concrete types and should never exist as a value
diff --git a/src/interp/interp.cc b/src/interp/interp.cc
index b0910357..672f5a4f 100644
--- a/src/interp/interp.cc
+++ b/src/interp/interp.cc
@@ -1580,9 +1580,9 @@ RunResult Thread::StepInternal(Trap::Ptr* out_trap) {
case O::V64X2LoadSplat: return DoSimdLoadSplat<u64x2, u64>(instr, out_trap);
case O::I8X16NarrowI16X8S: return DoSimdNarrow<s8x16, s16x8>();
- case O::I8X16NarrowI16X8U: return DoSimdNarrow<u8x16, u16x8>();
+ case O::I8X16NarrowI16X8U: return DoSimdNarrow<u8x16, s16x8>();
case O::I16X8NarrowI32X4S: return DoSimdNarrow<s16x8, s32x4>();
- case O::I16X8NarrowI32X4U: return DoSimdNarrow<u16x8, u32x4>();
+ case O::I16X8NarrowI32X4U: return DoSimdNarrow<u16x8, s32x4>();
case O::I16X8WidenLowI8X16S: return DoSimdWiden<s16x8, s8x16, true>();
case O::I16X8WidenHighI8X16S: return DoSimdWiden<s16x8, s8x16, false>();
case O::I16X8WidenLowI8X16U: return DoSimdWiden<u16x8, u8x16, true>();
@@ -1597,7 +1597,7 @@ RunResult Thread::StepInternal(Trap::Ptr* out_trap) {
case O::I32X4Load16X4S: return DoSimdLoadExtend<s32x4, s16x4>(instr, out_trap);
case O::I32X4Load16X4U: return DoSimdLoadExtend<u32x4, u16x4>(instr, out_trap);
case O::I64X2Load32X2S: return DoSimdLoadExtend<s64x2, s32x2>(instr, out_trap);
- case O::I64X2Load32X2U: return DoSimdLoadExtend<s64x2, s32x2>(instr, out_trap);
+ case O::I64X2Load32X2U: return DoSimdLoadExtend<u64x2, u32x2>(instr, out_trap);
case O::V128Andnot: return DoSimdBinop(IntAndNot<u64>);
case O::I8X16AvgrU: return DoSimdBinop(IntAvgr<u8>);
diff --git a/src/ir.h b/src/ir.h
index c46e48f5..6430b874 100644
--- a/src/ir.h
+++ b/src/ir.h
@@ -93,6 +93,19 @@ struct Const {
}
Type type() const { return type_; }
+ Type lane_type() const { assert(type_ == Type::V128); return lane_type_; }
+
+ int lane_count() const {
+ switch (lane_type()) {
+ case Type::I8: return 16;
+ case Type::I16: return 8;
+ case Type::I32: return 4;
+ case Type::I64: return 2;
+ case Type::F32: return 4;
+ case Type::F64: return 2;
+ default: WABT_UNREACHABLE;
+ }
+ }
uint32_t u32() const { return data_.u32(0); }
uint64_t u64() const { return data_.u64(0); }
@@ -101,40 +114,71 @@ struct Const {
uintptr_t ref_bits() const { return data_.To<uintptr_t>(0); }
v128 vec128() const { return data_; }
- bool is_expected_nan() const { return nan_ != ExpectedNan::None; }
- ExpectedNan expected() const { assert(is_expected_nan()); return nan_; }
+ template <typename T>
+ T v128_lane(int lane) const { return data_.To<T>(lane); }
void set_u32(uint32_t x) { From(Type::I32, x); }
void set_u64(uint64_t x) { From(Type::I64, x); }
void set_f32(uint32_t x) { From(Type::F32, x); }
void set_f64(uint64_t x) { From(Type::F64, x); }
- void set_vec128(v128 x) { From(Type::V128, x); }
+
+ void set_v128_u8(int lane, uint8_t x) { set_v128_lane(lane, Type::I8, x); }
+ void set_v128_u16(int lane, uint16_t x) { set_v128_lane(lane, Type::I16, x); }
+ void set_v128_u32(int lane, uint32_t x) { set_v128_lane(lane, Type::I32, x); }
+ void set_v128_u64(int lane, uint64_t x) { set_v128_lane(lane, Type::I64, x); }
+ void set_v128_f32(int lane, uint32_t x) { set_v128_lane(lane, Type::F32, x); }
+ void set_v128_f64(int lane, uint64_t x) { set_v128_lane(lane, Type::F64, x); }
// Only used for expectations. (e.g. wast assertions)
- void set_f32(ExpectedNan nan) { From<float>(Type::F32, 0); nan_ = nan; }
- void set_f64(ExpectedNan nan) { From<double>(Type::F64, 0); nan_ = nan; }
+ void set_f32(ExpectedNan nan) { set_f32(0); set_expected_nan(0, nan); }
+ void set_f64(ExpectedNan nan) { set_f64(0); set_expected_nan(0, nan); }
void set_hostref(uintptr_t x) { From(Type::Hostref, x); }
void set_nullref() { From<uintptr_t>(Type::Nullref, 0); }
void set_funcref() { From<uintptr_t>(Type::Funcref, 0); }
+ bool is_expected_nan(int lane = 0) const {
+ return expected_nan(lane) != ExpectedNan::None;
+ }
+
+ ExpectedNan expected_nan(int lane = 0) const {
+ return lane < 4 ? nan_[lane] : ExpectedNan::None;
+ }
+
+ void set_expected_nan(int lane, ExpectedNan nan) {
+ if (lane < 4) {
+ nan_[lane] = nan;
+ }
+ }
+
+ // v128 support
Location loc;
private:
template <typename T>
+ void set_v128_lane(int lane, Type lane_type, T x) {
+ lane_type_ = lane_type;
+ From(Type::V128, x, lane);
+ set_expected_nan(lane, ExpectedNan::None);
+ }
+
+ template <typename T>
Const(Type type, T data, const Location& loc = Location()) : loc(loc) {
From<T>(type, data);
}
template <typename T>
- void From(Type type, T data) {
+ void From(Type type, T data, int lane = 0) {
+ static_assert(sizeof(T) <= sizeof(data_), "Invalid cast!");
+ assert((lane + 1) * sizeof(T) <= sizeof(data_));
type_ = type;
- data_.From<T>(0, data);
- nan_ = ExpectedNan::None;
+ data_.From<T>(lane, data);
+ set_expected_nan(lane, ExpectedNan::None);
}
Type type_;
+ Type lane_type_; // Only valid if type_ == Type::V128.
v128 data_;
- ExpectedNan nan_ = ExpectedNan::None;
+ ExpectedNan nan_[4];
};
typedef std::vector<Const> ConstVector;
diff --git a/src/tools/spectest-interp.cc b/src/tools/spectest-interp.cc
index b0837ca7..cc61e8c3 100644
--- a/src/tools/spectest-interp.cc
+++ b/src/tools/spectest-interp.cc
@@ -160,11 +160,122 @@ class RegisterCommand : public CommandMixin<CommandType::Register> {
};
struct ExpectedValue {
- bool is_expected_nan;
TypedValue value;
- ExpectedNan expectedNan;
+ Type lane_type; // Only valid if value.type == Type::V128.
+ // Up to 4 NaN values used, depending on |value.type| and |lane_type|:
+ // | type | lane_type | valid |
+ // | f32 | | nan[0] |
+ // | f64 | | nan[0] |
+ // | v128 | f32 | nan[0] through nan[3] |
+ // | v128 | f64 | nan[0],nan[1] |
+ // | * | * | none valid |
+ ExpectedNan nan[4];
};
+int LaneCountFromType(Type type) {
+ switch (type) {
+ case Type::I8: return 16;
+ case Type::I16: return 8;
+ case Type::I32: return 4;
+ case Type::I64: return 2;
+ case Type::F32: return 4;
+ case Type::F64: return 2;
+ default: assert(false); return 0;
+ }
+}
+
+ExpectedValue GetLane(const ExpectedValue& ev, int lane) {
+ int lane_count = LaneCountFromType(ev.lane_type);
+ assert(ev.value.type == Type::V128);
+ assert(lane < lane_count);
+
+ ExpectedValue result;
+ result.value.type = ev.lane_type;
+
+ v128 vec = ev.value.value.Get<v128>();
+
+ for (int lane = 0; lane < lane_count; ++lane) {
+ switch (ev.lane_type) {
+ case Type::I8:
+ result.nan[0] = ExpectedNan::None;
+ result.value.value.Set<u32>(vec.u8(lane));
+ break;
+
+ case Type::I16:
+ result.nan[0] = ExpectedNan::None;
+ result.value.value.Set<u32>(vec.u16(lane));
+ break;
+
+ case Type::I32:
+ result.nan[0] = ExpectedNan::None;
+ result.value.value.Set<u32>(vec.u32(lane));
+ break;
+
+ case Type::I64:
+ result.nan[0] = ExpectedNan::None;
+ result.value.value.Set<u64>(vec.u64(lane));
+ break;
+
+ case Type::F32:
+ result.nan[0] = ev.nan[lane];
+ result.value.value.Set<f32>(Bitcast<f32>(vec.f32_bits(lane)));
+ break;
+
+ case Type::F64:
+ result.nan[0] = ev.nan[lane];
+ result.value.value.Set<f64>(Bitcast<f64>(vec.f64_bits(lane)));
+ break;
+
+ default:
+ WABT_UNREACHABLE;
+ }
+ }
+ return result;
+}
+
+TypedValue GetLane(const TypedValue& tv, Type lane_type, int lane) {
+ int lane_count = LaneCountFromType(lane_type);
+ assert(tv.type == Type::V128);
+ assert(lane < lane_count);
+
+ TypedValue result;
+ result.type = lane_type;
+
+ v128 vec = tv.value.Get<v128>();
+
+ for (int lane = 0; lane < lane_count; ++lane) {
+ switch (lane_type) {
+ case Type::I8:
+ result.value.Set<u32>(vec.u8(lane));
+ break;
+
+ case Type::I16:
+ result.value.Set<u32>(vec.u16(lane));
+ break;
+
+ case Type::I32:
+ result.value.Set<u32>(vec.u32(lane));
+ break;
+
+ case Type::I64:
+ result.value.Set<u64>(vec.u64(lane));
+ break;
+
+ case Type::F32:
+ result.value.Set<f32>(Bitcast<f32>(vec.f32_bits(lane)));
+ break;
+
+ case Type::F64:
+ result.value.Set<f64>(Bitcast<f64>(vec.f64_bits(lane)));
+ break;
+
+ default:
+ WABT_UNREACHABLE;
+ }
+ }
+ return result;
+}
+
class AssertReturnCommand : public CommandMixin<CommandType::AssertReturn> {
public:
Action action;
@@ -210,6 +321,10 @@ class JSONParser {
private:
void WABT_PRINTF_FORMAT(2, 3) PrintError(const char* format, ...);
+ // Whether to allow parsing of expectation-only forms (e.g. `nan:canonical`,
+ // `nan:arithmetic`, etc.)
+ enum class AllowExpected { No, Yes };
+
void PutbackChar();
int ReadChar();
void SkipWhitespace();
@@ -221,14 +336,32 @@ class JSONParser {
wabt::Result ParseKeyStringValue(const char* key, std::string* out_string);
wabt::Result ParseOptNameStringValue(std::string* out_string);
wabt::Result ParseLine(uint32_t* out_line_number);
+ wabt::Result ParseType(Type* out_type);
wabt::Result ParseTypeObject(Type* out_type);
wabt::Result ParseTypeVector(TypeVector* out_types);
wabt::Result ParseConst(TypedValue* out_value);
- wabt::Result ParseConstValue(TypedValue* out_value,
- string_view type_str,
- string_view value_str);
+ wabt::Result ParseI32Value(uint32_t* out_value, string_view value_str);
+ wabt::Result ParseI64Value(uint64_t* out_value, string_view value_str);
+ wabt::Result ParseF32Value(uint32_t* out_value,
+ ExpectedNan* out_nan,
+ string_view value_str,
+ AllowExpected);
+ wabt::Result ParseF64Value(uint64_t* out_value,
+ ExpectedNan* out_nan,
+ string_view value_str,
+ AllowExpected);
+ wabt::Result ParseLaneConstValue(Type lane_type,
+ int lane,
+ ExpectedValue* out_value,
+ string_view value_str,
+ AllowExpected);
+ wabt::Result ParseConstValue(Type type,
+ Value* out_value,
+ ExpectedNan* out_nan,
+ string_view value_str,
+ AllowExpected);
wabt::Result ParseConstVector(ValueTypes* out_types, Values* out_values);
- wabt::Result ParseExpectedValue(ExpectedValue* out_value);
+ wabt::Result ParseExpectedValue(ExpectedValue* out_value, AllowExpected);
wabt::Result ParseExpectedValues(std::vector<ExpectedValue>* out_values);
wabt::Result ParseAction(Action* out_action);
wabt::Result ParseActionResult();
@@ -435,43 +568,47 @@ wabt::Result JSONParser::ParseLine(uint32_t* out_line_number) {
return wabt::Result::Ok;
}
-wabt::Result JSONParser::ParseTypeObject(Type* out_type) {
+wabt::Result JSONParser::ParseType(Type* out_type) {
std::string type_str;
- EXPECT("{");
- PARSE_KEY_STRING_VALUE("type", &type_str);
- EXPECT("}");
+ CHECK_RESULT(ParseString(&type_str));
if (type_str == "i32") {
*out_type = Type::I32;
- return wabt::Result::Ok;
} else if (type_str == "f32") {
*out_type = Type::F32;
- return wabt::Result::Ok;
} else if (type_str == "i64") {
*out_type = Type::I64;
- return wabt::Result::Ok;
} else if (type_str == "f64") {
*out_type = Type::F64;
- return wabt::Result::Ok;
} else if (type_str == "v128") {
*out_type = Type::V128;
- return wabt::Result::Ok;
+ } else if (type_str == "i8") {
+ *out_type = Type::I8;
+ } else if (type_str == "i16") {
+ *out_type = Type::I16;
} else if (type_str == "funcref") {
*out_type = Type::Funcref;
- return wabt::Result::Ok;
} else if (type_str == "anyref") {
*out_type = Type::Anyref;
- return wabt::Result::Ok;
} else if (type_str == "nullref") {
*out_type = Type::Nullref;
- return wabt::Result::Ok;
} else if (type_str == "exnref") {
*out_type = Type::Exnref;
- return wabt::Result::Ok;
+ } else if (type_str == "hostref") {
+ *out_type = Type::Hostref;
} else {
PrintError("unknown type: \"%s\"", type_str.c_str());
return wabt::Result::Error;
}
+ return wabt::Result::Ok;
+}
+
+wabt::Result JSONParser::ParseTypeObject(Type* out_type) {
+ EXPECT("{");
+ EXPECT_KEY("type");
+ CHECK_RESULT(ParseType(out_type));
+ EXPECT("}");
+ return wabt::Result::Ok;
}
wabt::Result JSONParser::ParseTypeVector(TypeVector* out_types) {
@@ -491,121 +628,252 @@ wabt::Result JSONParser::ParseTypeVector(TypeVector* out_types) {
}
wabt::Result JSONParser::ParseConst(TypedValue* out_value) {
- std::string type_str;
- std::string value_str;
- EXPECT("{");
- PARSE_KEY_STRING_VALUE("type", &type_str);
- EXPECT(",");
- PARSE_KEY_STRING_VALUE("value", &value_str);
- EXPECT("}");
+ ExpectedValue expected;
+ CHECK_RESULT(ParseExpectedValue(&expected, AllowExpected::No));
+ *out_value = expected.value;
+ return wabt::Result::Ok;
+}
- return ParseConstValue(out_value, type_str, value_str);
+wabt::Result JSONParser::ParseI32Value(uint32_t* out_value,
+ string_view value_str) {
+ if (Failed(ParseInt32(value_str.begin(), value_str.end(), out_value,
+ ParseIntType::UnsignedOnly))) {
+ PrintError("invalid i32 literal");
+ return wabt::Result::Error;
+ }
+ return wabt::Result::Ok;
}
-wabt::Result JSONParser::ParseConstValue(TypedValue* out_value,
- string_view type_str,
- string_view value_str) {
- const char* value_start = value_str.data();
- const char* value_end = value_str.data() + value_str.size();
- if (type_str == "i32") {
- uint32_t value;
- if (Failed((ParseInt32(value_start, value_end, &value,
- ParseIntType::UnsignedOnly)))) {
- PrintError("invalid i32 literal");
- return wabt::Result::Error;
+wabt::Result JSONParser::ParseI64Value(uint64_t* out_value,
+ string_view value_str) {
+ if (Failed(ParseInt64(value_str.begin(), value_str.end(), out_value,
+ ParseIntType::UnsignedOnly))) {
+ PrintError("invalid i64 literal");
+ return wabt::Result::Error;
+ }
+ return wabt::Result::Ok;
+}
+
+wabt::Result JSONParser::ParseF32Value(uint32_t* out_value,
+ ExpectedNan* out_nan,
+ string_view value_str,
+ AllowExpected allow_expected) {
+ if (allow_expected == AllowExpected::Yes) {
+ *out_value = 0;
+ if (value_str == "nan:canonical") {
+ *out_nan = ExpectedNan::Canonical;
+ return wabt::Result::Ok;
+ } else if (value_str == "nan:arithmetic") {
+ *out_nan = ExpectedNan::Arithmetic;
+ return wabt::Result::Ok;
}
- out_value->type = ValueType::I32;
- out_value->value.Set(value);
- } else if (type_str == "f32") {
- uint32_t value_bits;
- if (Failed(ParseInt32(value_start, value_end, &value_bits,
- ParseIntType::UnsignedOnly))) {
- PrintError("invalid f32 literal");
- return wabt::Result::Error;
+ }
+
+ *out_nan = ExpectedNan::None;
+ if (Failed(ParseInt32(value_str.begin(), value_str.end(), out_value,
+ ParseIntType::UnsignedOnly))) {
+ PrintError("invalid f32 literal");
+ return wabt::Result::Error;
+ }
+ return wabt::Result::Ok;
+}
+
+wabt::Result JSONParser::ParseF64Value(uint64_t* out_value,
+ ExpectedNan* out_nan,
+ string_view value_str,
+ AllowExpected allow_expected) {
+ if (allow_expected == AllowExpected::Yes) {
+ *out_value = 0;
+ if (value_str == "nan:canonical") {
+ *out_nan = ExpectedNan::Canonical;
+ return wabt::Result::Ok;
+ } else if (value_str == "nan:arithmetic") {
+ *out_nan = ExpectedNan::Arithmetic;
+ return wabt::Result::Ok;
}
- out_value->type = ValueType::F32;
- out_value->value.Set(Bitcast<f32>(value_bits));
- } else if (type_str == "i64") {
- uint64_t value;
- if (Failed(ParseInt64(value_start, value_end, &value,
- ParseIntType::UnsignedOnly))) {
- PrintError("invalid i64 literal");
- return wabt::Result::Error;
+ }
+
+ *out_nan = ExpectedNan::None;
+ if (Failed(ParseInt64(value_str.begin(), value_str.end(), out_value,
+ ParseIntType::UnsignedOnly))) {
+ PrintError("invalid f64 literal");
+ return wabt::Result::Error;
+ }
+ return wabt::Result::Ok;
+}
+
+wabt::Result JSONParser::ParseLaneConstValue(Type lane_type,
+ int lane,
+ ExpectedValue* out_value,
+ string_view value_str,
+ AllowExpected allow_expected) {
+ v128& v = out_value->value.value.v128_;
+
+ switch (lane_type) {
+ case Type::I8: {
+ uint32_t value;
+ CHECK_RESULT(ParseI32Value(&value, value_str));
+ v.set_u8(lane, value);
+ break;
}
- out_value->type = ValueType::I64;
- out_value->value.Set(value);
- } else if (type_str == "f64") {
- uint64_t value_bits;
- if (Failed((ParseInt64(value_start, value_end, &value_bits,
- ParseIntType::UnsignedOnly)))) {
- PrintError("invalid f64 literal");
- return wabt::Result::Error;
+
+ case Type::I16: {
+ uint32_t value;
+ CHECK_RESULT(ParseI32Value(&value, value_str));
+ v.set_u16(lane, value);
+ break;
}
- out_value->type = ValueType::F64;
- out_value->value.Set(Bitcast<f64>(value_bits));
- } else if (type_str == "v128") {
- v128 value_bits;
- if (Failed(ParseUint128(value_start, value_end, &value_bits))) {
- PrintError("invalid v128 literal");
- return wabt::Result::Error;
+
+ case Type::I32: {
+ uint32_t value;
+ CHECK_RESULT(ParseI32Value(&value, value_str));
+ v.set_u32(lane, value);
+ break;
}
- out_value->type = ValueType::V128;
- out_value->value.Set(value_bits);
- } else if (type_str == "nullref") {
- out_value->type = ValueType::Nullref;
- out_value->value.Set(Ref::Null);
- } else if (type_str == "hostref") {
- uint32_t value;
- if (Failed(ParseInt32(value_start, value_end, &value,
- ParseIntType::UnsignedOnly))) {
- PrintError("invalid hostref literal");
- return wabt::Result::Error;
+
+ case Type::I64: {
+ uint64_t value;
+ CHECK_RESULT(ParseI64Value(&value, value_str));
+ v.set_u64(lane, value);
+ break;
}
- out_value->type = ValueType::Hostref;
- // TODO: hack, just whatever ref is at this index; but skip null (which is
- // always 0).
- out_value->value.Set(Ref{value + 1});
- } else if (type_str == "funcref") {
- uint32_t value;
- if (Failed(ParseInt32(value_start, value_end, &value,
- ParseIntType::UnsignedOnly))) {
- PrintError("invalid funcref literal");
+
+ case Type::F32: {
+ ExpectedNan nan;
+ uint32_t value_bits;
+ CHECK_RESULT(ParseF32Value(&value_bits, &nan, value_str, allow_expected));
+ v.set_f32_bits(lane, value_bits);
+ assert(lane < 4);
+ out_value->nan[lane] = nan;
+ break;
+ }
+
+ case Type::F64: {
+ ExpectedNan nan;
+ uint64_t value_bits;
+ CHECK_RESULT(ParseF64Value(&value_bits, &nan, value_str, allow_expected));
+ v.set_f64_bits(lane, value_bits);
+ assert(lane < 2);
+ out_value->nan[lane] = nan;
+ break;
+ }
+
+ default:
+ PrintError("unknown concrete type: \"%s\"", lane_type.GetName());
return wabt::Result::Error;
+ }
+ return wabt::Result::Ok;
+}
+
+wabt::Result JSONParser::ParseConstValue(Type type,
+ Value* out_value,
+ ExpectedNan* out_nan,
+ string_view value_str,
+ AllowExpected allow_expected) {
+ *out_nan = ExpectedNan::None;
+
+ switch (type) {
+ case Type::I32: {
+ uint32_t value;
+ CHECK_RESULT(ParseI32Value(&value, value_str));
+ out_value->Set(value);
+ break;
}
- out_value->type = ValueType::Funcref;
- out_value->value.Set(Ref{value});
- } else {
- PrintError("unknown concrete type: \"%s\"", type_str.to_string().c_str());
- return wabt::Result::Error;
+
+ case Type::F32: {
+ uint32_t value_bits;
+ CHECK_RESULT(
+ ParseF32Value(&value_bits, out_nan, value_str, allow_expected));
+ out_value->Set(Bitcast<f32>(value_bits));
+ break;
+ }
+
+ case Type::I64: {
+ uint64_t value;
+ CHECK_RESULT(ParseI64Value(&value, value_str));
+ out_value->Set(value);
+ break;
+ }
+
+ case Type::F64: {
+ uint64_t value_bits;
+ CHECK_RESULT(
+ ParseF64Value(&value_bits, out_nan, value_str, allow_expected));
+ out_value->Set(Bitcast<f64>(value_bits));
+ break;
+ }
+
+ case Type::V128:
+ assert(false); // Should use ParseLaneConstValue instead.
+ break;
+
+ case Type::Nullref: {
+ out_value->Set(Ref::Null);
+ break;
+ }
+
+ case Type::Hostref: {
+ uint32_t value;
+ CHECK_RESULT(ParseI32Value(&value, value_str));
+ // TODO: hack, just whatever ref is at this index; but skip null (which is
+ // always 0).
+ out_value->Set(Ref{value + 1});
+ break;
+ }
+
+ case Type::Funcref: {
+ uint32_t value;
+ CHECK_RESULT(ParseI32Value(&value, value_str));
+ out_value->Set(Ref{value});
+ break;
+ }
+
+ default:
+ PrintError("unknown concrete type: \"%s\"", type.GetName());
+ return wabt::Result::Error;
}
return wabt::Result::Ok;
}
-wabt::Result JSONParser::ParseExpectedValue(ExpectedValue* out_value) {
- std::string type_str;
+wabt::Result JSONParser::ParseExpectedValue(ExpectedValue* out_value,
+ AllowExpected allow_expected) {
+ Type type;
std::string value_str;
EXPECT("{");
- PARSE_KEY_STRING_VALUE("type", &type_str);
+ EXPECT_KEY("type");
+ CHECK_RESULT(ParseType(&type));
EXPECT(",");
- PARSE_KEY_STRING_VALUE("value", &value_str);
- EXPECT("}");
-
- if (type_str == "f32" || type_str == "f64") {
- out_value->value.type = type_str == "f32" ? ValueType::F32 : ValueType::F64;
- if (value_str == "nan:canonical") {
- out_value->is_expected_nan = true;
- out_value->expectedNan = ExpectedNan::Canonical;
- return wabt::Result::Ok;
- } else if (value_str == "nan:arithmetic") {
- out_value->is_expected_nan = true;
- out_value->expectedNan = ExpectedNan::Arithmetic;
- return wabt::Result::Ok;
+ if (type == Type::V128) {
+ Type lane_type;
+ EXPECT_KEY("lane_type");
+ CHECK_RESULT(ParseType(&lane_type));
+ EXPECT(",");
+ EXPECT_KEY("value");
+ EXPECT("[");
+
+ int lane_count = LaneCountFromType(lane_type);
+ for (int lane = 0; lane < lane_count; ++lane) {
+ CHECK_RESULT(ParseString(&value_str));
+ CHECK_RESULT(ParseLaneConstValue(lane_type, lane, out_value, value_str,
+ allow_expected));
+ if (lane < lane_count - 1) {
+ EXPECT(",");
+ }
}
+ EXPECT("]");
+ out_value->value.type = type;
+ out_value->lane_type = lane_type;
+ } else {
+ PARSE_KEY_STRING_VALUE("value", &value_str);
+ CHECK_RESULT(ParseConstValue(type, &out_value->value.value,
+ &out_value->nan[0], value_str,
+ allow_expected));
+ out_value->value.type = type;
}
+ EXPECT("}");
- out_value->is_expected_nan = false;
- return ParseConstValue(&out_value->value, type_str, value_str);
+ return wabt::Result::Ok;
}
wabt::Result JSONParser::ParseExpectedValues(
@@ -618,7 +886,7 @@ wabt::Result JSONParser::ParseExpectedValues(
EXPECT(",");
}
ExpectedValue value;
- CHECK_RESULT(ParseExpectedValue(&value));
+ CHECK_RESULT(ParseExpectedValue(&value, AllowExpected::Yes));
out_values->push_back(value);
first = false;
}
@@ -907,6 +1175,12 @@ class CommandRunner {
wabt::Result OnAssertTrapCommand(const AssertTrapCommand*);
wabt::Result OnAssertExhaustionCommand(const AssertExhaustionCommand*);
+ wabt::Result CheckAssertReturnResult(const AssertReturnCommand* command,
+ int index,
+ ExpectedValue expected,
+ TypedValue actual,
+ bool print_error);
+
void TallyCommand(wabt::Result);
wabt::Result ReadInvalidTextModule(string_view module_filename,
@@ -1323,39 +1597,6 @@ wabt::Result CommandRunner::OnAssertUninstantiableCommand(
return wabt::Result::Ok;
}
-static bool TypedValuesAreEqual(const TypedValue& expected,
- const TypedValue& actual) {
- assert(expected.type == actual.type || IsReference(expected.type));
- switch (expected.type) {
- case Type::I32:
- return expected.value.Get<u32>() == actual.value.Get<u32>();
-
- case Type::F32:
- return Bitcast<u32>(expected.value.Get<f32>()) ==
- Bitcast<u32>(actual.value.Get<f32>());
-
- case Type::I64:
- return expected.value.Get<u64>() == actual.value.Get<u64>();
-
- case Type::F64:
- return Bitcast<u64>(expected.value.Get<f64>()) ==
- Bitcast<u64>(actual.value.Get<f64>());
-
- case Type::V128:
- return expected.value.Get<v128>() == actual.value.Get<v128>();
-
- case Type::Nullref:
- return actual.value.Get<Ref>() == Ref::Null;
-
- case Type::Funcref:
- case Type::Hostref:
- return expected.value.Get<Ref>() == actual.value.Get<Ref>();
-
- default:
- WABT_UNREACHABLE;
- }
-}
-
static bool WABT_VECTORCALL IsCanonicalNan(f32 val) {
const u32 kQuietNan = 0x7fc00000U;
const u32 kQuietNegNan = 0xffc00000U;
@@ -1380,6 +1621,138 @@ static bool WABT_VECTORCALL IsArithmeticNan(f64 val) {
return (Bitcast<u64>(val) & kQuietNan) == kQuietNan;
}
+static std::string ExpectedValueToString(const ExpectedValue& ev) {
+ // Extend TypedValueToString to print expected nan values too.
+ switch (ev.value.type) {
+ case Type::F32:
+ case Type::F64:
+ switch (ev.nan[0]) {
+ case ExpectedNan::None:
+ return TypedValueToString(ev.value);
+
+ case ExpectedNan::Arithmetic:
+ return StringPrintf("%s:nan:arithmetic", ev.value.type.GetName());
+
+ case ExpectedNan::Canonical:
+ return StringPrintf("%s:nan:canonical", ev.value.type.GetName());
+ }
+ break;
+
+ case Type::V128: {
+ int lane_count = LaneCountFromType(ev.lane_type);
+ std::string result = "v128 ";
+ for (int lane = 0; lane < lane_count; ++lane) {
+ result += ExpectedValueToString(GetLane(ev, lane));
+ }
+ return result;
+ }
+
+ default:
+ break;
+ }
+ return TypedValueToString(ev.value);
+}
+
+wabt::Result CommandRunner::CheckAssertReturnResult(
+ const AssertReturnCommand* command,
+ int index,
+ ExpectedValue expected,
+ TypedValue actual,
+ bool print_error) {
+ assert(expected.value.type == actual.type ||
+ IsReference(expected.value.type));
+ bool ok = true;
+ switch (expected.value.type) {
+ case Type::I8:
+ case Type::I16:
+ case Type::I32:
+ ok = expected.value.value.Get<u32>() == actual.value.Get<u32>();
+ break;
+
+ case Type::I64:
+ ok = expected.value.value.Get<u64>() == actual.value.Get<u64>();
+ break;
+
+ case Type::F32:
+ switch (expected.nan[0]) {
+ case ExpectedNan::Arithmetic:
+ ok = IsArithmeticNan(actual.value.Get<f32>());
+ break;
+
+ case ExpectedNan::Canonical:
+ ok = IsCanonicalNan(actual.value.Get<f32>());
+ break;
+
+ case ExpectedNan::None:
+ ok = Bitcast<u32>(expected.value.value.Get<f32>()) ==
+ Bitcast<u32>(actual.value.Get<f32>());
+ break;
+ }
+ break;
+
+ case Type::F64:
+ switch (expected.nan[0]) {
+ case ExpectedNan::Arithmetic:
+ ok = IsArithmeticNan(actual.value.Get<f64>());
+ break;
+
+ case ExpectedNan::Canonical:
+ ok = IsCanonicalNan(actual.value.Get<f64>());
+ break;
+
+ case ExpectedNan::None:
+ ok = Bitcast<u64>(expected.value.value.Get<f64>()) ==
+ Bitcast<u64>(actual.value.Get<f64>());
+ break;
+ }
+ break;
+
+ case Type::V128: {
+ // Compare each lane as if it were its own value.
+ for (int lane = 0; lane < LaneCountFromType(expected.lane_type); ++lane) {
+ ExpectedValue lane_expected = GetLane(expected, lane);
+ TypedValue lane_actual = GetLane(actual, expected.lane_type, lane);
+
+ if (Failed(CheckAssertReturnResult(command, index, lane_expected,
+ lane_actual, false))) {
+ PrintError(command->line,
+ "mismatch in lane %u of result %u of assert_return: "
+ "expected %s, got %s",
+ lane, index, ExpectedValueToString(lane_expected).c_str(),
+ TypedValueToString(lane_actual).c_str());
+ ok = false;
+ }
+ }
+ break;
+ }
+
+ case Type::Nullref:
+ ok = actual.value.Get<Ref>() == Ref::Null;
+ break;
+
+ case Type::Funcref:
+ // A funcref expectation only requires that the reference be a function,
+ // but it doesn't check the actual index.
+ ok = store_.HasValueType(actual.value.Get<Ref>(), Type::Funcref);
+ break;
+
+ case Type::Hostref:
+ ok = expected.value.value.Get<Ref>() == actual.value.Get<Ref>();
+ break;
+
+ default:
+ WABT_UNREACHABLE;
+ }
+
+ if (!ok && print_error) {
+ PrintError(command->line,
+ "mismatch in result %u of assert_return: expected %s, got %s",
+ index, ExpectedValueToString(expected).c_str(),
+ TypedValueToString(actual).c_str());
+ }
+ return ok ? wabt::Result::Ok : wabt::Result::Error;
+}
+
wabt::Result CommandRunner::OnAssertReturnCommand(
const AssertReturnCommand* command) {
ActionResult action_result =
@@ -1404,45 +1777,7 @@ wabt::Result CommandRunner::OnAssertReturnCommand(
const ExpectedValue& expected = command->expected[i];
TypedValue actual{action_result.types[i], action_result.values[i]};
- if (expected.is_expected_nan) {
- bool is_nan;
- if (expected.expectedNan == ExpectedNan::Arithmetic) {
- if (expected.value.type == Type::F64) {
- is_nan = IsArithmeticNan(actual.value.Get<f64>());
- } else {
- is_nan = IsArithmeticNan(actual.value.Get<f32>());
- }
- } else if (expected.expectedNan == ExpectedNan::Canonical) {
- if (expected.value.type == Type::F64) {
- is_nan = IsCanonicalNan(actual.value.Get<f64>());
- } else {
- is_nan = IsCanonicalNan(actual.value.Get<f32>());
- }
- } else {
- WABT_UNREACHABLE;
- }
- if (!is_nan) {
- PrintError(command->line, "expected result to be nan, got %s",
- TypedValueToString(actual).c_str());
- result = wabt::Result::Error;
- }
- } else if (expected.value.type == Type::Funcref) {
- if (!store_.HasValueType(actual.value.Get<Ref>(), Type::Funcref)) {
- PrintError(command->line,
- "mismatch in result %" PRIzd
- " of assert_return: expected funcref, got %s",
- i, TypedValueToString(actual).c_str());
- }
- } else {
- if (!TypedValuesAreEqual(expected.value, actual)) {
- PrintError(command->line,
- "mismatch in result %" PRIzd
- " of assert_return: expected %s, got %s",
- i, TypedValueToString(expected.value).c_str(),
- TypedValueToString(actual).c_str());
- result = wabt::Result::Error;
- }
- }
+ result |= CheckAssertReturnResult(command, i, expected, actual, true);
}
return result;
diff --git a/src/type.h b/src/type.h
index 2a7597ae..fb51e013 100644
--- a/src/type.h
+++ b/src/type.h
@@ -36,6 +36,8 @@ class Type {
F32 = -0x03, // 0x7d
F64 = -0x04, // 0x7c
V128 = -0x05, // 0x7b
+ I8 = -0x06, // 0x7a : packed-type only, used in gc and as v128 lane
+ I16 = -0x07, // 0x79 : packed-type only, used in gc and as v128 lane
Funcref = -0x10, // 0x70
Anyref = -0x11, // 0x6f
Nullref = -0x12, // 0x6e
@@ -48,9 +50,7 @@ class Type {
Any = 0, // Not actually specified, but useful for type-checking
Hostref = 2, // Not actually specified, but used in testing and type-checking
- I8 = 3, // Not actually specified, but used internally with load/store
I8U = 4, // Not actually specified, but used internally with load/store
- I16 = 5, // Not actually specified, but used internally with load/store
I16U = 6, // Not actually specified, but used internally with load/store
I32U = 7, // Not actually specified, but used internally with load/store
};
@@ -78,6 +78,8 @@ class Type {
case Type::F32: return "f32";
case Type::F64: return "f64";
case Type::V128: return "v128";
+ case Type::I8: return "i8";
+ case Type::I16: return "i16";
case Type::Funcref: return "funcref";
case Type::Func: return "func";
case Type::Exnref: return "exnref";
diff --git a/src/wast-parser.cc b/src/wast-parser.cc
index 408dfd93..268a38d8 100644
--- a/src/wast-parser.cc
+++ b/src/wast-parser.cc
@@ -2023,8 +2023,32 @@ Result WastParser::ParsePlainInstr(std::unique_ptr<Expr>* out_expr) {
case TokenType::SimdLaneOp: {
Token token = Consume();
ErrorUnlessOpcodeEnabled(token);
+ if (!PeekMatch(TokenType::Nat) && !PeekMatch(TokenType::Int)) {
+ return ErrorExpected({"a natural number"}, "123");
+ }
+
+ Literal literal = Consume().literal();
uint64_t lane_idx;
- CHECK_RESULT(ParseNat(&lane_idx));
+
+ // TODO: The simd tests currently allow a lane number with an optional +,
+ // but probably shouldn't. See
+ // https://github.com/WebAssembly/simd/issues/181#issuecomment-597386919
+ Result result = ParseInt64(literal.text.begin(), literal.text.end(),
+ &lane_idx, ParseIntType::SignedAndUnsigned);
+
+ if (Failed(result)) {
+ Error(loc, "invalid literal \"" PRIstringview "\"",
+ WABT_PRINTF_STRING_VIEW_ARG(literal.text));
+ return Result::Error;
+ }
+
+ // TODO: Should share lane validation logic w/ SimdShuffleOp below. (See
+ // comment below for explanation of 255 vs. 32)
+ if (lane_idx > 255) {
+ Error(loc, "lane index \"" PRIstringview "\" out-of-range [0, 32)",
+ WABT_PRINTF_STRING_VIEW_ARG(literal.text));
+ return Result::Error;
+ }
out_expr->reset(new SimdLaneOpExpr(token.opcode(), lane_idx, loc));
break;
}
@@ -2056,8 +2080,11 @@ Result WastParser::ParsePlainInstr(std::unique_ptr<Expr>* out_expr) {
return Result::Error;
}
- if (value > 31) {
- Error(loc, "shuffle index \"" PRIstringview "\" out-of-range [0, 32)",
+ // The valid range is only [0, 32), but it's only malformed if it can't
+ // fit in a byte.
+ if (value > 255) {
+ Error(loc,
+ "shuffle index \"" PRIstringview "\" out-of-range [0, 32)",
WABT_PRINTF_STRING_VIEW_ARG(literal.text));
return Result::Error;
}
@@ -2080,7 +2107,9 @@ Result WastParser::ParsePlainInstr(std::unique_ptr<Expr>* out_expr) {
return Result::Ok;
}
-Result WastParser::ParseSimdV128Const(Const* const_, TokenType token_type) {
+Result WastParser::ParseSimdV128Const(Const* const_,
+ TokenType token_type,
+ ConstType const_type) {
WABT_TRACE(ParseSimdV128Const);
uint8_t lane_count = 0;
@@ -2105,77 +2134,94 @@ Result WastParser::ParseSimdV128Const(Const* const_, TokenType token_type) {
}
Consume();
- uint8_t lane_size = sizeof(v128) / lane_count;
-
- // The bytes of the v128 are written here first:
- std::array<char, 16> v128_bytes{};
const_->loc = GetLocation();
- for (int i = 0; i < lane_count; ++i) {
+ for (int lane = 0; lane < lane_count; ++lane) {
Location loc = GetLocation();
// Check that the lane literal type matches the element type of the v128:
- if (!PeekMatch(TokenType::Int) && !PeekMatch(TokenType::Nat)) {
- if (integer) {
- return ErrorExpected({"a Nat or Integer literal"}, "123");
- } else if (!PeekMatch(TokenType::Float)) {
- return ErrorExpected({"a Float literal"}, "42.0");
- }
- }
+ Token token = GetToken();
+ switch (token.token_type()) {
+ case TokenType::Nat:
+ case TokenType::Int:
+ // OK.
+ break;
- Literal literal = Consume().literal();
+ case TokenType::Float:
+ case TokenType::NanArithmetic:
+ case TokenType::NanCanonical:
+ if (integer) {
+ goto error;
+ }
+ break;
- string_view sv = literal.text;
- const char* s = sv.begin();
- const char* end = sv.end();
+ error:
+ default:
+ if (integer) {
+ return ErrorExpected({"a Nat or Integer literal"}, "123");
+ } else {
+ return ErrorExpected({"a Float literal"}, "42.0");
+ }
+ }
- // Pointer to the lane in the v128 bytes:
- char* lane_ptr = &v128_bytes[lane_size * i];
Result result;
// For each type, parse the next literal, bound check it, and write it to
// the array of bytes:
if (integer) {
- switch(lane_count) {
- case 16:
- result = ParseInt8(s, end, reinterpret_cast<uint8_t*>(lane_ptr),
- ParseIntType::SignedAndUnsigned);
+ string_view sv = Consume().literal().text;
+ const char* s = sv.begin();
+ const char* end = sv.end();
+
+ switch (lane_count) {
+ case 16: {
+ uint8_t value = 0;
+ result = ParseInt8(s, end, &value, ParseIntType::SignedAndUnsigned);
+ const_->set_v128_u8(lane, value);
break;
- case 8:
- result = ParseInt16(s, end, reinterpret_cast<uint16_t*>(lane_ptr),
- ParseIntType::SignedAndUnsigned);
+ }
+ case 8: {
+ uint16_t value = 0;
+ result = ParseInt16(s, end, &value, ParseIntType::SignedAndUnsigned);
+ const_->set_v128_u16(lane, value);
break;
- case 4:
- result = ParseInt32(s, end, reinterpret_cast<uint32_t*>(lane_ptr),
- ParseIntType::SignedAndUnsigned);
+ }
+ case 4: {
+ uint32_t value = 0;
+ result = ParseInt32(s, end, &value, ParseIntType::SignedAndUnsigned);
+ const_->set_v128_u32(lane, value);
break;
- case 2:
- result = ParseInt64(s, end, reinterpret_cast<uint64_t*>(lane_ptr),
- ParseIntType::SignedAndUnsigned);
+ }
+ case 2: {
+ uint64_t value = 0;
+ result = ParseInt64(s, end, &value, ParseIntType::SignedAndUnsigned);
+ const_->set_v128_u64(lane, value);
break;
+ }
}
} else {
- switch(lane_count) {
+ Const lane_const_;
+ switch (lane_count) {
case 4:
- result = ParseFloat(literal.type, s, end,
- reinterpret_cast<uint32_t*>(lane_ptr));
+ result = ParseF32(&lane_const_, const_type);
+ const_->set_v128_f32(lane, lane_const_.f32_bits());
break;
+
case 2:
- result = ParseDouble(literal.type, s, end,
- reinterpret_cast<uint64_t*>(lane_ptr));
+ result = ParseF64(&lane_const_, const_type);
+ const_->set_v128_f64(lane, lane_const_.f64_bits());
break;
}
+
+ const_->set_expected_nan(lane, lane_const_.expected_nan());
}
if (Failed(result)) {
- Error(loc, "invalid literal \"" PRIstringview "\"",
- WABT_PRINTF_STRING_VIEW_ARG(literal.text));
+ Error(loc, "invalid literal \"%s\"", token.to_string().c_str());
return Result::Error;
}
}
- const_->set_vec128(Bitcast<v128>(v128_bytes));
-
return Result::Ok;
}
@@ -2196,83 +2242,91 @@ Result WastParser::ParseExpectedNan(ExpectedNan* expected) {
return Result::Ok;
}
-Result WastParser::ParseConst(Const* const_, ConstType type) {
+Result WastParser::ParseF32(Const* const_, ConstType const_type) {
+ ExpectedNan expected;
+ if (const_type == ConstType::Expectation &&
+ Succeeded(ParseExpectedNan(&expected))) {
+ const_->set_f32(expected);
+ return Result::Ok;
+ }
+ auto literal = Consume().literal();
+ uint32_t f32_bits;
+ Result result = ParseFloat(literal.type, literal.text.begin(),
+ literal.text.end(), &f32_bits);
+ const_->set_f32(f32_bits);
+ return result;
+}
+
+Result WastParser::ParseF64(Const* const_, ConstType const_type) {
+ ExpectedNan expected;
+ if (const_type == ConstType::Expectation &&
+ Succeeded(ParseExpectedNan(&expected))) {
+ const_->set_f64(expected);
+ return Result::Ok;
+ }
+ auto literal = Consume().literal();
+ uint64_t f64_bits;
+ Result result = ParseDouble(literal.type, literal.text.begin(),
+ literal.text.end(), &f64_bits);
+ const_->set_f64(f64_bits);
+ return result;
+}
+
+Result WastParser::ParseConst(Const* const_, ConstType const_type) {
WABT_TRACE(ParseConst);
- Token token = Consume();
- Opcode opcode = token.opcode();
- Literal literal;
- string_view sv;
- const char* s;
- const char* end;
+ Token opcode_token = Consume();
+ Opcode opcode = opcode_token.opcode();
const_->loc = GetLocation();
- TokenType token_type = Peek();
+ Token token = GetToken();
// V128 is fully handled by ParseSimdV128Const:
if (opcode != Opcode::V128Const) {
- switch (token_type) {
- case TokenType::Nat:
- case TokenType::Int:
- case TokenType::Float: {
- literal = Consume().literal();
- sv = literal.text;
- s = sv.begin();
- end = sv.end();
- break;
- }
- case TokenType::NanArithmetic:
- case TokenType::NanCanonical:
- break;
- default:
- return ErrorExpected({"a numeric literal"}, "123, -45, 6.7e8");
+ switch (token.token_type()) {
+ case TokenType::Nat:
+ case TokenType::Int:
+ case TokenType::Float:
+ // OK.
+ break;
+ case TokenType::NanArithmetic:
+ case TokenType::NanCanonical:
+ break;
+ default:
+ return ErrorExpected({"a numeric literal"}, "123, -45, 6.7e8");
}
}
Result result;
switch (opcode) {
case Opcode::I32Const: {
+ auto sv = Consume().literal().text;
uint32_t u32;
- result = ParseInt32(s, end, &u32, ParseIntType::SignedAndUnsigned);
+ result = ParseInt32(sv.begin(), sv.end(), &u32,
+ ParseIntType::SignedAndUnsigned);
const_->set_u32(u32);
break;
}
case Opcode::I64Const: {
+ auto sv = Consume().literal().text;
uint64_t u64;
- result = ParseInt64(s, end, &u64, ParseIntType::SignedAndUnsigned);
+ result = ParseInt64(sv.begin(), sv.end(), &u64,
+ ParseIntType::SignedAndUnsigned);
const_->set_u64(u64);
break;
}
- case Opcode::F32Const: {
- ExpectedNan expected;
- if (type == ConstType::Expectation &&
- Succeeded(ParseExpectedNan(&expected))) {
- const_->set_f32(expected);
- break;
- }
- uint32_t f32_bits;
- result = ParseFloat(literal.type, s, end, &f32_bits);
- const_->set_f32(f32_bits);
+ case Opcode::F32Const:
+ result = ParseF32(const_, const_type);
break;
- }
- case Opcode::F64Const: {
- ExpectedNan expected;
- if (type == ConstType::Expectation &&
- Succeeded(ParseExpectedNan(&expected))) {
- const_->set_f64(expected);
- break;
- }
- uint64_t f64_bits;
- result = ParseDouble(literal.type, s, end, &f64_bits);
- const_->set_f64(f64_bits);
+ case Opcode::F64Const:
+ result = ParseF64(const_, const_type);
break;
- }
case Opcode::V128Const:
- ErrorUnlessOpcodeEnabled(token);
+ ErrorUnlessOpcodeEnabled(opcode_token);
// Parse V128 Simd Const (16 bytes).
- result = ParseSimdV128Const(const_, token_type);
+ result = ParseSimdV128Const(const_, token.token_type(), const_type);
// ParseSimdV128Const report error already, just return here if parser get
// errors.
if (Failed(result)) {
@@ -2286,8 +2340,7 @@ Result WastParser::ParseConst(Const* const_, ConstType type) {
}
if (Failed(result)) {
- Error(const_->loc, "invalid literal \"" PRIstringview "\"",
- WABT_PRINTF_STRING_VIEW_ARG(literal.text));
+ Error(const_->loc, "invalid literal \"%s\"", token.to_string().c_str());
// Return if parser get errors.
return Result::Error;
}
diff --git a/src/wast-parser.h b/src/wast-parser.h
index 7ddaf3b8..7dd4d038 100644
--- a/src/wast-parser.h
+++ b/src/wast-parser.h
@@ -169,6 +169,8 @@ class WastParser {
Result ParseTerminatingInstrList(ExprList*);
Result ParseInstr(ExprList*);
Result ParsePlainInstr(std::unique_ptr<Expr>*);
+ Result ParseF32(Const*, ConstType type);
+ Result ParseF64(Const*, ConstType type);
Result ParseConst(Const*, ConstType type);
Result ParseHostRef(Const*);
Result ParseExpectedNan(ExpectedNan* expected);
@@ -214,7 +216,7 @@ class WastParser {
template <typename T>
Result ParseAssertScriptModuleCommand(TokenType, CommandPtr*);
- Result ParseSimdV128Const(Const*, TokenType);
+ Result ParseSimdV128Const(Const*, TokenType, ConstType);
void CheckImportOrdering(Module*);
diff --git a/test/parse/expr/bad-simd-shuffle-lane-index-overflow2.txt b/test/parse/expr/bad-simd-shuffle-lane-index-overflow2.txt
index b1feedc9..47717ff0 100644
--- a/test/parse/expr/bad-simd-shuffle-lane-index-overflow2.txt
+++ b/test/parse/expr/bad-simd-shuffle-lane-index-overflow2.txt
@@ -6,10 +6,11 @@
v128.const i32x4 0xff00ff01 0xff00ff0f 0xff00ffff 0xff00ff7f
v128.const i32x4 0x00550055 0x00550055 0x00550055 0x00550155
v8x16.shuffle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 33
+ drop
))
(;; STDERR ;;;
-out/test/parse/expr/bad-simd-shuffle-lane-index-overflow2.txt:8:55: error: shuffle index "33" out-of-range [0, 32)
+out/test/parse/expr/bad-simd-shuffle-lane-index-overflow2.txt:8:5: error: lane index must be less than 32 (got 33)
v8x16.shuffle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 33
- ^^
+ ^^^^^^^^^^^^^
;;; STDERR ;;)
diff --git a/test/spec/simd/simd_address.txt b/test/spec/simd/simd_address.txt
new file mode 100644
index 00000000..db35b20c
--- /dev/null
+++ b/test/spec/simd/simd_address.txt
@@ -0,0 +1,31 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_address.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_address.wast:86: assert_trap passed: out of bounds memory access: access at 65521+16 >= max value 65536
+out/test/spec/simd/simd_address.wast:104: assert_trap passed: out of bounds memory access: access at 65521+16 >= max value 65536
+out/test/spec/simd/simd_address.wast:107: assert_malformed passed:
+ out/test/spec/simd/simd_address/simd_address.2.wat:1:35: error: unexpected token offset=-1, expected ).
+ (memory 1)(func (drop (v128.load offset=-1 (i32.const 0))))
+ ^^^^^^^^^
+ out/test/spec/simd/simd_address/simd_address.2.wat:1:60: error: unexpected token ), expected EOF.
+ (memory 1)(func (drop (v128.load offset=-1 (i32.const 0))))
+ ^
+out/test/spec/simd/simd_address.wast:122: assert_trap passed: out of bounds memory access: access at 65521+16 >= max value 65536
+out/test/spec/simd/simd_address.wast:125: assert_malformed passed:
+ out/test/spec/simd/simd_address/simd_address.4.wat:1:30: error: unexpected token offset=-1, expected ).
+ (memory 1)(func (v128.store offset=-1 (i32.const 0) (v128.const i32x4 0 0 0 ...
+ ^^^^^^^^^
+ out/test/spec/simd/simd_address/simd_address.4.wat:1:81: error: unexpected token ), expected EOF.
+ ...ory 1)(func (v128.store offset=-1 (i32.const 0) (v128.const i32x4 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_address.wast:138: assert_malformed passed:
+ out/test/spec/simd/simd_address/simd_address.5.wat:1:34: error: offset must be less than or equal to 0xffffffff
+ (memory 1)(func (drop (v128.load offset=4294967296 (i32.const 0))))
+ ^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_address.wast:146: assert_malformed passed:
+ out/test/spec/simd/simd_address/simd_address.6.wat:1:29: error: offset must be less than or equal to 0xffffffff
+ (memory 1)(func (v128.store offset=4294967296 (i32.const 0) (v128.const i32x4...
+ ^^^^^^^^^^^^^^^^^
+43/43 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_align.txt b/test/spec/simd/simd_align.txt
new file mode 100644
index 00000000..41c77e1f
--- /dev/null
+++ b/test/spec/simd/simd_align.txt
@@ -0,0 +1,214 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_align.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_align.wast:54: assert_invalid passed:
+ error: alignment must not be larger than natural alignment (16)
+ 0000022: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_align.wast:58: assert_invalid passed:
+ error: alignment must not be larger than natural alignment (16)
+ 0000034: error: OnStoreExpr callback failed
+out/test/spec/simd/simd_align.wast:62: assert_invalid passed:
+ error: alignment must not be larger than natural alignment (8)
+ 0000024: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_align.wast:66: assert_invalid passed:
+ error: alignment must not be larger than natural alignment (8)
+ 0000024: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_align.wast:70: assert_invalid passed:
+ error: alignment must not be larger than natural alignment (8)
+ 0000024: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_align.wast:74: assert_invalid passed:
+ error: alignment must not be larger than natural alignment (8)
+ 0000024: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_align.wast:78: assert_invalid passed:
+ error: alignment must not be larger than natural alignment (8)
+ 0000024: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_align.wast:82: assert_invalid passed:
+ error: alignment must not be larger than natural alignment (8)
+ 0000024: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_align.wast:86: assert_invalid passed:
+ error: alignment must not be larger than natural alignment (1)
+ 0000024: error: OnLoadSplatExpr callback failed
+out/test/spec/simd/simd_align.wast:90: assert_invalid passed:
+ error: alignment must not be larger than natural alignment (2)
+ 0000024: error: OnLoadSplatExpr callback failed
+out/test/spec/simd/simd_align.wast:94: assert_invalid passed:
+ error: alignment must not be larger than natural alignment (4)
+ 0000024: error: OnLoadSplatExpr callback failed
+out/test/spec/simd/simd_align.wast:98: assert_invalid passed:
+ error: alignment must not be larger than natural alignment (8)
+ 0000024: error: OnLoadSplatExpr callback failed
+out/test/spec/simd/simd_align.wast:105: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.56.wat:1:35: error: unexpected token align=-1, expected ).
+ (memory 1) (func (drop (v128.load align=-1 (i32.const 0))))
+ ^^^^^^^^
+ out/test/spec/simd/simd_align/simd_align.56.wat:1:59: error: unexpected token ), expected EOF.
+ (memory 1) (func (drop (v128.load align=-1 (i32.const 0))))
+ ^
+out/test/spec/simd/simd_align.wast:111: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.57.wat:1:35: error: alignment must be power-of-two
+ (memory 1) (func (drop (v128.load align=0 (i32.const 0))))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:117: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.58.wat:1:35: error: alignment must be power-of-two
+ (memory 1) (func (drop (v128.load align=7 (i32.const 0))))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:123: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.59.wat:1:30: error: unexpected token align=-1, expected ).
+ (memory 1) (func (v128.store align=-1 (i32.const 0) (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^
+ out/test/spec/simd/simd_align/simd_align.59.wat:1:80: error: unexpected token ), expected EOF.
+ (memory 1) (func (v128.store align=-1 (i32.const 0) (v128.const i32x4 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_align.wast:129: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.60.wat:1:30: error: alignment must be power-of-two
+ (memory 0) (func (v128.store align=0 (i32.const 0) (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:135: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.61.wat:1:30: error: alignment must be power-of-two
+ (memory 0) (func (v128.store align=7 (i32.const 0) (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:141: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.62.wat:1:49: error: unexpected token align=-1, expected ).
+ (memory 1) (func (result v128) (i16x8.load8x8_s align=-1 (i32.const 0)))
+ ^^^^^^^^
+ out/test/spec/simd/simd_align/simd_align.62.wat:1:72: error: unexpected token ), expected EOF.
+ (memory 1) (func (result v128) (i16x8.load8x8_s align=-1 (i32.const 0)))
+ ^
+out/test/spec/simd/simd_align.wast:147: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.63.wat:1:49: error: alignment must be power-of-two
+ (memory 1) (func (result v128) (i16x8.load8x8_s align=0 (i32.const 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:153: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.64.wat:1:49: error: alignment must be power-of-two
+ (memory 1) (func (result v128) (i16x8.load8x8_s align=7 (i32.const 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:159: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.65.wat:1:49: error: unexpected token align=-1, expected ).
+ (memory 1) (func (result v128) (i16x8.load8x8_u align=-1 (i32.const 0)))
+ ^^^^^^^^
+ out/test/spec/simd/simd_align/simd_align.65.wat:1:72: error: unexpected token ), expected EOF.
+ (memory 1) (func (result v128) (i16x8.load8x8_u align=-1 (i32.const 0)))
+ ^
+out/test/spec/simd/simd_align.wast:165: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.66.wat:1:49: error: alignment must be power-of-two
+ (memory 1) (func (result v128) (i16x8.load8x8_u align=0 (i32.const 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:171: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.67.wat:1:49: error: alignment must be power-of-two
+ (memory 1) (func (result v128) (i16x8.load8x8_u align=7 (i32.const 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:177: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.68.wat:1:50: error: unexpected token align=-1, expected ).
+ (memory 1) (func (result v128) (i32x4.load16x4_s align=-1 (i32.const 0)))
+ ^^^^^^^^
+ out/test/spec/simd/simd_align/simd_align.68.wat:1:73: error: unexpected token ), expected EOF.
+ (memory 1) (func (result v128) (i32x4.load16x4_s align=-1 (i32.const 0)))
+ ^
+out/test/spec/simd/simd_align.wast:183: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.69.wat:1:50: error: alignment must be power-of-two
+ (memory 1) (func (result v128) (i32x4.load16x4_s align=0 (i32.const 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:189: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.70.wat:1:50: error: alignment must be power-of-two
+ (memory 1) (func (result v128) (i32x4.load16x4_s align=7 (i32.const 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:195: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.71.wat:1:50: error: unexpected token align=-1, expected ).
+ (memory 1) (func (result v128) (i32x4.load16x4_u align=-1 (i32.const 0)))
+ ^^^^^^^^
+ out/test/spec/simd/simd_align/simd_align.71.wat:1:73: error: unexpected token ), expected EOF.
+ (memory 1) (func (result v128) (i32x4.load16x4_u align=-1 (i32.const 0)))
+ ^
+out/test/spec/simd/simd_align.wast:201: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.72.wat:1:50: error: alignment must be power-of-two
+ (memory 1) (func (result v128) (i32x4.load16x4_u align=0 (i32.const 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:207: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.73.wat:1:50: error: alignment must be power-of-two
+ (memory 1) (func (result v128) (i32x4.load16x4_u align=7 (i32.const 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:213: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.74.wat:1:50: error: unexpected token align=-1, expected ).
+ (memory 1) (func (result v128) (i64x2.load32x2_s align=-1 (i32.const 0)))
+ ^^^^^^^^
+ out/test/spec/simd/simd_align/simd_align.74.wat:1:73: error: unexpected token ), expected EOF.
+ (memory 1) (func (result v128) (i64x2.load32x2_s align=-1 (i32.const 0)))
+ ^
+out/test/spec/simd/simd_align.wast:219: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.75.wat:1:50: error: alignment must be power-of-two
+ (memory 1) (func (result v128) (i64x2.load32x2_s align=0 (i32.const 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:225: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.76.wat:1:50: error: alignment must be power-of-two
+ (memory 1) (func (result v128) (i64x2.load32x2_s align=7 (i32.const 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:231: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.77.wat:1:50: error: unexpected token align=-1, expected ).
+ (memory 1) (func (result v128) (i64x2.load32x2_u align=-1 (i32.const 0)))
+ ^^^^^^^^
+ out/test/spec/simd/simd_align/simd_align.77.wat:1:73: error: unexpected token ), expected EOF.
+ (memory 1) (func (result v128) (i64x2.load32x2_u align=-1 (i32.const 0)))
+ ^
+out/test/spec/simd/simd_align.wast:237: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.78.wat:1:50: error: alignment must be power-of-two
+ (memory 1) (func (result v128) (i64x2.load32x2_u align=0 (i32.const 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:243: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.79.wat:1:50: error: alignment must be power-of-two
+ (memory 1) (func (result v128) (i64x2.load32x2_u align=7 (i32.const 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:249: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.80.wat:1:50: error: unexpected token align=-1, expected ).
+ (memory 1) (func (result v128) (v8x16.load_splat align=-1 (i32.const 0)))
+ ^^^^^^^^
+ out/test/spec/simd/simd_align/simd_align.80.wat:1:73: error: unexpected token ), expected EOF.
+ (memory 1) (func (result v128) (v8x16.load_splat align=-1 (i32.const 0)))
+ ^
+out/test/spec/simd/simd_align.wast:255: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.81.wat:1:50: error: alignment must be power-of-two
+ (memory 1) (func (result v128) (v8x16.load_splat align=0 (i32.const 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:261: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.82.wat:1:50: error: unexpected token align=-1, expected ).
+ (memory 1) (func (result v128) (v16x8.load_splat align=-1 (i32.const 0)))
+ ^^^^^^^^
+ out/test/spec/simd/simd_align/simd_align.82.wat:1:73: error: unexpected token ), expected EOF.
+ (memory 1) (func (result v128) (v16x8.load_splat align=-1 (i32.const 0)))
+ ^
+out/test/spec/simd/simd_align.wast:267: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.83.wat:1:50: error: alignment must be power-of-two
+ (memory 1) (func (result v128) (v16x8.load_splat align=0 (i32.const 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:273: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.84.wat:1:50: error: unexpected token align=-1, expected ).
+ (memory 1) (func (result v128) (v32x4.load_splat align=-1 (i32.const 0)))
+ ^^^^^^^^
+ out/test/spec/simd/simd_align/simd_align.84.wat:1:73: error: unexpected token ), expected EOF.
+ (memory 1) (func (result v128) (v32x4.load_splat align=-1 (i32.const 0)))
+ ^
+out/test/spec/simd/simd_align.wast:279: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.85.wat:1:50: error: alignment must be power-of-two
+ (memory 1) (func (result v128) (v32x4.load_splat align=0 (i32.const 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:285: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.86.wat:1:50: error: alignment must be power-of-two
+ (memory 1) (func (result v128) (v32x4.load_splat align=3 (i32.const 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:291: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.87.wat:1:50: error: unexpected token align=-1, expected ).
+ (memory 1) (func (result v128) (v64x2.load_splat align=-1 (i32.const 0)))
+ ^^^^^^^^
+ out/test/spec/simd/simd_align/simd_align.87.wat:1:73: error: unexpected token ), expected EOF.
+ (memory 1) (func (result v128) (v64x2.load_splat align=-1 (i32.const 0)))
+ ^
+out/test/spec/simd/simd_align.wast:297: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.88.wat:1:50: error: alignment must be power-of-two
+ (memory 1) (func (result v128) (v64x2.load_splat align=0 (i32.const 0)))
+ ^^^^^^^
+out/test/spec/simd/simd_align.wast:303: assert_malformed passed:
+ out/test/spec/simd/simd_align/simd_align.89.wat:1:50: error: alignment must be power-of-two
+ (memory 1) (func (result v128) (v64x2.load_splat align=7 (i32.const 0)))
+ ^^^^^^^
+54/54 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_bit_shift.txt b/test/spec/simd/simd_bit_shift.txt
new file mode 100644
index 00000000..2ad5b03b
--- /dev/null
+++ b/test/spec/simd/simd_bit_shift.txt
@@ -0,0 +1,138 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_bit_shift.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_bit_shift.wast:976: assert_invalid passed:
+ error: type mismatch in i8x16.shl, expected [v128, i32] but got [i32, i32]
+ 000001e: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:977: assert_invalid passed:
+ error: type mismatch in i8x16.shr_s, expected [v128, i32] but got [i32, i32]
+ 000001e: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:978: assert_invalid passed:
+ error: type mismatch in i8x16.shr_u, expected [v128, i32] but got [i32, i32]
+ 000001e: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:979: assert_invalid passed:
+ error: type mismatch in i16x8.shl, expected [v128, i32] but got [i32, i32]
+ 000001e: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:980: assert_invalid passed:
+ error: type mismatch in i16x8.shr_s, expected [v128, i32] but got [i32, i32]
+ 000001e: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:981: assert_invalid passed:
+ error: type mismatch in i16x8.shr_u, expected [v128, i32] but got [i32, i32]
+ 000001e: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:982: assert_invalid passed:
+ error: type mismatch in i32x4.shl, expected [v128, i32] but got [i32, i32]
+ 000001e: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:983: assert_invalid passed:
+ error: type mismatch in i32x4.shr_s, expected [v128, i32] but got [i32, i32]
+ 000001e: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:984: assert_invalid passed:
+ error: type mismatch in i32x4.shr_u, expected [v128, i32] but got [i32, i32]
+ 000001e: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:985: assert_invalid passed:
+ error: type mismatch in i64x2.shl, expected [v128, i32] but got [i32, i32]
+ 000001f: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:986: assert_invalid passed:
+ error: type mismatch in i64x2.shr_s, expected [v128, i32] but got [i32, i32]
+ 000001f: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:987: assert_invalid passed:
+ error: type mismatch in i64x2.shr_u, expected [v128, i32] but got [i32, i32]
+ 000001f: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:991: assert_malformed passed:
+ out/test/spec/simd/simd_bit_shift/simd_bit_shift.14.wat:1:33: error: unexpected token "i8x16.shl_s", expected an instr.
+ (memory 1) (func (result v128) (i8x16.shl_s (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_bit_shift.wast:992: assert_malformed passed:
+ out/test/spec/simd/simd_bit_shift/simd_bit_shift.15.wat:1:33: error: unexpected token "i8x16.shl_r", expected an instr.
+ (memory 1) (func (result v128) (i8x16.shl_r (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_bit_shift.wast:993: assert_malformed passed:
+ out/test/spec/simd/simd_bit_shift/simd_bit_shift.16.wat:1:33: error: unexpected token "i8x16.shr", expected an instr.
+ (memory 1) (func (result v128) (i8x16.shr (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^
+out/test/spec/simd/simd_bit_shift.wast:994: assert_malformed passed:
+ out/test/spec/simd/simd_bit_shift/simd_bit_shift.17.wat:1:33: error: unexpected token "i16x8.shl_s", expected an instr.
+ (memory 1) (func (result v128) (i16x8.shl_s (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_bit_shift.wast:995: assert_malformed passed:
+ out/test/spec/simd/simd_bit_shift/simd_bit_shift.18.wat:1:33: error: unexpected token "i16x8.shl_r", expected an instr.
+ (memory 1) (func (result v128) (i16x8.shl_r (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_bit_shift.wast:996: assert_malformed passed:
+ out/test/spec/simd/simd_bit_shift/simd_bit_shift.19.wat:1:33: error: unexpected token "i16x8.shr", expected an instr.
+ (memory 1) (func (result v128) (i16x8.shr (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^
+out/test/spec/simd/simd_bit_shift.wast:997: assert_malformed passed:
+ out/test/spec/simd/simd_bit_shift/simd_bit_shift.20.wat:1:33: error: unexpected token "i32x4.shl_s", expected an instr.
+ (memory 1) (func (result v128) (i32x4.shl_s (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_bit_shift.wast:998: assert_malformed passed:
+ out/test/spec/simd/simd_bit_shift/simd_bit_shift.21.wat:1:33: error: unexpected token "i32x4.shl_r", expected an instr.
+ (memory 1) (func (result v128) (i32x4.shl_r (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_bit_shift.wast:999: assert_malformed passed:
+ out/test/spec/simd/simd_bit_shift/simd_bit_shift.22.wat:1:33: error: unexpected token "i32x4.shr", expected an instr.
+ (memory 1) (func (result v128) (i32x4.shr (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^
+out/test/spec/simd/simd_bit_shift.wast:1000: assert_malformed passed:
+ out/test/spec/simd/simd_bit_shift/simd_bit_shift.23.wat:1:33: error: unexpected token "i64x2.shl_s", expected an instr.
+ (memory 1) (func (result v128) (i64x2.shl_s (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_bit_shift.wast:1001: assert_malformed passed:
+ out/test/spec/simd/simd_bit_shift/simd_bit_shift.24.wat:1:33: error: unexpected token "i64x2.shl_r", expected an instr.
+ (memory 1) (func (result v128) (i64x2.shl_r (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_bit_shift.wast:1002: assert_malformed passed:
+ out/test/spec/simd/simd_bit_shift/simd_bit_shift.25.wat:1:33: error: unexpected token "i64x2.shr", expected an instr.
+ (memory 1) (func (result v128) (i64x2.shr (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^
+out/test/spec/simd/simd_bit_shift.wast:1003: assert_malformed passed:
+ out/test/spec/simd/simd_bit_shift/simd_bit_shift.26.wat:1:33: error: unexpected token "f32x4.shl", expected an instr.
+ (memory 1) (func (result v128) (f32x4.shl (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^
+out/test/spec/simd/simd_bit_shift.wast:1004: assert_malformed passed:
+ out/test/spec/simd/simd_bit_shift/simd_bit_shift.27.wat:1:33: error: unexpected token "f32x4.shr_s", expected an instr.
+ (memory 1) (func (result v128) (f32x4.shr_s (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_bit_shift.wast:1005: assert_malformed passed:
+ out/test/spec/simd/simd_bit_shift/simd_bit_shift.28.wat:1:33: error: unexpected token "f32x4.shr_u", expected an instr.
+ (memory 1) (func (result v128) (f32x4.shr_u (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_bit_shift.wast:1010: assert_invalid passed:
+ error: type mismatch in i8x16.shl, expected [v128, i32] but got [i32]
+ 000001c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:1018: assert_invalid passed:
+ error: type mismatch in i8x16.shl, expected [v128, i32] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:1026: assert_invalid passed:
+ error: type mismatch in i8x16.shl, expected [v128, i32] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:1034: assert_invalid passed:
+ error: type mismatch in i16x8.shr_u, expected [v128, i32] but got [i32]
+ 000001c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:1042: assert_invalid passed:
+ error: type mismatch in i16x8.shr_u, expected [v128, i32] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:1050: assert_invalid passed:
+ error: type mismatch in i16x8.shr_u, expected [v128, i32] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:1058: assert_invalid passed:
+ error: type mismatch in i32x4.shr_s, expected [v128, i32] but got [i32]
+ 000001c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:1066: assert_invalid passed:
+ error: type mismatch in i32x4.shr_s, expected [v128, i32] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:1074: assert_invalid passed:
+ error: type mismatch in i32x4.shr_s, expected [v128, i32] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:1082: assert_invalid passed:
+ error: type mismatch in i64x2.shl, expected [v128, i32] but got [i32]
+ 000001d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:1090: assert_invalid passed:
+ error: type mismatch in i64x2.shr_u, expected [v128, i32] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bit_shift.wast:1098: assert_invalid passed:
+ error: type mismatch in i64x2.shr_s, expected [v128, i32] but got []
+ 000001b: error: OnBinaryExpr callback failed
+250/250 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_bitwise.txt b/test/spec/simd/simd_bitwise.txt
new file mode 100644
index 00000000..ac3b66ec
--- /dev/null
+++ b/test/spec/simd/simd_bitwise.txt
@@ -0,0 +1,90 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_bitwise.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_bitwise.wast:405: assert_invalid passed:
+ error: type mismatch in v128.not, expected [v128] but got [i32]
+ 000001c: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:407: assert_invalid passed:
+ error: type mismatch in v128.and, expected [v128, v128] but got [i32, v128]
+ 000002e: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:408: assert_invalid passed:
+ error: type mismatch in v128.and, expected [v128, v128] but got [v128, i32]
+ 000002e: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:409: assert_invalid passed:
+ error: type mismatch in v128.and, expected [v128, v128] but got [i32, i32]
+ 000001e: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:411: assert_invalid passed:
+ error: type mismatch in v128.or, expected [v128, v128] but got [i32, v128]
+ 000002e: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:412: assert_invalid passed:
+ error: type mismatch in v128.or, expected [v128, v128] but got [v128, i32]
+ 000002e: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:413: assert_invalid passed:
+ error: type mismatch in v128.or, expected [v128, v128] but got [i32, i32]
+ 000001e: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:415: assert_invalid passed:
+ error: type mismatch in v128.xor, expected [v128, v128] but got [i32, v128]
+ 000002e: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:416: assert_invalid passed:
+ error: type mismatch in v128.xor, expected [v128, v128] but got [v128, i32]
+ 000002e: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:417: assert_invalid passed:
+ error: type mismatch in v128.xor, expected [v128, v128] but got [i32, i32]
+ 000001e: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:419: assert_invalid passed:
+ error: type mismatch in v128.bitselect, expected [v128, v128, v128] but got [i32, v128, v128]
+ 0000040: error: OnTernaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:420: assert_invalid passed:
+ error: type mismatch in v128.bitselect, expected [v128, v128, v128] but got [v128, v128, i32]
+ 0000040: error: OnTernaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:421: assert_invalid passed:
+ error: type mismatch in v128.bitselect, expected [v128, v128, v128] but got [i32, i32, i32]
+ 0000020: error: OnTernaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:423: assert_invalid passed:
+ error: type mismatch in v128.andnot, expected [v128, v128] but got [i32, v128]
+ 000002f: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:424: assert_invalid passed:
+ error: type mismatch in v128.andnot, expected [v128, v128] but got [v128, i32]
+ 000002f: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:425: assert_invalid passed:
+ error: type mismatch in v128.andnot, expected [v128, v128] but got [i32, i32]
+ 000001f: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:718: assert_invalid passed:
+ error: type mismatch in v128.not, expected [v128] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:726: assert_invalid passed:
+ error: type mismatch in v128.and, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:734: assert_invalid passed:
+ error: type mismatch in v128.and, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:742: assert_invalid passed:
+ error: type mismatch in v128.or, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:750: assert_invalid passed:
+ error: type mismatch in v128.or, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:758: assert_invalid passed:
+ error: type mismatch in v128.xor, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:766: assert_invalid passed:
+ error: type mismatch in v128.xor, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:774: assert_invalid passed:
+ error: type mismatch in v128.andnot, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:782: assert_invalid passed:
+ error: type mismatch in v128.andnot, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:790: assert_invalid passed:
+ error: type mismatch in v128.bitselect, expected [v128, v128, v128] but got [v128, v128]
+ 000003e: error: OnTernaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:798: assert_invalid passed:
+ error: type mismatch in v128.bitselect, expected [v128, v128, v128] but got [v128]
+ 000002c: error: OnTernaryExpr callback failed
+out/test/spec/simd/simd_bitwise.wast:806: assert_invalid passed:
+ error: type mismatch in v128.bitselect, expected [v128, v128, v128] but got []
+ 000001a: error: OnTernaryExpr callback failed
+167/167 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_boolean.txt b/test/spec/simd/simd_boolean.txt
new file mode 100644
index 00000000..11d05553
--- /dev/null
+++ b/test/spec/simd/simd_boolean.txt
@@ -0,0 +1,58 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_boolean.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_boolean.wast:952: assert_invalid passed:
+ error: type mismatch in i8x16.any_true, expected [v128] but got [i32]
+ 000001c: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_boolean.wast:953: assert_invalid passed:
+ error: type mismatch in i8x16.all_true, expected [v128] but got [i32]
+ 000001c: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_boolean.wast:954: assert_invalid passed:
+ error: type mismatch in i16x8.any_true, expected [v128] but got [i32]
+ 000001c: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_boolean.wast:955: assert_invalid passed:
+ error: type mismatch in i16x8.all_true, expected [v128] but got [i32]
+ 000001c: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_boolean.wast:956: assert_invalid passed:
+ error: type mismatch in i32x4.any_true, expected [v128] but got [i32]
+ 000001c: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_boolean.wast:957: assert_invalid passed:
+ error: type mismatch in i32x4.all_true, expected [v128] but got [i32]
+ 000001c: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_boolean.wast:961: assert_malformed passed:
+ out/test/spec/simd/simd_boolean/simd_boolean.8.wat:1:32: error: unexpected token "f32x4.any_true", expected an instr.
+ (memory 1) (func (result i32) (f32x4.any_true (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^^^^
+out/test/spec/simd/simd_boolean.wast:962: assert_malformed passed:
+ out/test/spec/simd/simd_boolean/simd_boolean.9.wat:1:32: error: unexpected token "f32x4.all_true", expected an instr.
+ (memory 1) (func (result i32) (f32x4.all_true (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^^^^
+out/test/spec/simd/simd_boolean.wast:963: assert_malformed passed:
+ out/test/spec/simd/simd_boolean/simd_boolean.10.wat:1:32: error: unexpected token "f64x2.any_true", expected an instr.
+ (memory 1) (func (result i32) (f64x2.any_true (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^^^^
+out/test/spec/simd/simd_boolean.wast:964: assert_malformed passed:
+ out/test/spec/simd/simd_boolean/simd_boolean.11.wat:1:32: error: unexpected token "f64x2.all_true", expected an instr.
+ (memory 1) (func (result i32) (f64x2.all_true (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^^^^
+out/test/spec/simd/simd_boolean.wast:969: assert_invalid passed:
+ error: type mismatch in i8x16.any_true, expected [v128] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_boolean.wast:977: assert_invalid passed:
+ error: type mismatch in i8x16.all_true, expected [v128] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_boolean.wast:985: assert_invalid passed:
+ error: type mismatch in i16x8.any_true, expected [v128] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_boolean.wast:993: assert_invalid passed:
+ error: type mismatch in i16x8.all_true, expected [v128] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_boolean.wast:1001: assert_invalid passed:
+ error: type mismatch in i32x4.any_true, expected [v128] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_boolean.wast:1009: assert_invalid passed:
+ error: type mismatch in i32x4.all_true, expected [v128] but got []
+ 000001a: error: OnUnaryExpr callback failed
+258/258 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_const.txt b/test/spec/simd/simd_const.txt
new file mode 100644
index 00000000..b02fb172
--- /dev/null
+++ b/test/spec/simd/simd_const.txt
@@ -0,0 +1,1765 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_const.wast
+;;; ARGS*: --enable-simd --enable-reference-types
+;;; NOTE: reference types is only required because the test uses two tables
+(;; STDOUT ;;;
+out/test/spec/simd/simd_const.wast:130: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.113.wat:1:25: error: invalid literal "0x100"
+ (func (v128.const i8x16 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100...
+ ^^^^^
+out/test/spec/simd/simd_const.wast:134: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.114.wat:1:25: error: invalid literal "-0x81"
+ (func (v128.const i8x16 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81...
+ ^^^^^
+out/test/spec/simd/simd_const.wast:138: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.115.wat:1:25: error: invalid literal "256"
+ (func (v128.const i8x16 256 256 256 256 256 256 256 256 256 256 256 256 256 2...
+ ^^^
+out/test/spec/simd/simd_const.wast:142: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.116.wat:1:25: error: invalid literal "-129"
+ (func (v128.const i8x16 -129 -129 -129 -129 -129 -129 -129 -129 -129 -129 -12...
+ ^^^^
+out/test/spec/simd/simd_const.wast:146: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.117.wat:1:25: error: invalid literal "0x10000"
+ (func (v128.const i16x8 0x10000 0x10000 0x10000 0x10000 0x10000 0x10000 0x100...
+ ^^^^^^^
+out/test/spec/simd/simd_const.wast:150: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.118.wat:1:25: error: invalid literal "-0x8001"
+ (func (v128.const i16x8 -0x8001 -0x8001 -0x8001 -0x8001 -0x8001 -0x8001 -0x80...
+ ^^^^^^^
+out/test/spec/simd/simd_const.wast:154: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.119.wat:1:25: error: invalid literal "65536"
+ (func (v128.const i16x8 65536 65536 65536 65536 65536 65536 65536 65536) drop)
+ ^^^^^
+out/test/spec/simd/simd_const.wast:158: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.120.wat:1:25: error: invalid literal "-32769"
+ (func (v128.const i16x8 -32769 -32769 -32769 -32769 -32769 -32769 -32769 -327...
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:162: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.121.wat:1:26: error: invalid literal "0x100000000"
+ (func (v128.const i32x4 0x100000000 0x100000000 0x100000000 0x100000000) ...
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_const.wast:166: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.122.wat:1:25: error: invalid literal "-0x80000001"
+ (func (v128.const i32x4 -0x80000001 -0x80000001 -0x80000001 -0x80000001) drop)
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_const.wast:170: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.123.wat:1:26: error: invalid literal "4294967296"
+ (func (v128.const i32x4 4294967296 4294967296 4294967296 4294967296) drop)
+ ^^^^^^^^^^
+out/test/spec/simd/simd_const.wast:174: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.124.wat:1:25: error: invalid literal "-2147483649"
+ (func (v128.const i32x4 -2147483649 -2147483649 -2147483649 -2147483649) drop)
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_const.wast:178: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.125.wat:1:26: error: invalid literal "0x1p128"
+ (func (v128.const f32x4 0x1p128 0x1p128 0x1p128 0x1p128) drop)
+ ^^^^^^^
+out/test/spec/simd/simd_const.wast:182: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.126.wat:1:25: error: invalid literal "-0x1p128"
+ (func (v128.const f32x4 -0x1p128 -0x1p128 -0x1p128 -0x1p128) drop)
+ ^^^^^^^^
+out/test/spec/simd/simd_const.wast:186: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.127.wat:1:26: error: invalid literal "1e39"
+ (func (v128.const f32x4 1e39 1e39 1e39 1e39) drop)
+ ^^^^
+out/test/spec/simd/simd_const.wast:190: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.128.wat:1:25: error: invalid literal "-1e39"
+ (func (v128.const f32x4 -1e39 -1e39 -1e39 -1e39) drop)
+ ^^^^^
+out/test/spec/simd/simd_const.wast:194: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.129.wat:1:26: error: invalid literal "340282356779733661637539395458142568448"
+ ...v128.const f32x4 340282356779733661637539395458142568448 3402823567797336...
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_const.wast:199: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.130.wat:1:25: error: invalid literal "-340282356779733661637539395458142568448"
+ ...v128.const f32x4 -340282356779733661637539395458142568448 -340282356779733...
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_const.wast:205: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.131.wat:1:25: error: invalid literal "nan:0x80_0000"
+ (func (v128.const f32x4 nan:0x80_0000 nan:0x80_0000 nan:0x80_0000 nan:0x80_00...
+ ^^^^^^^^^^^^^
+out/test/spec/simd/simd_const.wast:210: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.132.wat:1:26: error: invalid literal "269653970229347356221791135597556535197105851288767494898376215204735891170042808140884337949150317257310688430271573696351481990334196274152701320055306275479074865864826923114368235135583993416113802762682700913456874855354834422248712838998185022412196739306217084753107265771378949821875606039276187287552"
+ (func (v128.const f64x2 2696539702293473562217911355975565351971058512887674...
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_const.wast:215: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.133.wat:1:25: error: invalid literal "-269653970229347356221791135597556535197105851288767494898376215204735891170042808140884337949150317257310688430271573696351481990334196274152701320055306275479074865864826923114368235135583993416113802762682700913456874855354834422248712838998185022412196739306217084753107265771378949821875606039276187287552"
+ (func (v128.const f64x2 -2696539702293473562217911355975565351971058512887674...
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_const.wast:221: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.134.wat:1:25: error: invalid literal "nan:0x10_0000_0000_0000"
+ (func (v128.const f64x2 nan:0x10_0000_0000_0000 nan:0x10_0000_0000_0000) drop)
+ ^^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_const.wast:227: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.135.wat:1:18: error: Unexpected type at start of simd constant. Expected one of: i8x16, i16x8, i32x4, i64x2, f32x4, f64x2. Found ")".
+ (func (v128.const) drop)
+ ^
+out/test/spec/simd/simd_const.wast:232: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.136.wat:1:19: error: Unexpected type at start of simd constant. Expected one of: i8x16, i16x8, i32x4, i64x2, f32x4, f64x2. Found "NAT".
+ (func (v128.const 0 0 0 0) drop)
+ ^
+out/test/spec/simd/simd_const.wast:236: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.137.wat:1:24: error: unexpected token ")", expected a Nat or Integer literal (e.g. 123).
+ (func (v128.const i8x16) drop)
+ ^
+out/test/spec/simd/simd_const.wast:240: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.138.wat:1:25: error: unexpected token "0x", expected a Nat or Integer literal (e.g. 123).
+ (func (v128.const i8x16 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.138.wat:1:28: error: unexpected token 0x.
+ (func (v128.const i8x16 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.138.wat:1:31: error: unexpected token 0x.
+ (func (v128.const i8x16 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.138.wat:1:34: error: unexpected token 0x.
+ (func (v128.const i8x16 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.138.wat:1:37: error: unexpected token 0x.
+ (func (v128.const i8x16 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.138.wat:1:40: error: unexpected token 0x.
+ (func (v128.const i8x16 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.138.wat:1:43: error: unexpected token 0x.
+ (func (v128.const i8x16 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.138.wat:1:46: error: unexpected token 0x.
+ (func (v128.const i8x16 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.138.wat:1:49: error: unexpected token 0x.
+ (func (v128.const i8x16 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.138.wat:1:52: error: unexpected token 0x.
+ (func (v128.const i8x16 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.138.wat:1:55: error: unexpected token 0x.
+ (func (v128.const i8x16 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.138.wat:1:58: error: unexpected token 0x.
+ (func (v128.const i8x16 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.138.wat:1:61: error: unexpected token 0x.
+ (func (v128.const i8x16 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.138.wat:1:64: error: unexpected token 0x.
+ (func (v128.const i8x16 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.138.wat:1:67: error: unexpected token 0x.
+ (func (v128.const i8x16 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.138.wat:1:70: error: unexpected token 0x.
+ (func (v128.const i8x16 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+out/test/spec/simd/simd_const.wast:244: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.139.wat:1:25: error: unexpected token "1x", expected a Nat or Integer literal (e.g. 123).
+ (func (v128.const i8x16 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.139.wat:1:28: error: unexpected token 1x.
+ (func (v128.const i8x16 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.139.wat:1:31: error: unexpected token 1x.
+ (func (v128.const i8x16 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.139.wat:1:34: error: unexpected token 1x.
+ (func (v128.const i8x16 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.139.wat:1:37: error: unexpected token 1x.
+ (func (v128.const i8x16 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.139.wat:1:40: error: unexpected token 1x.
+ (func (v128.const i8x16 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.139.wat:1:43: error: unexpected token 1x.
+ (func (v128.const i8x16 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.139.wat:1:46: error: unexpected token 1x.
+ (func (v128.const i8x16 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.139.wat:1:49: error: unexpected token 1x.
+ (func (v128.const i8x16 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.139.wat:1:52: error: unexpected token 1x.
+ (func (v128.const i8x16 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.139.wat:1:55: error: unexpected token 1x.
+ (func (v128.const i8x16 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.139.wat:1:58: error: unexpected token 1x.
+ (func (v128.const i8x16 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.139.wat:1:61: error: unexpected token 1x.
+ (func (v128.const i8x16 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.139.wat:1:64: error: unexpected token 1x.
+ (func (v128.const i8x16 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.139.wat:1:67: error: unexpected token 1x.
+ (func (v128.const i8x16 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.139.wat:1:70: error: unexpected token 1x.
+ (func (v128.const i8x16 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+out/test/spec/simd/simd_const.wast:248: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.140.wat:1:25: error: unexpected token "0xg", expected a Nat or Integer literal (e.g. 123).
+ (func (v128.const i8x16 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0...
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.140.wat:1:29: error: unexpected token 0xg.
+ (func (v128.const i8x16 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0...
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.140.wat:1:33: error: unexpected token 0xg.
+ (func (v128.const i8x16 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0...
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.140.wat:1:37: error: unexpected token 0xg.
+ (func (v128.const i8x16 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0...
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.140.wat:1:41: error: unexpected token 0xg.
+ ...c (v128.const i8x16 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0x...
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.140.wat:1:45: error: unexpected token 0xg.
+ ...128.const i8x16 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0x...
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.140.wat:1:49: error: unexpected token 0xg.
+ ...const i8x16 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0x...
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.140.wat:1:53: error: unexpected token 0xg.
+ ...t i8x16 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) d...
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.140.wat:1:57: error: unexpected token 0xg.
+ ... i8x16 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.140.wat:1:61: error: unexpected token 0xg.
+ ... i8x16 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.140.wat:1:65: error: unexpected token 0xg.
+ ... i8x16 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.140.wat:1:69: error: unexpected token 0xg.
+ ... i8x16 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.140.wat:1:73: error: unexpected token 0xg.
+ ... i8x16 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.140.wat:1:77: error: unexpected token 0xg.
+ ... i8x16 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.140.wat:1:81: error: unexpected token 0xg.
+ ... i8x16 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.140.wat:1:85: error: unexpected token 0xg.
+ ... i8x16 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop)
+ ^^^
+out/test/spec/simd/simd_const.wast:253: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.141.wat:1:24: error: unexpected token ")", expected a Nat or Integer literal (e.g. 123).
+ (func (v128.const i16x8) drop)
+ ^
+out/test/spec/simd/simd_const.wast:257: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.142.wat:1:25: error: unexpected token "0x", expected a Nat or Integer literal (e.g. 123).
+ (func (v128.const i16x8 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.142.wat:1:28: error: unexpected token 0x.
+ (func (v128.const i16x8 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.142.wat:1:31: error: unexpected token 0x.
+ (func (v128.const i16x8 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.142.wat:1:34: error: unexpected token 0x.
+ (func (v128.const i16x8 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.142.wat:1:37: error: unexpected token 0x.
+ (func (v128.const i16x8 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.142.wat:1:40: error: unexpected token 0x.
+ (func (v128.const i16x8 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.142.wat:1:43: error: unexpected token 0x.
+ (func (v128.const i16x8 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.142.wat:1:46: error: unexpected token 0x.
+ (func (v128.const i16x8 0x 0x 0x 0x 0x 0x 0x 0x) drop)
+ ^^
+out/test/spec/simd/simd_const.wast:261: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.143.wat:1:25: error: unexpected token "1x", expected a Nat or Integer literal (e.g. 123).
+ (func (v128.const i16x8 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.143.wat:1:28: error: unexpected token 1x.
+ (func (v128.const i16x8 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.143.wat:1:31: error: unexpected token 1x.
+ (func (v128.const i16x8 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.143.wat:1:34: error: unexpected token 1x.
+ (func (v128.const i16x8 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.143.wat:1:37: error: unexpected token 1x.
+ (func (v128.const i16x8 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.143.wat:1:40: error: unexpected token 1x.
+ (func (v128.const i16x8 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.143.wat:1:43: error: unexpected token 1x.
+ (func (v128.const i16x8 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.143.wat:1:46: error: unexpected token 1x.
+ (func (v128.const i16x8 1x 1x 1x 1x 1x 1x 1x 1x) drop)
+ ^^
+out/test/spec/simd/simd_const.wast:265: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.144.wat:1:25: error: unexpected token "0xg", expected a Nat or Integer literal (e.g. 123).
+ (func (v128.const i16x8 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.144.wat:1:29: error: unexpected token 0xg.
+ (func (v128.const i16x8 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.144.wat:1:33: error: unexpected token 0xg.
+ (func (v128.const i16x8 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.144.wat:1:37: error: unexpected token 0xg.
+ (func (v128.const i16x8 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.144.wat:1:41: error: unexpected token 0xg.
+ (func (v128.const i16x8 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.144.wat:1:45: error: unexpected token 0xg.
+ (func (v128.const i16x8 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.144.wat:1:49: error: unexpected token 0xg.
+ (func (v128.const i16x8 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.144.wat:1:53: error: unexpected token 0xg.
+ (func (v128.const i16x8 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop)
+ ^^^
+out/test/spec/simd/simd_const.wast:270: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.145.wat:1:24: error: unexpected token ")", expected a Nat or Integer literal (e.g. 123).
+ (func (v128.const i32x4) drop)
+ ^
+out/test/spec/simd/simd_const.wast:274: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.146.wat:1:25: error: unexpected token "0x", expected a Nat or Integer literal (e.g. 123).
+ (func (v128.const i32x4 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.146.wat:1:28: error: unexpected token 0x.
+ (func (v128.const i32x4 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.146.wat:1:31: error: unexpected token 0x.
+ (func (v128.const i32x4 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.146.wat:1:34: error: unexpected token 0x.
+ (func (v128.const i32x4 0x 0x 0x 0x) drop)
+ ^^
+out/test/spec/simd/simd_const.wast:278: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.147.wat:1:25: error: unexpected token "1x", expected a Nat or Integer literal (e.g. 123).
+ (func (v128.const i32x4 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.147.wat:1:28: error: unexpected token 1x.
+ (func (v128.const i32x4 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.147.wat:1:31: error: unexpected token 1x.
+ (func (v128.const i32x4 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.147.wat:1:34: error: unexpected token 1x.
+ (func (v128.const i32x4 1x 1x 1x 1x) drop)
+ ^^
+out/test/spec/simd/simd_const.wast:282: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.148.wat:1:25: error: unexpected token "0xg", expected a Nat or Integer literal (e.g. 123).
+ (func (v128.const i32x4 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.148.wat:1:29: error: unexpected token 0xg.
+ (func (v128.const i32x4 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.148.wat:1:33: error: unexpected token 0xg.
+ (func (v128.const i32x4 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.148.wat:1:37: error: unexpected token 0xg.
+ (func (v128.const i32x4 0xg 0xg 0xg 0xg) drop)
+ ^^^
+out/test/spec/simd/simd_const.wast:287: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.149.wat:1:24: error: unexpected token ")", expected a Nat or Integer literal (e.g. 123).
+ (func (v128.const i64x2) drop)
+ ^
+out/test/spec/simd/simd_const.wast:291: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.150.wat:1:25: error: unexpected token "0x", expected a Nat or Integer literal (e.g. 123).
+ (func (v128.const i64x2 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.150.wat:1:28: error: unexpected token 0x.
+ (func (v128.const i64x2 0x 0x) drop)
+ ^^
+out/test/spec/simd/simd_const.wast:295: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.151.wat:1:25: error: unexpected token "1x", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.151.wat:1:28: error: unexpected token 1x.
+ (func (v128.const f64x2 1x 1x) drop)
+ ^^
+out/test/spec/simd/simd_const.wast:299: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.152.wat:1:25: error: unexpected token "0xg", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.152.wat:1:29: error: unexpected token 0xg.
+ (func (v128.const f64x2 0xg 0xg) drop)
+ ^^^
+out/test/spec/simd/simd_const.wast:304: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.153.wat:1:24: error: unexpected token ")", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4) drop)
+ ^
+out/test/spec/simd/simd_const.wast:308: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.154.wat:1:25: error: unexpected token ".0", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 .0 .0 .0 .0) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.154.wat:1:28: error: unexpected token .0.
+ (func (v128.const f32x4 .0 .0 .0 .0) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.154.wat:1:31: error: unexpected token .0.
+ (func (v128.const f32x4 .0 .0 .0 .0) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.154.wat:1:34: error: unexpected token .0.
+ (func (v128.const f32x4 .0 .0 .0 .0) drop)
+ ^^
+out/test/spec/simd/simd_const.wast:312: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.155.wat:1:25: error: unexpected token ".0e0", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 .0e0 .0e0 .0e0 .0e0) drop)
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.155.wat:1:30: error: unexpected token .0e0.
+ (func (v128.const f32x4 .0e0 .0e0 .0e0 .0e0) drop)
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.155.wat:1:35: error: unexpected token .0e0.
+ (func (v128.const f32x4 .0e0 .0e0 .0e0 .0e0) drop)
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.155.wat:1:40: error: unexpected token .0e0.
+ (func (v128.const f32x4 .0e0 .0e0 .0e0 .0e0) drop)
+ ^^^^
+out/test/spec/simd/simd_const.wast:316: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.156.wat:1:25: error: unexpected token "0e", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 0e 0e 0e 0e) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.156.wat:1:28: error: unexpected token 0e.
+ (func (v128.const f32x4 0e 0e 0e 0e) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.156.wat:1:31: error: unexpected token 0e.
+ (func (v128.const f32x4 0e 0e 0e 0e) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.156.wat:1:34: error: unexpected token 0e.
+ (func (v128.const f32x4 0e 0e 0e 0e) drop)
+ ^^
+out/test/spec/simd/simd_const.wast:320: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.157.wat:1:25: error: unexpected token "0e+", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 0e+ 0e+ 0e+ 0e+) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.157.wat:1:29: error: unexpected token 0e+.
+ (func (v128.const f32x4 0e+ 0e+ 0e+ 0e+) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.157.wat:1:33: error: unexpected token 0e+.
+ (func (v128.const f32x4 0e+ 0e+ 0e+ 0e+) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.157.wat:1:37: error: unexpected token 0e+.
+ (func (v128.const f32x4 0e+ 0e+ 0e+ 0e+) drop)
+ ^^^
+out/test/spec/simd/simd_const.wast:324: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.158.wat:1:25: error: unexpected token "0.0e", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 0.0e 0.0e 0.0e 0.0e) drop)
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.158.wat:1:30: error: unexpected token 0.0e.
+ (func (v128.const f32x4 0.0e 0.0e 0.0e 0.0e) drop)
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.158.wat:1:35: error: unexpected token 0.0e.
+ (func (v128.const f32x4 0.0e 0.0e 0.0e 0.0e) drop)
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.158.wat:1:40: error: unexpected token 0.0e.
+ (func (v128.const f32x4 0.0e 0.0e 0.0e 0.0e) drop)
+ ^^^^
+out/test/spec/simd/simd_const.wast:328: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.159.wat:1:25: error: unexpected token "0.0e-", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 0.0e- 0.0e- 0.0e- 0.0e-) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.159.wat:1:31: error: unexpected token 0.0e-.
+ (func (v128.const f32x4 0.0e- 0.0e- 0.0e- 0.0e-) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.159.wat:1:37: error: unexpected token 0.0e-.
+ (func (v128.const f32x4 0.0e- 0.0e- 0.0e- 0.0e-) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.159.wat:1:43: error: unexpected token 0.0e-.
+ (func (v128.const f32x4 0.0e- 0.0e- 0.0e- 0.0e-) drop)
+ ^^^^^
+out/test/spec/simd/simd_const.wast:332: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.160.wat:1:25: error: unexpected token "0x", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.160.wat:1:28: error: unexpected token 0x.
+ (func (v128.const f32x4 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.160.wat:1:31: error: unexpected token 0x.
+ (func (v128.const f32x4 0x 0x 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.160.wat:1:34: error: unexpected token 0x.
+ (func (v128.const f32x4 0x 0x 0x 0x) drop)
+ ^^
+out/test/spec/simd/simd_const.wast:336: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.161.wat:1:25: error: unexpected token "1x", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.161.wat:1:28: error: unexpected token 1x.
+ (func (v128.const f32x4 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.161.wat:1:31: error: unexpected token 1x.
+ (func (v128.const f32x4 1x 1x 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.161.wat:1:34: error: unexpected token 1x.
+ (func (v128.const f32x4 1x 1x 1x 1x) drop)
+ ^^
+out/test/spec/simd/simd_const.wast:340: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.162.wat:1:25: error: unexpected token "0xg", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.162.wat:1:29: error: unexpected token 0xg.
+ (func (v128.const f32x4 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.162.wat:1:33: error: unexpected token 0xg.
+ (func (v128.const f32x4 0xg 0xg 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.162.wat:1:37: error: unexpected token 0xg.
+ (func (v128.const f32x4 0xg 0xg 0xg 0xg) drop)
+ ^^^
+out/test/spec/simd/simd_const.wast:344: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.163.wat:1:25: error: unexpected token "0x.", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 0x. 0x. 0x. 0x.) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.163.wat:1:29: error: unexpected token 0x..
+ (func (v128.const f32x4 0x. 0x. 0x. 0x.) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.163.wat:1:33: error: unexpected token 0x..
+ (func (v128.const f32x4 0x. 0x. 0x. 0x.) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.163.wat:1:37: error: unexpected token 0x..
+ (func (v128.const f32x4 0x. 0x. 0x. 0x.) drop)
+ ^^^
+out/test/spec/simd/simd_const.wast:348: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.164.wat:1:25: error: unexpected token "0x0.g", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 0x0.g 0x0.g 0x0.g 0x0.g) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.164.wat:1:31: error: unexpected token 0x0.g.
+ (func (v128.const f32x4 0x0.g 0x0.g 0x0.g 0x0.g) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.164.wat:1:37: error: unexpected token 0x0.g.
+ (func (v128.const f32x4 0x0.g 0x0.g 0x0.g 0x0.g) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.164.wat:1:43: error: unexpected token 0x0.g.
+ (func (v128.const f32x4 0x0.g 0x0.g 0x0.g 0x0.g) drop)
+ ^^^^^
+out/test/spec/simd/simd_const.wast:352: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.165.wat:1:25: error: unexpected token "0x0p", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 0x0p 0x0p 0x0p 0x0p) drop)
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.165.wat:1:30: error: unexpected token 0x0p.
+ (func (v128.const f32x4 0x0p 0x0p 0x0p 0x0p) drop)
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.165.wat:1:35: error: unexpected token 0x0p.
+ (func (v128.const f32x4 0x0p 0x0p 0x0p 0x0p) drop)
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.165.wat:1:40: error: unexpected token 0x0p.
+ (func (v128.const f32x4 0x0p 0x0p 0x0p 0x0p) drop)
+ ^^^^
+out/test/spec/simd/simd_const.wast:356: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.166.wat:1:25: error: unexpected token "0x0p+", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 0x0p+ 0x0p+ 0x0p+ 0x0p+) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.166.wat:1:31: error: unexpected token 0x0p+.
+ (func (v128.const f32x4 0x0p+ 0x0p+ 0x0p+ 0x0p+) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.166.wat:1:37: error: unexpected token 0x0p+.
+ (func (v128.const f32x4 0x0p+ 0x0p+ 0x0p+ 0x0p+) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.166.wat:1:43: error: unexpected token 0x0p+.
+ (func (v128.const f32x4 0x0p+ 0x0p+ 0x0p+ 0x0p+) drop)
+ ^^^^^
+out/test/spec/simd/simd_const.wast:360: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.167.wat:1:25: error: unexpected token "0x0p-", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 0x0p- 0x0p- 0x0p- 0x0p-) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.167.wat:1:31: error: unexpected token 0x0p-.
+ (func (v128.const f32x4 0x0p- 0x0p- 0x0p- 0x0p-) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.167.wat:1:37: error: unexpected token 0x0p-.
+ (func (v128.const f32x4 0x0p- 0x0p- 0x0p- 0x0p-) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.167.wat:1:43: error: unexpected token 0x0p-.
+ (func (v128.const f32x4 0x0p- 0x0p- 0x0p- 0x0p-) drop)
+ ^^^^^
+out/test/spec/simd/simd_const.wast:364: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.168.wat:1:25: error: unexpected token "0x0.0p", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 0x0.0p 0x0.0p 0x0.0p 0x0.0p) drop)
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.168.wat:1:32: error: unexpected token 0x0.0p.
+ (func (v128.const f32x4 0x0.0p 0x0.0p 0x0.0p 0x0.0p) drop)
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.168.wat:1:39: error: unexpected token 0x0.0p.
+ (func (v128.const f32x4 0x0.0p 0x0.0p 0x0.0p 0x0.0p) drop)
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.168.wat:1:46: error: unexpected token 0x0.0p.
+ (func (v128.const f32x4 0x0.0p 0x0.0p 0x0.0p 0x0.0p) drop)
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:368: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.169.wat:1:25: error: unexpected token "0x0.0p+", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 0x0.0p+ 0x0.0p+ 0x0.0p+ 0x0.0p+) drop)
+ ^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.169.wat:1:33: error: unexpected token 0x0.0p+.
+ (func (v128.const f32x4 0x0.0p+ 0x0.0p+ 0x0.0p+ 0x0.0p+) drop)
+ ^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.169.wat:1:41: error: unexpected token 0x0.0p+.
+ (func (v128.const f32x4 0x0.0p+ 0x0.0p+ 0x0.0p+ 0x0.0p+) drop)
+ ^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.169.wat:1:49: error: unexpected token 0x0.0p+.
+ (func (v128.const f32x4 0x0.0p+ 0x0.0p+ 0x0.0p+ 0x0.0p+) drop)
+ ^^^^^^^
+out/test/spec/simd/simd_const.wast:372: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.170.wat:1:25: error: unexpected token "0x0.0p-", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 0x0.0p- 0x0.0p- 0x0.0p- 0x0.0p-) drop)
+ ^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.170.wat:1:33: error: unexpected token 0x0.0p-.
+ (func (v128.const f32x4 0x0.0p- 0x0.0p- 0x0.0p- 0x0.0p-) drop)
+ ^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.170.wat:1:41: error: unexpected token 0x0.0p-.
+ (func (v128.const f32x4 0x0.0p- 0x0.0p- 0x0.0p- 0x0.0p-) drop)
+ ^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.170.wat:1:49: error: unexpected token 0x0.0p-.
+ (func (v128.const f32x4 0x0.0p- 0x0.0p- 0x0.0p- 0x0.0p-) drop)
+ ^^^^^^^
+out/test/spec/simd/simd_const.wast:376: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.171.wat:1:25: error: unexpected token "0x0pA", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 0x0pA 0x0pA 0x0pA 0x0pA) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.171.wat:1:31: error: unexpected token 0x0pA.
+ (func (v128.const f32x4 0x0pA 0x0pA 0x0pA 0x0pA) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.171.wat:1:37: error: unexpected token 0x0pA.
+ (func (v128.const f32x4 0x0pA 0x0pA 0x0pA 0x0pA) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.171.wat:1:43: error: unexpected token 0x0pA.
+ (func (v128.const f32x4 0x0pA 0x0pA 0x0pA 0x0pA) drop)
+ ^^^^^
+out/test/spec/simd/simd_const.wast:380: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.172.wat:1:25: error: unexpected token "nan:1", expected a Float literal (e.g. 42.0).
+ (func (v128.const f32x4 nan:1 nan:1 nan:1 nan:1) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.172.wat:1:31: error: unexpected token nan:1.
+ (func (v128.const f32x4 nan:1 nan:1 nan:1 nan:1) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.172.wat:1:37: error: unexpected token nan:1.
+ (func (v128.const f32x4 nan:1 nan:1 nan:1 nan:1) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.172.wat:1:43: error: unexpected token nan:1.
+ (func (v128.const f32x4 nan:1 nan:1 nan:1 nan:1) drop)
+ ^^^^^
+out/test/spec/simd/simd_const.wast:384: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.173.wat:1:25: error: invalid literal "nan:0x0"
+ (func (v128.const f32x4 nan:0x0 nan:0x0 nan:0x0 nan:0x0) drop)
+ ^^^^^^^
+out/test/spec/simd/simd_const.wast:389: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.174.wat:1:24: error: unexpected token ")", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2) drop)
+ ^
+out/test/spec/simd/simd_const.wast:393: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.175.wat:1:25: error: unexpected token ".0", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 .0 .0) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.175.wat:1:28: error: unexpected token .0.
+ (func (v128.const f64x2 .0 .0) drop)
+ ^^
+out/test/spec/simd/simd_const.wast:397: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.176.wat:1:25: error: unexpected token ".0e0", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 .0e0 .0e0) drop)
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.176.wat:1:30: error: unexpected token .0e0.
+ (func (v128.const f64x2 .0e0 .0e0) drop)
+ ^^^^
+out/test/spec/simd/simd_const.wast:401: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.177.wat:1:25: error: unexpected token "0e", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 0e 0e) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.177.wat:1:28: error: unexpected token 0e.
+ (func (v128.const f64x2 0e 0e) drop)
+ ^^
+out/test/spec/simd/simd_const.wast:405: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.178.wat:1:25: error: unexpected token "0e+", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 0e+ 0e+) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.178.wat:1:29: error: unexpected token 0e+.
+ (func (v128.const f64x2 0e+ 0e+) drop)
+ ^^^
+out/test/spec/simd/simd_const.wast:409: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.179.wat:1:25: error: unexpected token "0.0e+", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 0.0e+ 0.0e+) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.179.wat:1:31: error: unexpected token 0.0e+.
+ (func (v128.const f64x2 0.0e+ 0.0e+) drop)
+ ^^^^^
+out/test/spec/simd/simd_const.wast:413: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.180.wat:1:25: error: unexpected token "0.0e-", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 0.0e- 0.0e-) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.180.wat:1:31: error: unexpected token 0.0e-.
+ (func (v128.const f64x2 0.0e- 0.0e-) drop)
+ ^^^^^
+out/test/spec/simd/simd_const.wast:417: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.181.wat:1:25: error: unexpected token "0x", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 0x 0x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.181.wat:1:28: error: unexpected token 0x.
+ (func (v128.const f64x2 0x 0x) drop)
+ ^^
+out/test/spec/simd/simd_const.wast:421: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.182.wat:1:25: error: unexpected token "1x", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 1x 1x) drop)
+ ^^
+ out/test/spec/simd/simd_const/simd_const.182.wat:1:28: error: unexpected token 1x.
+ (func (v128.const f64x2 1x 1x) drop)
+ ^^
+out/test/spec/simd/simd_const.wast:425: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.183.wat:1:25: error: unexpected token "0xg", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 0xg 0xg) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.183.wat:1:29: error: unexpected token 0xg.
+ (func (v128.const f64x2 0xg 0xg) drop)
+ ^^^
+out/test/spec/simd/simd_const.wast:429: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.184.wat:1:25: error: unexpected token "0x.", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 0x. 0x.) drop)
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.184.wat:1:29: error: unexpected token 0x..
+ (func (v128.const f64x2 0x. 0x.) drop)
+ ^^^
+out/test/spec/simd/simd_const.wast:433: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.185.wat:1:25: error: unexpected token "0x0.g", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 0x0.g 0x0.g) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.185.wat:1:31: error: unexpected token 0x0.g.
+ (func (v128.const f64x2 0x0.g 0x0.g) drop)
+ ^^^^^
+out/test/spec/simd/simd_const.wast:437: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.186.wat:1:25: error: unexpected token "0x0p", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 0x0p 0x0p) drop)
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.186.wat:1:30: error: unexpected token 0x0p.
+ (func (v128.const f64x2 0x0p 0x0p) drop)
+ ^^^^
+out/test/spec/simd/simd_const.wast:441: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.187.wat:1:25: error: unexpected token "0x0p+", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 0x0p+ 0x0p+) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.187.wat:1:31: error: unexpected token 0x0p+.
+ (func (v128.const f64x2 0x0p+ 0x0p+) drop)
+ ^^^^^
+out/test/spec/simd/simd_const.wast:445: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.188.wat:1:25: error: unexpected token "0x0p-", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 0x0p- 0x0p-) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.188.wat:1:31: error: unexpected token 0x0p-.
+ (func (v128.const f64x2 0x0p- 0x0p-) drop)
+ ^^^^^
+out/test/spec/simd/simd_const.wast:449: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.189.wat:1:25: error: unexpected token "0x0.0p", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 0x0.0p 0x0.0p) drop)
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.189.wat:1:32: error: unexpected token 0x0.0p.
+ (func (v128.const f64x2 0x0.0p 0x0.0p) drop)
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:453: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.190.wat:1:25: error: unexpected token "0x0.0p+", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 0x0.0p+ 0x0.0p+) drop)
+ ^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.190.wat:1:33: error: unexpected token 0x0.0p+.
+ (func (v128.const f64x2 0x0.0p+ 0x0.0p+) drop)
+ ^^^^^^^
+out/test/spec/simd/simd_const.wast:457: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.191.wat:1:25: error: unexpected token "0x0.0p-", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 0x0.0p- 0x0.0p-) drop)
+ ^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.191.wat:1:33: error: unexpected token 0x0.0p-.
+ (func (v128.const f64x2 0x0.0p- 0x0.0p-) drop)
+ ^^^^^^^
+out/test/spec/simd/simd_const.wast:461: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.192.wat:1:25: error: unexpected token "0x0pA", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 0x0pA 0x0pA) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.192.wat:1:31: error: unexpected token 0x0pA.
+ (func (v128.const f64x2 0x0pA 0x0pA) drop)
+ ^^^^^
+out/test/spec/simd/simd_const.wast:465: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.193.wat:1:25: error: unexpected token "nan:1", expected a Float literal (e.g. 42.0).
+ (func (v128.const f64x2 nan:1 nan:1) drop)
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.193.wat:1:31: error: unexpected token nan:1.
+ (func (v128.const f64x2 nan:1 nan:1) drop)
+ ^^^^^
+out/test/spec/simd/simd_const.wast:469: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.194.wat:1:25: error: invalid literal "nan:0x0"
+ (func (v128.const f64x2 nan:0x0 nan:0x0) drop)
+ ^^^^^^^
+out/test/spec/simd/simd_const.wast:476: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.195.wat:1:25: error: invalid literal "0x10000000000000000"
+ (func (v128.const i32x4 0x10000000000000000 0x10000000000000000) drop)
+ ^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_const.wast:482: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.196.wat:1:41: error: unexpected token 0x1, expected ).
+ (func (v128.const i32x4 0x1 0x1 0x1 0x1 0x1) drop)
+ ^^^
+out/test/spec/simd/simd_const.wast:1131: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.389.wat:1:32: error: unexpected token "_100", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i32x4 _100 _100 _100 _100))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.389.wat:1:37: error: unexpected token _100.
+ (global v128 (v128.const i32x4 _100 _100 _100 _100))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.389.wat:1:42: error: unexpected token _100.
+ (global v128 (v128.const i32x4 _100 _100 _100 _100))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.389.wat:1:47: error: unexpected token _100.
+ (global v128 (v128.const i32x4 _100 _100 _100 _100))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1135: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.390.wat:1:32: error: unexpected token "+_100", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i32x4 +_100 +_100 +_100 +_100))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.390.wat:1:38: error: unexpected token +_100.
+ (global v128 (v128.const i32x4 +_100 +_100 +_100 +_100))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.390.wat:1:44: error: unexpected token +_100.
+ (global v128 (v128.const i32x4 +_100 +_100 +_100 +_100))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.390.wat:1:50: error: unexpected token +_100.
+ (global v128 (v128.const i32x4 +_100 +_100 +_100 +_100))
+ ^^^^^
+out/test/spec/simd/simd_const.wast:1139: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.391.wat:1:32: error: unexpected token "-_100", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i32x4 -_100 -_100 -_100 -_100))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.391.wat:1:38: error: unexpected token -_100.
+ (global v128 (v128.const i32x4 -_100 -_100 -_100 -_100))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.391.wat:1:44: error: unexpected token -_100.
+ (global v128 (v128.const i32x4 -_100 -_100 -_100 -_100))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.391.wat:1:50: error: unexpected token -_100.
+ (global v128 (v128.const i32x4 -_100 -_100 -_100 -_100))
+ ^^^^^
+out/test/spec/simd/simd_const.wast:1143: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.392.wat:1:32: error: unexpected token "99_", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i32x4 99_ 99_ 99_ 99_))
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.392.wat:1:36: error: unexpected token 99_.
+ (global v128 (v128.const i32x4 99_ 99_ 99_ 99_))
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.392.wat:1:40: error: unexpected token 99_.
+ (global v128 (v128.const i32x4 99_ 99_ 99_ 99_))
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.392.wat:1:44: error: unexpected token 99_.
+ (global v128 (v128.const i32x4 99_ 99_ 99_ 99_))
+ ^^^
+out/test/spec/simd/simd_const.wast:1147: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.393.wat:1:32: error: unexpected token "1__000", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i32x4 1__000 1__000 1__000 1__000))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.393.wat:1:39: error: unexpected token 1__000.
+ (global v128 (v128.const i32x4 1__000 1__000 1__000 1__000))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.393.wat:1:46: error: unexpected token 1__000.
+ (global v128 (v128.const i32x4 1__000 1__000 1__000 1__000))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.393.wat:1:53: error: unexpected token 1__000.
+ (global v128 (v128.const i32x4 1__000 1__000 1__000 1__000))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1151: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.394.wat:1:32: error: unexpected token "_0x100", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i32x4 _0x100 _0x100 _0x100 _0x100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.394.wat:1:39: error: unexpected token _0x100.
+ (global v128 (v128.const i32x4 _0x100 _0x100 _0x100 _0x100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.394.wat:1:46: error: unexpected token _0x100.
+ (global v128 (v128.const i32x4 _0x100 _0x100 _0x100 _0x100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.394.wat:1:53: error: unexpected token _0x100.
+ (global v128 (v128.const i32x4 _0x100 _0x100 _0x100 _0x100))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1155: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.395.wat:1:32: error: unexpected token "0_x100", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i32x4 0_x100 0_x100 0_x100 0_x100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.395.wat:1:39: error: unexpected token 0_x100.
+ (global v128 (v128.const i32x4 0_x100 0_x100 0_x100 0_x100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.395.wat:1:46: error: unexpected token 0_x100.
+ (global v128 (v128.const i32x4 0_x100 0_x100 0_x100 0_x100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.395.wat:1:53: error: unexpected token 0_x100.
+ (global v128 (v128.const i32x4 0_x100 0_x100 0_x100 0_x100))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1159: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.396.wat:1:32: error: unexpected token "0x_100", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i32x4 0x_100 0x_100 0x_100 0x_100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.396.wat:1:39: error: unexpected token 0x_100.
+ (global v128 (v128.const i32x4 0x_100 0x_100 0x_100 0x_100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.396.wat:1:46: error: unexpected token 0x_100.
+ (global v128 (v128.const i32x4 0x_100 0x_100 0x_100 0x_100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.396.wat:1:53: error: unexpected token 0x_100.
+ (global v128 (v128.const i32x4 0x_100 0x_100 0x_100 0x_100))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1163: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.397.wat:1:32: error: unexpected token "0x00_", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i32x4 0x00_ 0x00_ 0x00_ 0x00_))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.397.wat:1:38: error: unexpected token 0x00_.
+ (global v128 (v128.const i32x4 0x00_ 0x00_ 0x00_ 0x00_))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.397.wat:1:44: error: unexpected token 0x00_.
+ (global v128 (v128.const i32x4 0x00_ 0x00_ 0x00_ 0x00_))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.397.wat:1:50: error: unexpected token 0x00_.
+ (global v128 (v128.const i32x4 0x00_ 0x00_ 0x00_ 0x00_))
+ ^^^^^
+out/test/spec/simd/simd_const.wast:1167: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.398.wat:1:32: error: unexpected token "0xff__ffff", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i32x4 0xff__ffff 0xff__ffff 0xff__ffff 0xff__ffff))
+ ^^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.398.wat:1:43: error: unexpected token 0xff__ffff.
+ (global v128 (v128.const i32x4 0xff__ffff 0xff__ffff 0xff__ffff 0xff__ffff))
+ ^^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.398.wat:1:54: error: unexpected token 0xff__ffff.
+ (global v128 (v128.const i32x4 0xff__ffff 0xff__ffff 0xff__ffff 0xff__ffff))
+ ^^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.398.wat:1:65: error: unexpected token 0xff__ffff.
+ (global v128 (v128.const i32x4 0xff__ffff 0xff__ffff 0xff__ffff 0xff__ffff))
+ ^^^^^^^^^^
+out/test/spec/simd/simd_const.wast:1172: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.399.wat:1:32: error: unexpected token "_100_100", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i64x2 _100_100 _100_100))
+ ^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.399.wat:1:41: error: unexpected token _100_100.
+ (global v128 (v128.const i64x2 _100_100 _100_100))
+ ^^^^^^^^
+out/test/spec/simd/simd_const.wast:1176: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.400.wat:1:32: error: unexpected token "+_100_100", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i64x2 +_100_100 +_100_100))
+ ^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.400.wat:1:42: error: unexpected token +_100_100.
+ (global v128 (v128.const i64x2 +_100_100 +_100_100))
+ ^^^^^^^^^
+out/test/spec/simd/simd_const.wast:1180: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.401.wat:1:32: error: unexpected token "-_100_100", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i64x2 -_100_100 -_100_100))
+ ^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.401.wat:1:42: error: unexpected token -_100_100.
+ (global v128 (v128.const i64x2 -_100_100 -_100_100))
+ ^^^^^^^^^
+out/test/spec/simd/simd_const.wast:1184: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.402.wat:1:32: error: unexpected token "99_99_", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i64x2 99_99_ 99_99_))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.402.wat:1:39: error: unexpected token 99_99_.
+ (global v128 (v128.const i64x2 99_99_ 99_99_))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1188: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.403.wat:1:32: error: unexpected token "1__000_000", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i64x2 1__000_000 1__000_000))
+ ^^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.403.wat:1:43: error: unexpected token 1__000_000.
+ (global v128 (v128.const i64x2 1__000_000 1__000_000))
+ ^^^^^^^^^^
+out/test/spec/simd/simd_const.wast:1192: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.404.wat:1:32: error: unexpected token "_0x100000", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i64x2 _0x100000 _0x100000))
+ ^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.404.wat:1:42: error: unexpected token _0x100000.
+ (global v128 (v128.const i64x2 _0x100000 _0x100000))
+ ^^^^^^^^^
+out/test/spec/simd/simd_const.wast:1196: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.405.wat:1:32: error: unexpected token "0_x100000", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i64x2 0_x100000 0_x100000))
+ ^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.405.wat:1:42: error: unexpected token 0_x100000.
+ (global v128 (v128.const i64x2 0_x100000 0_x100000))
+ ^^^^^^^^^
+out/test/spec/simd/simd_const.wast:1200: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.406.wat:1:32: error: unexpected token "0x_100000", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i64x2 0x_100000 0x_100000))
+ ^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.406.wat:1:42: error: unexpected token 0x_100000.
+ (global v128 (v128.const i64x2 0x_100000 0x_100000))
+ ^^^^^^^^^
+out/test/spec/simd/simd_const.wast:1204: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.407.wat:1:32: error: unexpected token "0x00_", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i64x2 0x00_ 0x00_))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.407.wat:1:38: error: unexpected token 0x00_.
+ (global v128 (v128.const i64x2 0x00_ 0x00_))
+ ^^^^^
+out/test/spec/simd/simd_const.wast:1208: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.408.wat:1:32: error: unexpected token "0xff__ffff_ffff_ffff", expected a Nat or Integer literal (e.g. 123).
+ (global v128 (v128.const i64x2 0xff__ffff_ffff_ffff 0xff__ffff_ffff_ffff))
+ ^^^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.408.wat:1:53: error: unexpected token 0xff__ffff_ffff_ffff.
+ (global v128 (v128.const i64x2 0xff__ffff_ffff_ffff 0xff__ffff_ffff_ffff))
+ ^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_const.wast:1259: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.410.wat:1:32: error: unexpected token "_100", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 _100 _100 _100 _100))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.410.wat:1:37: error: unexpected token _100.
+ (global v128 (v128.const f32x4 _100 _100 _100 _100))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.410.wat:1:42: error: unexpected token _100.
+ (global v128 (v128.const f32x4 _100 _100 _100 _100))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.410.wat:1:47: error: unexpected token _100.
+ (global v128 (v128.const f32x4 _100 _100 _100 _100))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1263: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.411.wat:1:32: error: unexpected token "+_100", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 +_100 +_100 +_100 +_100))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.411.wat:1:38: error: unexpected token +_100.
+ (global v128 (v128.const f32x4 +_100 +_100 +_100 +_100))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.411.wat:1:44: error: unexpected token +_100.
+ (global v128 (v128.const f32x4 +_100 +_100 +_100 +_100))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.411.wat:1:50: error: unexpected token +_100.
+ (global v128 (v128.const f32x4 +_100 +_100 +_100 +_100))
+ ^^^^^
+out/test/spec/simd/simd_const.wast:1267: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.412.wat:1:32: error: unexpected token "-_100", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 -_100 -_100 -_100 -_100))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.412.wat:1:38: error: unexpected token -_100.
+ (global v128 (v128.const f32x4 -_100 -_100 -_100 -_100))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.412.wat:1:44: error: unexpected token -_100.
+ (global v128 (v128.const f32x4 -_100 -_100 -_100 -_100))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.412.wat:1:50: error: unexpected token -_100.
+ (global v128 (v128.const f32x4 -_100 -_100 -_100 -_100))
+ ^^^^^
+out/test/spec/simd/simd_const.wast:1271: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.413.wat:1:32: error: unexpected token "99_", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 99_ 99_ 99_ 99_))
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.413.wat:1:36: error: unexpected token 99_.
+ (global v128 (v128.const f32x4 99_ 99_ 99_ 99_))
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.413.wat:1:40: error: unexpected token 99_.
+ (global v128 (v128.const f32x4 99_ 99_ 99_ 99_))
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.413.wat:1:44: error: unexpected token 99_.
+ (global v128 (v128.const f32x4 99_ 99_ 99_ 99_))
+ ^^^
+out/test/spec/simd/simd_const.wast:1275: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.414.wat:1:32: error: unexpected token "1__000", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 1__000 1__000 1__000 1__000))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.414.wat:1:39: error: unexpected token 1__000.
+ (global v128 (v128.const f32x4 1__000 1__000 1__000 1__000))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.414.wat:1:46: error: unexpected token 1__000.
+ (global v128 (v128.const f32x4 1__000 1__000 1__000 1__000))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.414.wat:1:53: error: unexpected token 1__000.
+ (global v128 (v128.const f32x4 1__000 1__000 1__000 1__000))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1279: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.415.wat:1:32: error: unexpected token "_1.0", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 _1.0 _1.0 _1.0 _1.0))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.415.wat:1:37: error: unexpected token _1.0.
+ (global v128 (v128.const f32x4 _1.0 _1.0 _1.0 _1.0))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.415.wat:1:42: error: unexpected token _1.0.
+ (global v128 (v128.const f32x4 _1.0 _1.0 _1.0 _1.0))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.415.wat:1:47: error: unexpected token _1.0.
+ (global v128 (v128.const f32x4 _1.0 _1.0 _1.0 _1.0))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1283: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.416.wat:1:32: error: unexpected token "1.0_", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 1.0_ 1.0_ 1.0_ 1.0_))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.416.wat:1:37: error: unexpected token 1.0_.
+ (global v128 (v128.const f32x4 1.0_ 1.0_ 1.0_ 1.0_))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.416.wat:1:42: error: unexpected token 1.0_.
+ (global v128 (v128.const f32x4 1.0_ 1.0_ 1.0_ 1.0_))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.416.wat:1:47: error: unexpected token 1.0_.
+ (global v128 (v128.const f32x4 1.0_ 1.0_ 1.0_ 1.0_))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1287: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.417.wat:1:32: error: unexpected token "1_.0", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 1_.0 1_.0 1_.0 1_.0))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.417.wat:1:37: error: unexpected token 1_.0.
+ (global v128 (v128.const f32x4 1_.0 1_.0 1_.0 1_.0))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.417.wat:1:42: error: unexpected token 1_.0.
+ (global v128 (v128.const f32x4 1_.0 1_.0 1_.0 1_.0))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.417.wat:1:47: error: unexpected token 1_.0.
+ (global v128 (v128.const f32x4 1_.0 1_.0 1_.0 1_.0))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1291: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.418.wat:1:32: error: unexpected token "1._0", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 1._0 1._0 1._0 1._0))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.418.wat:1:37: error: unexpected token 1._0.
+ (global v128 (v128.const f32x4 1._0 1._0 1._0 1._0))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.418.wat:1:42: error: unexpected token 1._0.
+ (global v128 (v128.const f32x4 1._0 1._0 1._0 1._0))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.418.wat:1:47: error: unexpected token 1._0.
+ (global v128 (v128.const f32x4 1._0 1._0 1._0 1._0))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1295: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.419.wat:1:32: error: unexpected token "_1e1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 _1e1 _1e1 _1e1 _1e1))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.419.wat:1:37: error: unexpected token _1e1.
+ (global v128 (v128.const f32x4 _1e1 _1e1 _1e1 _1e1))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.419.wat:1:42: error: unexpected token _1e1.
+ (global v128 (v128.const f32x4 _1e1 _1e1 _1e1 _1e1))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.419.wat:1:47: error: unexpected token _1e1.
+ (global v128 (v128.const f32x4 _1e1 _1e1 _1e1 _1e1))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1299: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.420.wat:1:32: error: unexpected token "1e1_", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 1e1_ 1e1_ 1e1_ 1e1_))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.420.wat:1:37: error: unexpected token 1e1_.
+ (global v128 (v128.const f32x4 1e1_ 1e1_ 1e1_ 1e1_))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.420.wat:1:42: error: unexpected token 1e1_.
+ (global v128 (v128.const f32x4 1e1_ 1e1_ 1e1_ 1e1_))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.420.wat:1:47: error: unexpected token 1e1_.
+ (global v128 (v128.const f32x4 1e1_ 1e1_ 1e1_ 1e1_))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1303: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.421.wat:1:32: error: unexpected token "1_e1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 1_e1 1_e1 1_e1 1_e1))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.421.wat:1:37: error: unexpected token 1_e1.
+ (global v128 (v128.const f32x4 1_e1 1_e1 1_e1 1_e1))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.421.wat:1:42: error: unexpected token 1_e1.
+ (global v128 (v128.const f32x4 1_e1 1_e1 1_e1 1_e1))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.421.wat:1:47: error: unexpected token 1_e1.
+ (global v128 (v128.const f32x4 1_e1 1_e1 1_e1 1_e1))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1307: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.422.wat:1:32: error: unexpected token "1e_1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 1e_1 1e_1 1e_1 1e_1))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.422.wat:1:37: error: unexpected token 1e_1.
+ (global v128 (v128.const f32x4 1e_1 1e_1 1e_1 1e_1))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.422.wat:1:42: error: unexpected token 1e_1.
+ (global v128 (v128.const f32x4 1e_1 1e_1 1e_1 1e_1))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.422.wat:1:47: error: unexpected token 1e_1.
+ (global v128 (v128.const f32x4 1e_1 1e_1 1e_1 1e_1))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1311: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.423.wat:1:32: error: unexpected token "_1.0e1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 _1.0e1 _1.0e1 _1.0e1 _1.0e1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.423.wat:1:39: error: unexpected token _1.0e1.
+ (global v128 (v128.const f32x4 _1.0e1 _1.0e1 _1.0e1 _1.0e1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.423.wat:1:46: error: unexpected token _1.0e1.
+ (global v128 (v128.const f32x4 _1.0e1 _1.0e1 _1.0e1 _1.0e1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.423.wat:1:53: error: unexpected token _1.0e1.
+ (global v128 (v128.const f32x4 _1.0e1 _1.0e1 _1.0e1 _1.0e1))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1315: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.424.wat:1:32: error: unexpected token "1.0e1_", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 1.0e1_ 1.0e1_ 1.0e1_ 1.0e1_))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.424.wat:1:39: error: unexpected token 1.0e1_.
+ (global v128 (v128.const f32x4 1.0e1_ 1.0e1_ 1.0e1_ 1.0e1_))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.424.wat:1:46: error: unexpected token 1.0e1_.
+ (global v128 (v128.const f32x4 1.0e1_ 1.0e1_ 1.0e1_ 1.0e1_))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.424.wat:1:53: error: unexpected token 1.0e1_.
+ (global v128 (v128.const f32x4 1.0e1_ 1.0e1_ 1.0e1_ 1.0e1_))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1319: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.425.wat:1:32: error: unexpected token "1.0_e1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 1.0_e1 1.0_e1 1.0_e1 1.0_e1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.425.wat:1:39: error: unexpected token 1.0_e1.
+ (global v128 (v128.const f32x4 1.0_e1 1.0_e1 1.0_e1 1.0_e1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.425.wat:1:46: error: unexpected token 1.0_e1.
+ (global v128 (v128.const f32x4 1.0_e1 1.0_e1 1.0_e1 1.0_e1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.425.wat:1:53: error: unexpected token 1.0_e1.
+ (global v128 (v128.const f32x4 1.0_e1 1.0_e1 1.0_e1 1.0_e1))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1323: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.426.wat:1:32: error: unexpected token "1.0e_1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 1.0e_1 1.0e_1 1.0e_1 1.0e_1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.426.wat:1:39: error: unexpected token 1.0e_1.
+ (global v128 (v128.const f32x4 1.0e_1 1.0e_1 1.0e_1 1.0e_1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.426.wat:1:46: error: unexpected token 1.0e_1.
+ (global v128 (v128.const f32x4 1.0e_1 1.0e_1 1.0e_1 1.0e_1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.426.wat:1:53: error: unexpected token 1.0e_1.
+ (global v128 (v128.const f32x4 1.0e_1 1.0e_1 1.0e_1 1.0e_1))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1327: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.427.wat:1:32: error: unexpected token "1.0e+_1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 1.0e+_1 1.0e+_1 1.0e+_1 1.0e+_1))
+ ^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.427.wat:1:40: error: unexpected token 1.0e+_1.
+ (global v128 (v128.const f32x4 1.0e+_1 1.0e+_1 1.0e+_1 1.0e+_1))
+ ^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.427.wat:1:48: error: unexpected token 1.0e+_1.
+ (global v128 (v128.const f32x4 1.0e+_1 1.0e+_1 1.0e+_1 1.0e+_1))
+ ^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.427.wat:1:56: error: unexpected token 1.0e+_1.
+ (global v128 (v128.const f32x4 1.0e+_1 1.0e+_1 1.0e+_1 1.0e+_1))
+ ^^^^^^^
+out/test/spec/simd/simd_const.wast:1331: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.428.wat:1:32: error: unexpected token "1.0e_+1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 1.0e_+1 1.0e_+1 1.0e_+1 1.0e_+1))
+ ^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.428.wat:1:40: error: unexpected token 1.0e_+1.
+ (global v128 (v128.const f32x4 1.0e_+1 1.0e_+1 1.0e_+1 1.0e_+1))
+ ^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.428.wat:1:48: error: unexpected token 1.0e_+1.
+ (global v128 (v128.const f32x4 1.0e_+1 1.0e_+1 1.0e_+1 1.0e_+1))
+ ^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.428.wat:1:56: error: unexpected token 1.0e_+1.
+ (global v128 (v128.const f32x4 1.0e_+1 1.0e_+1 1.0e_+1 1.0e_+1))
+ ^^^^^^^
+out/test/spec/simd/simd_const.wast:1335: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.429.wat:1:32: error: unexpected token "_0x100", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 _0x100 _0x100 _0x100 _0x100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.429.wat:1:39: error: unexpected token _0x100.
+ (global v128 (v128.const f32x4 _0x100 _0x100 _0x100 _0x100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.429.wat:1:46: error: unexpected token _0x100.
+ (global v128 (v128.const f32x4 _0x100 _0x100 _0x100 _0x100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.429.wat:1:53: error: unexpected token _0x100.
+ (global v128 (v128.const f32x4 _0x100 _0x100 _0x100 _0x100))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1339: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.430.wat:1:32: error: unexpected token "0_x100", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 0_x100 0_x100 0_x100 0_x100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.430.wat:1:39: error: unexpected token 0_x100.
+ (global v128 (v128.const f32x4 0_x100 0_x100 0_x100 0_x100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.430.wat:1:46: error: unexpected token 0_x100.
+ (global v128 (v128.const f32x4 0_x100 0_x100 0_x100 0_x100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.430.wat:1:53: error: unexpected token 0_x100.
+ (global v128 (v128.const f32x4 0_x100 0_x100 0_x100 0_x100))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1343: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.431.wat:1:32: error: unexpected token "0x_100", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 0x_100 0x_100 0x_100 0x_100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.431.wat:1:39: error: unexpected token 0x_100.
+ (global v128 (v128.const f32x4 0x_100 0x_100 0x_100 0x_100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.431.wat:1:46: error: unexpected token 0x_100.
+ (global v128 (v128.const f32x4 0x_100 0x_100 0x_100 0x_100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.431.wat:1:53: error: unexpected token 0x_100.
+ (global v128 (v128.const f32x4 0x_100 0x_100 0x_100 0x_100))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1347: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.432.wat:1:32: error: unexpected token "0x00_", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 0x00_ 0x00_ 0x00_ 0x00_))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.432.wat:1:38: error: unexpected token 0x00_.
+ (global v128 (v128.const f32x4 0x00_ 0x00_ 0x00_ 0x00_))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.432.wat:1:44: error: unexpected token 0x00_.
+ (global v128 (v128.const f32x4 0x00_ 0x00_ 0x00_ 0x00_))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.432.wat:1:50: error: unexpected token 0x00_.
+ (global v128 (v128.const f32x4 0x00_ 0x00_ 0x00_ 0x00_))
+ ^^^^^
+out/test/spec/simd/simd_const.wast:1351: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.433.wat:1:32: error: unexpected token "0xff__ffff", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 0xff__ffff 0xff__ffff 0xff__ffff 0xff__ffff))
+ ^^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.433.wat:1:43: error: unexpected token 0xff__ffff.
+ (global v128 (v128.const f32x4 0xff__ffff 0xff__ffff 0xff__ffff 0xff__ffff))
+ ^^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.433.wat:1:54: error: unexpected token 0xff__ffff.
+ (global v128 (v128.const f32x4 0xff__ffff 0xff__ffff 0xff__ffff 0xff__ffff))
+ ^^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.433.wat:1:65: error: unexpected token 0xff__ffff.
+ (global v128 (v128.const f32x4 0xff__ffff 0xff__ffff 0xff__ffff 0xff__ffff))
+ ^^^^^^^^^^
+out/test/spec/simd/simd_const.wast:1355: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.434.wat:1:32: error: unexpected token "0x_1.0", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 0x_1.0 0x_1.0 0x_1.0 0x_1.0))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.434.wat:1:39: error: unexpected token 0x_1.0.
+ (global v128 (v128.const f32x4 0x_1.0 0x_1.0 0x_1.0 0x_1.0))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.434.wat:1:46: error: unexpected token 0x_1.0.
+ (global v128 (v128.const f32x4 0x_1.0 0x_1.0 0x_1.0 0x_1.0))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.434.wat:1:53: error: unexpected token 0x_1.0.
+ (global v128 (v128.const f32x4 0x_1.0 0x_1.0 0x_1.0 0x_1.0))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1359: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.435.wat:1:32: error: unexpected token "0x1.0_", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 0x1.0_ 0x1.0_ 0x1.0_ 0x1.0_))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.435.wat:1:39: error: unexpected token 0x1.0_.
+ (global v128 (v128.const f32x4 0x1.0_ 0x1.0_ 0x1.0_ 0x1.0_))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.435.wat:1:46: error: unexpected token 0x1.0_.
+ (global v128 (v128.const f32x4 0x1.0_ 0x1.0_ 0x1.0_ 0x1.0_))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.435.wat:1:53: error: unexpected token 0x1.0_.
+ (global v128 (v128.const f32x4 0x1.0_ 0x1.0_ 0x1.0_ 0x1.0_))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1363: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.436.wat:1:32: error: unexpected token "0x1_.0", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 0x1_.0 0x1_.0 0x1_.0 0x1_.0))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.436.wat:1:39: error: unexpected token 0x1_.0.
+ (global v128 (v128.const f32x4 0x1_.0 0x1_.0 0x1_.0 0x1_.0))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.436.wat:1:46: error: unexpected token 0x1_.0.
+ (global v128 (v128.const f32x4 0x1_.0 0x1_.0 0x1_.0 0x1_.0))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.436.wat:1:53: error: unexpected token 0x1_.0.
+ (global v128 (v128.const f32x4 0x1_.0 0x1_.0 0x1_.0 0x1_.0))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1367: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.437.wat:1:32: error: unexpected token "0x1._0", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 0x1._0 0x1._0 0x1._0 0x1._0))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.437.wat:1:39: error: unexpected token 0x1._0.
+ (global v128 (v128.const f32x4 0x1._0 0x1._0 0x1._0 0x1._0))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.437.wat:1:46: error: unexpected token 0x1._0.
+ (global v128 (v128.const f32x4 0x1._0 0x1._0 0x1._0 0x1._0))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.437.wat:1:53: error: unexpected token 0x1._0.
+ (global v128 (v128.const f32x4 0x1._0 0x1._0 0x1._0 0x1._0))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1371: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.438.wat:1:32: error: unexpected token "0x_1p1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 0x_1p1 0x_1p1 0x_1p1 0x_1p1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.438.wat:1:39: error: unexpected token 0x_1p1.
+ (global v128 (v128.const f32x4 0x_1p1 0x_1p1 0x_1p1 0x_1p1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.438.wat:1:46: error: unexpected token 0x_1p1.
+ (global v128 (v128.const f32x4 0x_1p1 0x_1p1 0x_1p1 0x_1p1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.438.wat:1:53: error: unexpected token 0x_1p1.
+ (global v128 (v128.const f32x4 0x_1p1 0x_1p1 0x_1p1 0x_1p1))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1375: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.439.wat:1:32: error: unexpected token "0x1p1_", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 0x1p1_ 0x1p1_ 0x1p1_ 0x1p1_))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.439.wat:1:39: error: unexpected token 0x1p1_.
+ (global v128 (v128.const f32x4 0x1p1_ 0x1p1_ 0x1p1_ 0x1p1_))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.439.wat:1:46: error: unexpected token 0x1p1_.
+ (global v128 (v128.const f32x4 0x1p1_ 0x1p1_ 0x1p1_ 0x1p1_))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.439.wat:1:53: error: unexpected token 0x1p1_.
+ (global v128 (v128.const f32x4 0x1p1_ 0x1p1_ 0x1p1_ 0x1p1_))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1379: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.440.wat:1:32: error: unexpected token "0x1_p1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 0x1_p1 0x1_p1 0x1_p1 0x1_p1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.440.wat:1:39: error: unexpected token 0x1_p1.
+ (global v128 (v128.const f32x4 0x1_p1 0x1_p1 0x1_p1 0x1_p1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.440.wat:1:46: error: unexpected token 0x1_p1.
+ (global v128 (v128.const f32x4 0x1_p1 0x1_p1 0x1_p1 0x1_p1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.440.wat:1:53: error: unexpected token 0x1_p1.
+ (global v128 (v128.const f32x4 0x1_p1 0x1_p1 0x1_p1 0x1_p1))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1383: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.441.wat:1:32: error: unexpected token "0x1p_1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 0x1p_1 0x1p_1 0x1p_1 0x1p_1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.441.wat:1:39: error: unexpected token 0x1p_1.
+ (global v128 (v128.const f32x4 0x1p_1 0x1p_1 0x1p_1 0x1p_1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.441.wat:1:46: error: unexpected token 0x1p_1.
+ (global v128 (v128.const f32x4 0x1p_1 0x1p_1 0x1p_1 0x1p_1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.441.wat:1:53: error: unexpected token 0x1p_1.
+ (global v128 (v128.const f32x4 0x1p_1 0x1p_1 0x1p_1 0x1p_1))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1387: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.442.wat:1:32: error: unexpected token "0x_1.0p1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 0x_1.0p1 0x_1.0p1 0x_1.0p1 0x_1.0p1))
+ ^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.442.wat:1:41: error: unexpected token 0x_1.0p1.
+ (global v128 (v128.const f32x4 0x_1.0p1 0x_1.0p1 0x_1.0p1 0x_1.0p1))
+ ^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.442.wat:1:50: error: unexpected token 0x_1.0p1.
+ (global v128 (v128.const f32x4 0x_1.0p1 0x_1.0p1 0x_1.0p1 0x_1.0p1))
+ ^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.442.wat:1:59: error: unexpected token 0x_1.0p1.
+ (global v128 (v128.const f32x4 0x_1.0p1 0x_1.0p1 0x_1.0p1 0x_1.0p1))
+ ^^^^^^^^
+out/test/spec/simd/simd_const.wast:1391: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.443.wat:1:32: error: unexpected token "0x1.0p1_", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 0x1.0p1_ 0x1.0p1_ 0x1.0p1_ 0x1.0p1_))
+ ^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.443.wat:1:41: error: unexpected token 0x1.0p1_.
+ (global v128 (v128.const f32x4 0x1.0p1_ 0x1.0p1_ 0x1.0p1_ 0x1.0p1_))
+ ^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.443.wat:1:50: error: unexpected token 0x1.0p1_.
+ (global v128 (v128.const f32x4 0x1.0p1_ 0x1.0p1_ 0x1.0p1_ 0x1.0p1_))
+ ^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.443.wat:1:59: error: unexpected token 0x1.0p1_.
+ (global v128 (v128.const f32x4 0x1.0p1_ 0x1.0p1_ 0x1.0p1_ 0x1.0p1_))
+ ^^^^^^^^
+out/test/spec/simd/simd_const.wast:1395: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.444.wat:1:32: error: unexpected token "0x1.0_p1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 0x1.0_p1 0x1.0_p1 0x1.0_p1 0x1.0_p1))
+ ^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.444.wat:1:41: error: unexpected token 0x1.0_p1.
+ (global v128 (v128.const f32x4 0x1.0_p1 0x1.0_p1 0x1.0_p1 0x1.0_p1))
+ ^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.444.wat:1:50: error: unexpected token 0x1.0_p1.
+ (global v128 (v128.const f32x4 0x1.0_p1 0x1.0_p1 0x1.0_p1 0x1.0_p1))
+ ^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.444.wat:1:59: error: unexpected token 0x1.0_p1.
+ (global v128 (v128.const f32x4 0x1.0_p1 0x1.0_p1 0x1.0_p1 0x1.0_p1))
+ ^^^^^^^^
+out/test/spec/simd/simd_const.wast:1399: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.445.wat:1:32: error: unexpected token "0x1.0p_1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 0x1.0p_1 0x1.0p_1 0x1.0p_1 0x1.0p_1))
+ ^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.445.wat:1:41: error: unexpected token 0x1.0p_1.
+ (global v128 (v128.const f32x4 0x1.0p_1 0x1.0p_1 0x1.0p_1 0x1.0p_1))
+ ^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.445.wat:1:50: error: unexpected token 0x1.0p_1.
+ (global v128 (v128.const f32x4 0x1.0p_1 0x1.0p_1 0x1.0p_1 0x1.0p_1))
+ ^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.445.wat:1:59: error: unexpected token 0x1.0p_1.
+ (global v128 (v128.const f32x4 0x1.0p_1 0x1.0p_1 0x1.0p_1 0x1.0p_1))
+ ^^^^^^^^
+out/test/spec/simd/simd_const.wast:1403: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.446.wat:1:32: error: unexpected token "0x1.0p+_1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 0x1.0p+_1 0x1.0p+_1 0x1.0p+_1 0x1.0p+_1))
+ ^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.446.wat:1:42: error: unexpected token 0x1.0p+_1.
+ (global v128 (v128.const f32x4 0x1.0p+_1 0x1.0p+_1 0x1.0p+_1 0x1.0p+_1))
+ ^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.446.wat:1:52: error: unexpected token 0x1.0p+_1.
+ (global v128 (v128.const f32x4 0x1.0p+_1 0x1.0p+_1 0x1.0p+_1 0x1.0p+_1))
+ ^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.446.wat:1:62: error: unexpected token 0x1.0p+_1.
+ (global v128 (v128.const f32x4 0x1.0p+_1 0x1.0p+_1 0x1.0p+_1 0x1.0p+_1))
+ ^^^^^^^^^
+out/test/spec/simd/simd_const.wast:1407: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.447.wat:1:32: error: unexpected token "0x1.0p_+1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f32x4 0x1.0p_+1 0x1.0p_+1 0x1.0p_+1 0x1.0p_+1))
+ ^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.447.wat:1:42: error: unexpected token 0x1.0p_+1.
+ (global v128 (v128.const f32x4 0x1.0p_+1 0x1.0p_+1 0x1.0p_+1 0x1.0p_+1))
+ ^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.447.wat:1:52: error: unexpected token 0x1.0p_+1.
+ (global v128 (v128.const f32x4 0x1.0p_+1 0x1.0p_+1 0x1.0p_+1 0x1.0p_+1))
+ ^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.447.wat:1:62: error: unexpected token 0x1.0p_+1.
+ (global v128 (v128.const f32x4 0x1.0p_+1 0x1.0p_+1 0x1.0p_+1 0x1.0p_+1))
+ ^^^^^^^^^
+out/test/spec/simd/simd_const.wast:1412: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.448.wat:1:32: error: unexpected token "_100", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 _100 _100))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.448.wat:1:37: error: unexpected token _100.
+ (global v128 (v128.const f64x2 _100 _100))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1416: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.449.wat:1:32: error: unexpected token "+_100", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 +_100 +_100))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.449.wat:1:38: error: unexpected token +_100.
+ (global v128 (v128.const f64x2 +_100 +_100))
+ ^^^^^
+out/test/spec/simd/simd_const.wast:1420: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.450.wat:1:32: error: unexpected token "-_100", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 -_100 -_100))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.450.wat:1:38: error: unexpected token -_100.
+ (global v128 (v128.const f64x2 -_100 -_100))
+ ^^^^^
+out/test/spec/simd/simd_const.wast:1424: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.451.wat:1:32: error: unexpected token "99_", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 99_ 99_))
+ ^^^
+ out/test/spec/simd/simd_const/simd_const.451.wat:1:36: error: unexpected token 99_.
+ (global v128 (v128.const f64x2 99_ 99_))
+ ^^^
+out/test/spec/simd/simd_const.wast:1428: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.452.wat:1:32: error: unexpected token "1__000", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 1__000 1__000))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.452.wat:1:39: error: unexpected token 1__000.
+ (global v128 (v128.const f64x2 1__000 1__000))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1432: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.453.wat:1:32: error: unexpected token "_1.0", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 _1.0 _1.0))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.453.wat:1:37: error: unexpected token _1.0.
+ (global v128 (v128.const f64x2 _1.0 _1.0))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1436: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.454.wat:1:32: error: unexpected token "1.0_", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 1.0_ 1.0_))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.454.wat:1:37: error: unexpected token 1.0_.
+ (global v128 (v128.const f64x2 1.0_ 1.0_))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1440: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.455.wat:1:32: error: unexpected token "1_.0", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 1_.0 1_.0))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.455.wat:1:37: error: unexpected token 1_.0.
+ (global v128 (v128.const f64x2 1_.0 1_.0))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1444: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.456.wat:1:32: error: unexpected token "1._0", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 1._0 1._0))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.456.wat:1:37: error: unexpected token 1._0.
+ (global v128 (v128.const f64x2 1._0 1._0))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1448: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.457.wat:1:32: error: unexpected token "_1e1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 _1e1 _1e1))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.457.wat:1:37: error: unexpected token _1e1.
+ (global v128 (v128.const f64x2 _1e1 _1e1))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1452: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.458.wat:1:32: error: unexpected token "1e1_", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 1e1_ 1e1_))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.458.wat:1:37: error: unexpected token 1e1_.
+ (global v128 (v128.const f64x2 1e1_ 1e1_))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1456: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.459.wat:1:32: error: unexpected token "1_e1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 1_e1 1_e1))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.459.wat:1:37: error: unexpected token 1_e1.
+ (global v128 (v128.const f64x2 1_e1 1_e1))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1460: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.460.wat:1:32: error: unexpected token "1e_1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 1e_1 1e_1))
+ ^^^^
+ out/test/spec/simd/simd_const/simd_const.460.wat:1:37: error: unexpected token 1e_1.
+ (global v128 (v128.const f64x2 1e_1 1e_1))
+ ^^^^
+out/test/spec/simd/simd_const.wast:1464: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.461.wat:1:32: error: unexpected token "_1.0e1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 _1.0e1 _1.0e1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.461.wat:1:39: error: unexpected token _1.0e1.
+ (global v128 (v128.const f64x2 _1.0e1 _1.0e1))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1468: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.462.wat:1:32: error: unexpected token "1.0e1_", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 1.0e1_ 1.0e1_))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.462.wat:1:39: error: unexpected token 1.0e1_.
+ (global v128 (v128.const f64x2 1.0e1_ 1.0e1_))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1472: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.463.wat:1:32: error: unexpected token "1.0_e1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 1.0_e1 1.0_e1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.463.wat:1:39: error: unexpected token 1.0_e1.
+ (global v128 (v128.const f64x2 1.0_e1 1.0_e1))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1476: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.464.wat:1:32: error: unexpected token "1.0e_1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 1.0e_1 1.0e_1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.464.wat:1:39: error: unexpected token 1.0e_1.
+ (global v128 (v128.const f64x2 1.0e_1 1.0e_1))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1480: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.465.wat:1:32: error: unexpected token "1.0e+_1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 1.0e+_1 1.0e+_1))
+ ^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.465.wat:1:40: error: unexpected token 1.0e+_1.
+ (global v128 (v128.const f64x2 1.0e+_1 1.0e+_1))
+ ^^^^^^^
+out/test/spec/simd/simd_const.wast:1484: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.466.wat:1:32: error: unexpected token "1.0e_+1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 1.0e_+1 1.0e_+1))
+ ^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.466.wat:1:40: error: unexpected token 1.0e_+1.
+ (global v128 (v128.const f64x2 1.0e_+1 1.0e_+1))
+ ^^^^^^^
+out/test/spec/simd/simd_const.wast:1488: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.467.wat:1:32: error: unexpected token "_0x100", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 _0x100 _0x100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.467.wat:1:39: error: unexpected token _0x100.
+ (global v128 (v128.const f64x2 _0x100 _0x100))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1492: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.468.wat:1:32: error: unexpected token "0_x100", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 0_x100 0_x100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.468.wat:1:39: error: unexpected token 0_x100.
+ (global v128 (v128.const f64x2 0_x100 0_x100))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1496: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.469.wat:1:32: error: unexpected token "0x_100", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 0x_100 0x_100))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.469.wat:1:39: error: unexpected token 0x_100.
+ (global v128 (v128.const f64x2 0x_100 0x_100))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1500: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.470.wat:1:32: error: unexpected token "0x00_", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 0x00_ 0x00_))
+ ^^^^^
+ out/test/spec/simd/simd_const/simd_const.470.wat:1:38: error: unexpected token 0x00_.
+ (global v128 (v128.const f64x2 0x00_ 0x00_))
+ ^^^^^
+out/test/spec/simd/simd_const.wast:1504: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.471.wat:1:32: error: unexpected token "0xff__ffff", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 0xff__ffff 0xff__ffff))
+ ^^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.471.wat:1:43: error: unexpected token 0xff__ffff.
+ (global v128 (v128.const f64x2 0xff__ffff 0xff__ffff))
+ ^^^^^^^^^^
+out/test/spec/simd/simd_const.wast:1508: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.472.wat:1:32: error: unexpected token "0x_1.0", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 0x_1.0 0x_1.0))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.472.wat:1:39: error: unexpected token 0x_1.0.
+ (global v128 (v128.const f64x2 0x_1.0 0x_1.0))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1512: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.473.wat:1:32: error: unexpected token "0x1.0_", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 0x1.0_ 0x1.0_))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.473.wat:1:39: error: unexpected token 0x1.0_.
+ (global v128 (v128.const f64x2 0x1.0_ 0x1.0_))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1516: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.474.wat:1:32: error: unexpected token "0x1_.0", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 0x1_.0 0x1_.0))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.474.wat:1:39: error: unexpected token 0x1_.0.
+ (global v128 (v128.const f64x2 0x1_.0 0x1_.0))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1520: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.475.wat:1:32: error: unexpected token "0x1._0", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 0x1._0 0x1._0))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.475.wat:1:39: error: unexpected token 0x1._0.
+ (global v128 (v128.const f64x2 0x1._0 0x1._0))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1524: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.476.wat:1:32: error: unexpected token "0x_1p1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 0x_1p1 0x_1p1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.476.wat:1:39: error: unexpected token 0x_1p1.
+ (global v128 (v128.const f64x2 0x_1p1 0x_1p1))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1528: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.477.wat:1:32: error: unexpected token "0x1p1_", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 0x1p1_ 0x1p1_))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.477.wat:1:39: error: unexpected token 0x1p1_.
+ (global v128 (v128.const f64x2 0x1p1_ 0x1p1_))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1532: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.478.wat:1:32: error: unexpected token "0x1_p1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 0x1_p1 0x1_p1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.478.wat:1:39: error: unexpected token 0x1_p1.
+ (global v128 (v128.const f64x2 0x1_p1 0x1_p1))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1536: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.479.wat:1:32: error: unexpected token "0x1p_1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 0x1p_1 0x1p_1))
+ ^^^^^^
+ out/test/spec/simd/simd_const/simd_const.479.wat:1:39: error: unexpected token 0x1p_1.
+ (global v128 (v128.const f64x2 0x1p_1 0x1p_1))
+ ^^^^^^
+out/test/spec/simd/simd_const.wast:1540: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.480.wat:1:32: error: unexpected token "0x_1.0p1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 0x_1.0p1 0x_1.0p1))
+ ^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.480.wat:1:41: error: unexpected token 0x_1.0p1.
+ (global v128 (v128.const f64x2 0x_1.0p1 0x_1.0p1))
+ ^^^^^^^^
+out/test/spec/simd/simd_const.wast:1544: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.481.wat:1:32: error: unexpected token "0x1.0p1_", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 0x1.0p1_ 0x1.0p1_))
+ ^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.481.wat:1:41: error: unexpected token 0x1.0p1_.
+ (global v128 (v128.const f64x2 0x1.0p1_ 0x1.0p1_))
+ ^^^^^^^^
+out/test/spec/simd/simd_const.wast:1548: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.482.wat:1:32: error: unexpected token "0x1.0_p1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 0x1.0_p1 0x1.0_p1))
+ ^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.482.wat:1:41: error: unexpected token 0x1.0_p1.
+ (global v128 (v128.const f64x2 0x1.0_p1 0x1.0_p1))
+ ^^^^^^^^
+out/test/spec/simd/simd_const.wast:1552: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.483.wat:1:32: error: unexpected token "0x1.0p_1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 0x1.0p_1 0x1.0p_1))
+ ^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.483.wat:1:41: error: unexpected token 0x1.0p_1.
+ (global v128 (v128.const f64x2 0x1.0p_1 0x1.0p_1))
+ ^^^^^^^^
+out/test/spec/simd/simd_const.wast:1556: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.484.wat:1:32: error: unexpected token "0x1.0p+_1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 0x1.0p+_1 0x1.0p+_1))
+ ^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.484.wat:1:42: error: unexpected token 0x1.0p+_1.
+ (global v128 (v128.const f64x2 0x1.0p+_1 0x1.0p+_1))
+ ^^^^^^^^^
+out/test/spec/simd/simd_const.wast:1560: assert_malformed passed:
+ out/test/spec/simd/simd_const/simd_const.485.wat:1:32: error: unexpected token "0x1.0p_+1", expected a Float literal (e.g. 42.0).
+ (global v128 (v128.const f64x2 0x1.0p_+1 0x1.0p_+1))
+ ^^^^^^^^^
+ out/test/spec/simd/simd_const/simd_const.485.wat:1:42: error: unexpected token 0x1.0p_+1.
+ (global v128 (v128.const f64x2 0x1.0p_+1 0x1.0p_+1))
+ ^^^^^^^^^
+444/444 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_conversions.txt b/test/spec/simd/simd_conversions.txt
new file mode 100644
index 00000000..0a36aa62
--- /dev/null
+++ b/test/spec/simd/simd_conversions.txt
@@ -0,0 +1,246 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_conversions.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_conversions.wast:988: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.1.wat:1:22: error: unexpected token "i32x4.trunc_sat_f32x4", expected an instr.
+ (func (result v128) (i32x4.trunc_sat_f32x4 (v128.const f32x4 0.0 0.0 0.0 0.0)))
+ ^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:991: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.2.wat:1:22: error: unexpected token "i32x4.trunc_s_sat_f32x4", expected an instr.
+ (func (result v128) (i32x4.trunc_s_sat_f32x4 (v128.const f32x4 -2.0 -1.0 1.0 ...
+ ^^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:994: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.3.wat:1:22: error: unexpected token "i32x4.trunc_u_sat_f32x4", expected an instr.
+ (func (result v128) (i32x4.trunc_u_sat_f32x4 (v128.const f32x4 -2.0 -1.0 1.0 ...
+ ^^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:997: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.4.wat:1:22: error: unexpected token "i32x4.convert_f32x4", expected an instr.
+ (func (result v128) (i32x4.convert_f32x4 (v128.const f32x4 -1 0 1 2)))
+ ^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1000: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.5.wat:1:22: error: unexpected token "i32x4.convert_s_f32x4", expected an instr.
+ (func (result v128) (i32x4.convert_s_f32x4 (v128.const f32x4 -1 0 1 2)))
+ ^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1003: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.6.wat:1:22: error: unexpected token "i32x4.convert_u_f32x4", expected an instr.
+ (func (result v128) (i32x4.convert_u_f32x4 (v128.const f32x4 -1 0 1 2)))
+ ^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1007: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.7.wat:1:22: error: unexpected token "i64x2.trunc_sat_f64x2_s", expected an instr.
+ (func (result v128) (i64x2.trunc_sat_f64x2_s (v128.const f64x2 0.0 0.0)))
+ ^^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1010: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.8.wat:1:22: error: unexpected token "i64x2.trunc_sat_f64x2_u", expected an instr.
+ (func (result v128) (i64x2.trunc_sat_f64x2_u (v128.const f64x2 -2.0 -1.0)))
+ ^^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1013: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.9.wat:1:22: error: unexpected token "f64x2.convert_i64x2_s", expected an instr.
+ (func (result v128) (f64x2.convert_i64x2_s (v128.const i64x2 1 2)))
+ ^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1016: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.10.wat:1:22: error: unexpected token "f64x2.convert_i64x2_u", expected an instr.
+ (func (result v128) (f64x2.convert_i64x2_u (v128.const i64x2 1 2)))
+ ^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1020: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.11.wat:1:22: error: unexpected token "i8x16.narrow_i16x8", expected an instr.
+ (func (result v128) (i8x16.narrow_i16x8 (v128.const i16x8 0 0 0 0 0 0 0 0) (v...
+ ^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1023: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.12.wat:1:22: error: unexpected token "i16x8.narrow_i8x16", expected an instr.
+ (func (result v128) (i16x8.narrow_i8x16 (v128.const i16x8 0 0 0 0 0 0 0 0) (v...
+ ^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1026: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.13.wat:1:22: error: unexpected token "i16x8.narrow_i8x16_s", expected an instr.
+ (func (result v128) (i16x8.narrow_i8x16_s (v128.const i8x16 0 0 0 0 0 0 0 0 0...
+ ^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1029: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.14.wat:1:22: error: unexpected token "i16x8.narrow_i8x16_u", expected an instr.
+ (func (result v128) (i16x8.narrow_i8x16_u (v128.const i8x16 0 0 0 0 0 0 0 0 0...
+ ^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1032: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.15.wat:1:22: error: unexpected token "i16x8.narrow_i32x4", expected an instr.
+ (func (result v128) (i16x8.narrow_i32x4 (v128.const i16x8 0 0 0 0 0 0 0 0) (v...
+ ^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1035: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.16.wat:1:22: error: unexpected token "i32x4.narrow_i16x8", expected an instr.
+ (func (result v128) (i32x4.narrow_i16x8 (v128.const i16x8 0 0 0 0 0 0 0 0) (v...
+ ^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1038: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.17.wat:1:22: error: unexpected token "i32x4.narrow_i16x8_s", expected an instr.
+ (func (result v128) (i32x4.narrow_i16x8_s (v128.const i8x16 0 0 0 0 0 0 0 0 0...
+ ^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1041: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.18.wat:1:22: error: unexpected token "i32x4.narrow_i16x8_u", expected an instr.
+ (func (result v128) (i32x4.narrow_i16x8_u (v128.const i8x16 0 0 0 0 0 0 0 0 0...
+ ^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1045: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.19.wat:1:22: error: unexpected token "i16x8.widen_low_i8x16", expected an instr.
+ (func (result v128) (i16x8.widen_low_i8x16 (v128.const i8x16 0 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1048: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.20.wat:1:22: error: unexpected token "i8x16.widen_low_i16x8_s", expected an instr.
+ (func (result v128) (i8x16.widen_low_i16x8_s (v128.const i16x8 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1051: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.21.wat:1:22: error: unexpected token "i8x16.widen_low_i16x8_u", expected an instr.
+ (func (result v128) (i8x16.widen_low_i16x8_u (v128.const i16x8 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1054: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.22.wat:1:22: error: unexpected token "i16x8.widen_high_i8x16", expected an instr.
+ (func (result v128) (i16x8.widen_high_i8x16 (v128.const i8x16 0 0 0 0 0 0 0 0...
+ ^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1057: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.23.wat:1:22: error: unexpected token "i8x16.widen_high_i16x8_s", expected an instr.
+ (func (result v128) (i8x16.widen_high_i16x8_s (v128.const i16x8 0 0 0 0 0 0 0...
+ ^^^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1060: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.24.wat:1:22: error: unexpected token "i8x16.widen_high_i16x8_u", expected an instr.
+ (func (result v128) (i8x16.widen_high_i16x8_u (v128.const i16x8 0 0 0 0 0 0 0...
+ ^^^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1063: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.25.wat:1:22: error: unexpected token "i32x4.widen_low_i16x8", expected an instr.
+ (func (result v128) (i32x4.widen_low_i16x8 (v128.const i16x8 0 0 0 0 0 0 0 0)))
+ ^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1066: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.26.wat:1:22: error: unexpected token "i16x8.widen_low_i32x4_s", expected an instr.
+ (func (result v128) (i16x8.widen_low_i32x4_s (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1069: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.27.wat:1:22: error: unexpected token "i16x8.widen_low_i32x4_u", expected an instr.
+ (func (result v128) (i16x8.widen_low_i32x4_u (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1072: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.28.wat:1:22: error: unexpected token "i32x4.widen_high_i16x8", expected an instr.
+ (func (result v128) (i32x4.widen_high_i16x8 (v128.const i16x8 0 0 0 0 0 0 0 0)))
+ ^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1075: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.29.wat:1:22: error: unexpected token "i16x8.widen_high_i32x4_s", expected an instr.
+ (func (result v128) (i16x8.widen_high_i32x4_s (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1078: assert_malformed passed:
+ out/test/spec/simd/simd_conversions/simd_conversions.30.wat:1:22: error: unexpected token "i16x8.widen_high_i32x4_u", expected an instr.
+ (func (result v128) (i16x8.widen_high_i32x4_u (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_conversions.wast:1085: assert_invalid passed:
+ error: type mismatch in i32x4.trunc_sat_f32x4_s, expected [v128] but got [i32]
+ 000001d: error: OnConvertExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1086: assert_invalid passed:
+ error: type mismatch in i32x4.trunc_sat_f32x4_s, expected [v128] but got [i64]
+ 000001d: error: OnConvertExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1087: assert_invalid passed:
+ error: type mismatch in i32x4.trunc_sat_f32x4_u, expected [v128] but got [i32]
+ 000001d: error: OnConvertExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1088: assert_invalid passed:
+ error: type mismatch in i32x4.trunc_sat_f32x4_u, expected [v128] but got [i64]
+ 000001d: error: OnConvertExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1089: assert_invalid passed:
+ error: type mismatch in f32x4.convert_i32x4_s, expected [v128] but got [i32]
+ 000001d: error: OnConvertExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1090: assert_invalid passed:
+ error: type mismatch in f32x4.convert_i32x4_s, expected [v128] but got [i64]
+ 000001d: error: OnConvertExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1091: assert_invalid passed:
+ error: type mismatch in f32x4.convert_i32x4_u, expected [v128] but got [i32]
+ 000001d: error: OnConvertExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1092: assert_invalid passed:
+ error: type mismatch in f32x4.convert_i32x4_u, expected [v128] but got [i64]
+ 000001d: error: OnConvertExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1094: assert_invalid passed:
+ error: type mismatch in i8x16.narrow_i16x8_s, expected [v128, v128] but got [i32, i64]
+ 000001f: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1095: assert_invalid passed:
+ error: type mismatch in i8x16.narrow_i16x8_u, expected [v128, v128] but got [i32, i64]
+ 000001f: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1096: assert_invalid passed:
+ error: type mismatch in i16x8.narrow_i32x4_s, expected [v128, v128] but got [f32, f64]
+ 0000029: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1097: assert_invalid passed:
+ error: type mismatch in i16x8.narrow_i32x4_s, expected [v128, v128] but got [f32, f64]
+ 0000029: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1099: assert_invalid passed:
+ error: type mismatch in i16x8.widen_low_i8x16_s, expected [v128] but got [f32]
+ 0000020: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1100: assert_invalid passed:
+ error: type mismatch in i16x8.widen_high_i8x16_s, expected [v128] but got [f32]
+ 0000020: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1101: assert_invalid passed:
+ error: type mismatch in i16x8.widen_low_i8x16_u, expected [v128] but got [f32]
+ 0000020: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1102: assert_invalid passed:
+ error: type mismatch in i16x8.widen_high_i8x16_u, expected [v128] but got [f32]
+ 0000020: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1103: assert_invalid passed:
+ error: type mismatch in i32x4.widen_low_i16x8_s, expected [v128] but got [f32]
+ 0000020: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1104: assert_invalid passed:
+ error: type mismatch in i32x4.widen_high_i16x8_s, expected [v128] but got [f32]
+ 0000020: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1105: assert_invalid passed:
+ error: type mismatch in i32x4.widen_low_i16x8_u, expected [v128] but got [f32]
+ 0000020: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1106: assert_invalid passed:
+ error: type mismatch in i32x4.widen_high_i16x8_u, expected [v128] but got [f32]
+ 0000020: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1217: assert_invalid passed:
+ error: type mismatch in i32x4.trunc_sat_f32x4_s, expected [v128] but got []
+ 000001b: error: OnConvertExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1225: assert_invalid passed:
+ error: type mismatch in i32x4.trunc_sat_f32x4_u, expected [v128] but got []
+ 000001b: error: OnConvertExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1233: assert_invalid passed:
+ error: type mismatch in f32x4.convert_i32x4_s, expected [v128] but got []
+ 000001b: error: OnConvertExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1241: assert_invalid passed:
+ error: type mismatch in f32x4.convert_i32x4_u, expected [v128] but got []
+ 000001b: error: OnConvertExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1249: assert_invalid passed:
+ error: type mismatch in i8x16.narrow_i16x8_s, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1257: assert_invalid passed:
+ error: type mismatch in i8x16.narrow_i16x8_s, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1265: assert_invalid passed:
+ error: type mismatch in i8x16.narrow_i16x8_u, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1273: assert_invalid passed:
+ error: type mismatch in i8x16.narrow_i16x8_u, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1281: assert_invalid passed:
+ error: type mismatch in i16x8.narrow_i32x4_s, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1289: assert_invalid passed:
+ error: type mismatch in i16x8.narrow_i32x4_s, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1297: assert_invalid passed:
+ error: type mismatch in i16x8.narrow_i32x4_u, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1305: assert_invalid passed:
+ error: type mismatch in i16x8.narrow_i32x4_u, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1313: assert_invalid passed:
+ error: type mismatch in i16x8.widen_high_i8x16_s, expected [v128] but got []
+ 000001b: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1321: assert_invalid passed:
+ error: type mismatch in i16x8.widen_high_i8x16_u, expected [v128] but got []
+ 000001b: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1329: assert_invalid passed:
+ error: type mismatch in i16x8.widen_low_i8x16_s, expected [v128] but got []
+ 000001b: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1337: assert_invalid passed:
+ error: type mismatch in i16x8.widen_low_i8x16_u, expected [v128] but got []
+ 000001b: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1345: assert_invalid passed:
+ error: type mismatch in i32x4.widen_high_i16x8_s, expected [v128] but got []
+ 000001b: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1353: assert_invalid passed:
+ error: type mismatch in i32x4.widen_high_i16x8_u, expected [v128] but got []
+ 000001b: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1361: assert_invalid passed:
+ error: type mismatch in i32x4.widen_low_i16x8_s, expected [v128] but got []
+ 000001b: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_conversions.wast:1369: assert_invalid passed:
+ error: type mismatch in i32x4.widen_low_i16x8_u, expected [v128] but got []
+ 000001b: error: OnUnaryExpr callback failed
+483/483 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_f32x4.txt b/test/spec/simd/simd_f32x4.txt
new file mode 100644
index 00000000..37a51586
--- /dev/null
+++ b/test/spec/simd/simd_f32x4.txt
@@ -0,0 +1,78 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_f32x4.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_f32x4.wast:2325: assert_malformed passed:
+ out/test/spec/simd/simd_f32x4/simd_f32x4.1.wat:1:33: error: unexpected token "i8x16.abs", expected an instr.
+ (memory 1) (func (result v128) (i8x16.abs (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^
+out/test/spec/simd/simd_f32x4.wast:2326: assert_malformed passed:
+ out/test/spec/simd/simd_f32x4/simd_f32x4.2.wat:1:33: error: unexpected token "i8x16.min", expected an instr.
+ (memory 1) (func (result v128) (i8x16.min (v128.const i32x4 0 0 0 0) (v128.co...
+ ^^^^^^^^^
+out/test/spec/simd/simd_f32x4.wast:2327: assert_malformed passed:
+ out/test/spec/simd/simd_f32x4/simd_f32x4.3.wat:1:33: error: unexpected token "i8x16.max", expected an instr.
+ (memory 1) (func (result v128) (i8x16.max (v128.const i32x4 0 0 0 0) (v128.co...
+ ^^^^^^^^^
+out/test/spec/simd/simd_f32x4.wast:2328: assert_malformed passed:
+ out/test/spec/simd/simd_f32x4/simd_f32x4.4.wat:1:33: error: unexpected token "i16x8.abs", expected an instr.
+ (memory 1) (func (result v128) (i16x8.abs (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^
+out/test/spec/simd/simd_f32x4.wast:2329: assert_malformed passed:
+ out/test/spec/simd/simd_f32x4/simd_f32x4.5.wat:1:33: error: unexpected token "i16x8.min", expected an instr.
+ (memory 1) (func (result v128) (i16x8.min (v128.const i32x4 0 0 0 0) (v128.co...
+ ^^^^^^^^^
+out/test/spec/simd/simd_f32x4.wast:2330: assert_malformed passed:
+ out/test/spec/simd/simd_f32x4/simd_f32x4.6.wat:1:33: error: unexpected token "i16x8.max", expected an instr.
+ (memory 1) (func (result v128) (i16x8.max (v128.const i32x4 0 0 0 0) (v128.co...
+ ^^^^^^^^^
+out/test/spec/simd/simd_f32x4.wast:2331: assert_malformed passed:
+ out/test/spec/simd/simd_f32x4/simd_f32x4.7.wat:1:33: error: unexpected token "i32x4.abs", expected an instr.
+ (memory 1) (func (result v128) (i32x4.abs (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^
+out/test/spec/simd/simd_f32x4.wast:2332: assert_malformed passed:
+ out/test/spec/simd/simd_f32x4/simd_f32x4.8.wat:1:33: error: unexpected token "i32x4.min", expected an instr.
+ (memory 1) (func (result v128) (i32x4.min (v128.const i32x4 0 0 0 0) (v128.co...
+ ^^^^^^^^^
+out/test/spec/simd/simd_f32x4.wast:2333: assert_malformed passed:
+ out/test/spec/simd/simd_f32x4/simd_f32x4.9.wat:1:33: error: unexpected token "i32x4.max", expected an instr.
+ (memory 1) (func (result v128) (i32x4.max (v128.const i32x4 0 0 0 0) (v128.co...
+ ^^^^^^^^^
+out/test/spec/simd/simd_f32x4.wast:2334: assert_malformed passed:
+ out/test/spec/simd/simd_f32x4/simd_f32x4.10.wat:1:33: error: unexpected token "i64x2.abs", expected an instr.
+ (memory 1) (func (result v128) (i64x2.abs (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^
+out/test/spec/simd/simd_f32x4.wast:2335: assert_malformed passed:
+ out/test/spec/simd/simd_f32x4/simd_f32x4.11.wat:1:33: error: unexpected token "i64x2.min", expected an instr.
+ (memory 1) (func (result v128) (i64x2.min (v128.const i32x4 0 0 0 0) (v128.co...
+ ^^^^^^^^^
+out/test/spec/simd/simd_f32x4.wast:2336: assert_malformed passed:
+ out/test/spec/simd/simd_f32x4/simd_f32x4.12.wat:1:33: error: unexpected token "i64x2.max", expected an instr.
+ (memory 1) (func (result v128) (i64x2.max (v128.const i32x4 0 0 0 0) (v128.co...
+ ^^^^^^^^^
+out/test/spec/simd/simd_f32x4.wast:2339: assert_invalid passed:
+ error: type mismatch in f32x4.abs, expected [v128] but got [i32]
+ 000001d: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_f32x4.wast:2340: assert_invalid passed:
+ error: type mismatch in f32x4.min, expected [v128, v128] but got [i32, f32]
+ 0000022: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f32x4.wast:2341: assert_invalid passed:
+ error: type mismatch in f32x4.max, expected [v128, v128] but got [i32, f32]
+ 0000022: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f32x4.wast:2346: assert_invalid passed:
+ error: type mismatch in f32x4.abs, expected [v128] but got []
+ 000001b: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_f32x4.wast:2354: assert_invalid passed:
+ error: type mismatch in f32x4.min, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f32x4.wast:2362: assert_invalid passed:
+ error: type mismatch in f32x4.min, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f32x4.wast:2370: assert_invalid passed:
+ error: type mismatch in f32x4.max, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f32x4.wast:2378: assert_invalid passed:
+ error: type mismatch in f32x4.max, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+792/792 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_f32x4_arith.txt b/test/spec/simd/simd_f32x4_arith.txt
new file mode 100644
index 00000000..f8410a9d
--- /dev/null
+++ b/test/spec/simd/simd_f32x4_arith.txt
@@ -0,0 +1,54 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_f32x4_arith.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_f32x4_arith.wast:5295: assert_invalid passed:
+ error: type mismatch in f32x4.neg, expected [v128] but got [i32]
+ 000001d: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_f32x4_arith.wast:5296: assert_invalid passed:
+ error: type mismatch in f32x4.sqrt, expected [v128] but got [i32]
+ 000001d: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_f32x4_arith.wast:5297: assert_invalid passed:
+ error: type mismatch in f32x4.add, expected [v128, v128] but got [i32, f32]
+ 0000022: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f32x4_arith.wast:5298: assert_invalid passed:
+ error: type mismatch in f32x4.sub, expected [v128, v128] but got [i32, f32]
+ 0000022: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f32x4_arith.wast:5299: assert_invalid passed:
+ error: type mismatch in f32x4.mul, expected [v128, v128] but got [i32, f32]
+ 0000022: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f32x4_arith.wast:5300: assert_invalid passed:
+ error: type mismatch in f32x4.div, expected [v128, v128] but got [i32, f32]
+ 0000022: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f32x4_arith.wast:5305: assert_invalid passed:
+ error: type mismatch in f32x4.neg, expected [v128] but got []
+ 000001b: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_f32x4_arith.wast:5313: assert_invalid passed:
+ error: type mismatch in f32x4.sqrt, expected [v128] but got []
+ 000001b: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_f32x4_arith.wast:5321: assert_invalid passed:
+ error: type mismatch in f32x4.add, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f32x4_arith.wast:5329: assert_invalid passed:
+ error: type mismatch in f32x4.add, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f32x4_arith.wast:5337: assert_invalid passed:
+ error: type mismatch in f32x4.sub, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f32x4_arith.wast:5345: assert_invalid passed:
+ error: type mismatch in f32x4.sub, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f32x4_arith.wast:5353: assert_invalid passed:
+ error: type mismatch in f32x4.mul, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f32x4_arith.wast:5361: assert_invalid passed:
+ error: type mismatch in f32x4.mul, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f32x4_arith.wast:5369: assert_invalid passed:
+ error: type mismatch in f32x4.div, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f32x4_arith.wast:5377: assert_invalid passed:
+ error: type mismatch in f32x4.div, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+1819/1819 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_f32x4_cmp.txt b/test/spec/simd/simd_f32x4_cmp.txt
new file mode 100644
index 00000000..ca71d3b3
--- /dev/null
+++ b/test/spec/simd/simd_f32x4_cmp.txt
@@ -0,0 +1,84 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_f32x4_cmp.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_f32x4_cmp.wast:7779: assert_invalid passed:
+ error: type mismatch in f32x4.eq, expected [v128, v128] but got [i64, f64]
+ 0000025: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f32x4_cmp.wast:7780: assert_invalid passed:
+ error: type mismatch in f32x4.ge, expected [v128, v128] but got [i64, f64]
+ 0000025: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f32x4_cmp.wast:7781: assert_invalid passed:
+ error: type mismatch in f32x4.gt, expected [v128, v128] but got [i64, f64]
+ 0000025: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f32x4_cmp.wast:7782: assert_invalid passed:
+ error: type mismatch in f32x4.le, expected [v128, v128] but got [i64, f64]
+ 0000025: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f32x4_cmp.wast:7783: assert_invalid passed:
+ error: type mismatch in f32x4.lt, expected [v128, v128] but got [i64, f64]
+ 0000025: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f32x4_cmp.wast:7784: assert_invalid passed:
+ error: type mismatch in f32x4.ne, expected [v128, v128] but got [i64, f64]
+ 0000025: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f32x4_cmp.wast:7789: assert_malformed passed:
+ out/test/spec/simd/simd_f32x4_cmp/simd_f32x4_cmp.7.wat:1:65: error: unexpected token "f4x32.eq", expected an instr.
+ ...v128) (param $y v128) (result v128) (f4x32.eq (local.get $x) (local.get $y)))
+ ^^^^^^^^
+out/test/spec/simd/simd_f32x4_cmp.wast:7790: assert_malformed passed:
+ out/test/spec/simd/simd_f32x4_cmp/simd_f32x4_cmp.8.wat:1:65: error: unexpected token "f4x32.ge", expected an instr.
+ ...v128) (param $y v128) (result v128) (f4x32.ge (local.get $x) (local.get $y)))
+ ^^^^^^^^
+out/test/spec/simd/simd_f32x4_cmp.wast:7791: assert_malformed passed:
+ out/test/spec/simd/simd_f32x4_cmp/simd_f32x4_cmp.9.wat:1:65: error: unexpected token "f4x32.gt", expected an instr.
+ ...v128) (param $y v128) (result v128) (f4x32.gt (local.get $x) (local.get $y)))
+ ^^^^^^^^
+out/test/spec/simd/simd_f32x4_cmp.wast:7792: assert_malformed passed:
+ out/test/spec/simd/simd_f32x4_cmp/simd_f32x4_cmp.10.wat:1:65: error: unexpected token "f4x32.le", expected an instr.
+ ...v128) (param $y v128) (result v128) (f4x32.le (local.get $x) (local.get $y)))
+ ^^^^^^^^
+out/test/spec/simd/simd_f32x4_cmp.wast:7793: assert_malformed passed:
+ out/test/spec/simd/simd_f32x4_cmp/simd_f32x4_cmp.11.wat:1:65: error: unexpected token "f4x32.lt", expected an instr.
+ ...v128) (param $y v128) (result v128) (f4x32.lt (local.get $x) (local.get $y)))
+ ^^^^^^^^
+out/test/spec/simd/simd_f32x4_cmp.wast:7794: assert_malformed passed:
+ out/test/spec/simd/simd_f32x4_cmp/simd_f32x4_cmp.12.wat:1:65: error: unexpected token "f4x32.ne", expected an instr.
+ ...v128) (param $y v128) (result v128) (f4x32.ne (local.get $x) (local.get $y)))
+ ^^^^^^^^
+out/test/spec/simd/simd_f32x4_cmp.wast:8073: assert_invalid passed:
+ error: type mismatch in f32x4.eq, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f32x4_cmp.wast:8081: assert_invalid passed:
+ error: type mismatch in f32x4.eq, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f32x4_cmp.wast:8089: assert_invalid passed:
+ error: type mismatch in f32x4.ne, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f32x4_cmp.wast:8097: assert_invalid passed:
+ error: type mismatch in f32x4.ne, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f32x4_cmp.wast:8105: assert_invalid passed:
+ error: type mismatch in f32x4.lt, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f32x4_cmp.wast:8113: assert_invalid passed:
+ error: type mismatch in f32x4.lt, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f32x4_cmp.wast:8121: assert_invalid passed:
+ error: type mismatch in f32x4.le, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f32x4_cmp.wast:8129: assert_invalid passed:
+ error: type mismatch in f32x4.le, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f32x4_cmp.wast:8137: assert_invalid passed:
+ error: type mismatch in f32x4.gt, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f32x4_cmp.wast:8145: assert_invalid passed:
+ error: type mismatch in f32x4.gt, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f32x4_cmp.wast:8153: assert_invalid passed:
+ error: type mismatch in f32x4.ge, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f32x4_cmp.wast:8161: assert_invalid passed:
+ error: type mismatch in f32x4.ge, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+2605/2605 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_f64x2.txt b/test/spec/simd/simd_f64x2.txt
new file mode 100644
index 00000000..53b86533
--- /dev/null
+++ b/test/spec/simd/simd_f64x2.txt
@@ -0,0 +1,30 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_f64x2.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_f64x2.wast:2387: assert_invalid passed:
+ error: type mismatch in f64x2.abs, expected [v128] but got [i32]
+ 000001d: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_f64x2.wast:2388: assert_invalid passed:
+ error: type mismatch in f64x2.min, expected [v128, v128] but got [i32, f32]
+ 0000022: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f64x2.wast:2389: assert_invalid passed:
+ error: type mismatch in f64x2.max, expected [v128, v128] but got [i32, f32]
+ 0000022: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f64x2.wast:2394: assert_invalid passed:
+ error: type mismatch in f64x2.abs, expected [v128] but got []
+ 000001b: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_f64x2.wast:2402: assert_invalid passed:
+ error: type mismatch in f64x2.min, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f64x2.wast:2410: assert_invalid passed:
+ error: type mismatch in f64x2.min, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f64x2.wast:2418: assert_invalid passed:
+ error: type mismatch in f64x2.max, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f64x2.wast:2426: assert_invalid passed:
+ error: type mismatch in f64x2.max, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+801/801 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_f64x2_arith.txt b/test/spec/simd/simd_f64x2_arith.txt
new file mode 100644
index 00000000..648dfe10
--- /dev/null
+++ b/test/spec/simd/simd_f64x2_arith.txt
@@ -0,0 +1,54 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_f64x2_arith.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_f64x2_arith.wast:5302: assert_invalid passed:
+ error: type mismatch in f64x2.neg, expected [v128] but got [i64]
+ 000001d: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_f64x2_arith.wast:5303: assert_invalid passed:
+ error: type mismatch in f64x2.sqrt, expected [v128] but got [i64]
+ 000001d: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_f64x2_arith.wast:5304: assert_invalid passed:
+ error: type mismatch in f64x2.add, expected [v128, v128] but got [i64, f64]
+ 0000026: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f64x2_arith.wast:5305: assert_invalid passed:
+ error: type mismatch in f64x2.sub, expected [v128, v128] but got [i64, f64]
+ 0000026: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f64x2_arith.wast:5306: assert_invalid passed:
+ error: type mismatch in f64x2.mul, expected [v128, v128] but got [i64, f64]
+ 0000026: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f64x2_arith.wast:5307: assert_invalid passed:
+ error: type mismatch in f64x2.div, expected [v128, v128] but got [i64, f64]
+ 0000026: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f64x2_arith.wast:5312: assert_invalid passed:
+ error: type mismatch in f64x2.neg, expected [v128] but got []
+ 000001b: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_f64x2_arith.wast:5320: assert_invalid passed:
+ error: type mismatch in f64x2.sqrt, expected [v128] but got []
+ 000001b: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_f64x2_arith.wast:5328: assert_invalid passed:
+ error: type mismatch in f64x2.add, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f64x2_arith.wast:5336: assert_invalid passed:
+ error: type mismatch in f64x2.add, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f64x2_arith.wast:5344: assert_invalid passed:
+ error: type mismatch in f64x2.sub, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f64x2_arith.wast:5352: assert_invalid passed:
+ error: type mismatch in f64x2.sub, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f64x2_arith.wast:5360: assert_invalid passed:
+ error: type mismatch in f64x2.mul, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f64x2_arith.wast:5368: assert_invalid passed:
+ error: type mismatch in f64x2.mul, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f64x2_arith.wast:5376: assert_invalid passed:
+ error: type mismatch in f64x2.div, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_f64x2_arith.wast:5384: assert_invalid passed:
+ error: type mismatch in f64x2.div, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+1822/1822 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_f64x2_cmp.txt b/test/spec/simd/simd_f64x2_cmp.txt
new file mode 100644
index 00000000..e853c2f0
--- /dev/null
+++ b/test/spec/simd/simd_f64x2_cmp.txt
@@ -0,0 +1,84 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_f64x2_cmp.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_f64x2_cmp.wast:7954: assert_malformed passed:
+ out/test/spec/simd/simd_f64x2_cmp/simd_f64x2_cmp.1.wat:1:66: error: unexpected token "f2x64.eq", expected an instr.
+ ...v128) (param $y v128) (result v128) (f2x64.eq (local.get $x) (local.get $y)))
+ ^^^^^^^^
+out/test/spec/simd/simd_f64x2_cmp.wast:7955: assert_malformed passed:
+ out/test/spec/simd/simd_f64x2_cmp/simd_f64x2_cmp.2.wat:1:66: error: unexpected token "f2x64.ne", expected an instr.
+ ...v128) (param $y v128) (result v128) (f2x64.ne (local.get $x) (local.get $y)))
+ ^^^^^^^^
+out/test/spec/simd/simd_f64x2_cmp.wast:7956: assert_malformed passed:
+ out/test/spec/simd/simd_f64x2_cmp/simd_f64x2_cmp.3.wat:1:66: error: unexpected token "f2x64.lt", expected an instr.
+ ...v128) (param $y v128) (result v128) (f2x64.lt (local.get $x) (local.get $y)))
+ ^^^^^^^^
+out/test/spec/simd/simd_f64x2_cmp.wast:7957: assert_malformed passed:
+ out/test/spec/simd/simd_f64x2_cmp/simd_f64x2_cmp.4.wat:1:66: error: unexpected token "f2x64.le", expected an instr.
+ ...v128) (param $y v128) (result v128) (f2x64.le (local.get $x) (local.get $y)))
+ ^^^^^^^^
+out/test/spec/simd/simd_f64x2_cmp.wast:7958: assert_malformed passed:
+ out/test/spec/simd/simd_f64x2_cmp/simd_f64x2_cmp.5.wat:1:66: error: unexpected token "f2x64.gt", expected an instr.
+ ...v128) (param $y v128) (result v128) (f2x64.gt (local.get $x) (local.get $y)))
+ ^^^^^^^^
+out/test/spec/simd/simd_f64x2_cmp.wast:7959: assert_malformed passed:
+ out/test/spec/simd/simd_f64x2_cmp/simd_f64x2_cmp.6.wat:1:66: error: unexpected token "f2x64.ge", expected an instr.
+ ...v128) (param $y v128) (result v128) (f2x64.ge (local.get $x) (local.get $y)))
+ ^^^^^^^^
+out/test/spec/simd/simd_f64x2_cmp.wast:7962: assert_invalid passed:
+ error: type mismatch in f64x2.eq, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f64x2_cmp.wast:7963: assert_invalid passed:
+ error: type mismatch in f64x2.ne, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f64x2_cmp.wast:7964: assert_invalid passed:
+ error: type mismatch in f64x2.lt, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f64x2_cmp.wast:7965: assert_invalid passed:
+ error: type mismatch in f64x2.le, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f64x2_cmp.wast:7966: assert_invalid passed:
+ error: type mismatch in f64x2.gt, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f64x2_cmp.wast:7967: assert_invalid passed:
+ error: type mismatch in f64x2.ge, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f64x2_cmp.wast:7972: assert_invalid passed:
+ error: type mismatch in f64x2.eq, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f64x2_cmp.wast:7980: assert_invalid passed:
+ error: type mismatch in f64x2.eq, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f64x2_cmp.wast:7988: assert_invalid passed:
+ error: type mismatch in f64x2.ne, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f64x2_cmp.wast:7996: assert_invalid passed:
+ error: type mismatch in f64x2.ne, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f64x2_cmp.wast:8004: assert_invalid passed:
+ error: type mismatch in f64x2.lt, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f64x2_cmp.wast:8012: assert_invalid passed:
+ error: type mismatch in f64x2.lt, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f64x2_cmp.wast:8020: assert_invalid passed:
+ error: type mismatch in f64x2.le, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f64x2_cmp.wast:8028: assert_invalid passed:
+ error: type mismatch in f64x2.le, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f64x2_cmp.wast:8036: assert_invalid passed:
+ error: type mismatch in f64x2.gt, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f64x2_cmp.wast:8044: assert_invalid passed:
+ error: type mismatch in f64x2.gt, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f64x2_cmp.wast:8052: assert_invalid passed:
+ error: type mismatch in f64x2.ge, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_f64x2_cmp.wast:8060: assert_invalid passed:
+ error: type mismatch in f64x2.ge, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+2683/2683 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_i16x8_arith.txt b/test/spec/simd/simd_i16x8_arith.txt
new file mode 100644
index 00000000..f99d06e6
--- /dev/null
+++ b/test/spec/simd/simd_i16x8_arith.txt
@@ -0,0 +1,39 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_i16x8_arith.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_i16x8_arith.wast:528: assert_invalid passed:
+ error: type mismatch in i16x8.neg, expected [v128] but got [i32]
+ 000001c: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith.wast:529: assert_invalid passed:
+ error: type mismatch in i16x8.add, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith.wast:530: assert_invalid passed:
+ error: type mismatch in i16x8.sub, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith.wast:531: assert_invalid passed:
+ error: type mismatch in i16x8.mul, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith.wast:536: assert_invalid passed:
+ error: type mismatch in i16x8.neg, expected [v128] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith.wast:544: assert_invalid passed:
+ error: type mismatch in i16x8.add, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith.wast:552: assert_invalid passed:
+ error: type mismatch in i16x8.add, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith.wast:560: assert_invalid passed:
+ error: type mismatch in i16x8.sub, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith.wast:568: assert_invalid passed:
+ error: type mismatch in i16x8.sub, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith.wast:576: assert_invalid passed:
+ error: type mismatch in i16x8.mul, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith.wast:584: assert_invalid passed:
+ error: type mismatch in i16x8.mul, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+192/192 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_i16x8_arith2.txt b/test/spec/simd/simd_i16x8_arith2.txt
new file mode 100644
index 00000000..71a742a2
--- /dev/null
+++ b/test/spec/simd/simd_i16x8_arith2.txt
@@ -0,0 +1,59 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_i16x8_arith2.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_i16x8_arith2.wast:296: assert_malformed passed:
+ out/test/spec/simd/simd_i16x8_arith2/simd_i16x8_arith2.1.wat:1:33: error: unexpected token "i16x8.avgr", expected an instr.
+ (memory 1) (func (result v128) (i16x8.avgr (v128.const i16x8 0 0 0 0 0 0 0 0)...
+ ^^^^^^^^^^
+out/test/spec/simd/simd_i16x8_arith2.wast:297: assert_malformed passed:
+ out/test/spec/simd/simd_i16x8_arith2/simd_i16x8_arith2.2.wat:1:33: error: unexpected token "i16x8.avgr_s", expected an instr.
+ (memory 1) (func (result v128) (i16x8.avgr_s (v128.const i16x8 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^^^
+out/test/spec/simd/simd_i16x8_arith2.wast:300: assert_invalid passed:
+ error: type mismatch in i16x8.min_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith2.wast:301: assert_invalid passed:
+ error: type mismatch in i16x8.min_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith2.wast:302: assert_invalid passed:
+ error: type mismatch in i16x8.max_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith2.wast:303: assert_invalid passed:
+ error: type mismatch in i16x8.max_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith2.wast:304: assert_invalid passed:
+ error: type mismatch in i16x8.avgr_u, expected [v128, v128] but got [i32, f32]
+ 0000022: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith2.wast:309: assert_invalid passed:
+ error: type mismatch in i16x8.min_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith2.wast:317: assert_invalid passed:
+ error: type mismatch in i16x8.min_s, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith2.wast:325: assert_invalid passed:
+ error: type mismatch in i16x8.min_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith2.wast:333: assert_invalid passed:
+ error: type mismatch in i16x8.min_u, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith2.wast:341: assert_invalid passed:
+ error: type mismatch in i16x8.max_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith2.wast:349: assert_invalid passed:
+ error: type mismatch in i16x8.max_s, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith2.wast:357: assert_invalid passed:
+ error: type mismatch in i16x8.max_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith2.wast:365: assert_invalid passed:
+ error: type mismatch in i16x8.max_u, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith2.wast:373: assert_invalid passed:
+ error: type mismatch in i16x8.avgr_u, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_arith2.wast:381: assert_invalid passed:
+ error: type mismatch in i16x8.avgr_u, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+137/137 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_i16x8_cmp.txt b/test/spec/simd/simd_i16x8_cmp.txt
new file mode 100644
index 00000000..83e75681
--- /dev/null
+++ b/test/spec/simd/simd_i16x8_cmp.txt
@@ -0,0 +1,96 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_i16x8_cmp.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_i16x8_cmp.wast:1455: assert_invalid passed:
+ error: type mismatch in i16x8.eq, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1456: assert_invalid passed:
+ error: type mismatch in i16x8.ge_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1457: assert_invalid passed:
+ error: type mismatch in i16x8.ge_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1458: assert_invalid passed:
+ error: type mismatch in i16x8.gt_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1459: assert_invalid passed:
+ error: type mismatch in i16x8.gt_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1460: assert_invalid passed:
+ error: type mismatch in i16x8.le_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1461: assert_invalid passed:
+ error: type mismatch in i16x8.le_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1462: assert_invalid passed:
+ error: type mismatch in i16x8.lt_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1463: assert_invalid passed:
+ error: type mismatch in i16x8.lt_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1464: assert_invalid passed:
+ error: type mismatch in i16x8.ne, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1743: assert_invalid passed:
+ error: type mismatch in i16x8.eq, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1751: assert_invalid passed:
+ error: type mismatch in i16x8.eq, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1759: assert_invalid passed:
+ error: type mismatch in i16x8.ne, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1767: assert_invalid passed:
+ error: type mismatch in i16x8.ne, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1775: assert_invalid passed:
+ error: type mismatch in i16x8.lt_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1783: assert_invalid passed:
+ error: type mismatch in i16x8.lt_s, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1791: assert_invalid passed:
+ error: type mismatch in i16x8.lt_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1799: assert_invalid passed:
+ error: type mismatch in i16x8.lt_u, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1807: assert_invalid passed:
+ error: type mismatch in i16x8.le_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1815: assert_invalid passed:
+ error: type mismatch in i16x8.le_s, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1823: assert_invalid passed:
+ error: type mismatch in i16x8.le_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1831: assert_invalid passed:
+ error: type mismatch in i16x8.le_u, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1839: assert_invalid passed:
+ error: type mismatch in i16x8.gt_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1847: assert_invalid passed:
+ error: type mismatch in i16x8.gt_s, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1855: assert_invalid passed:
+ error: type mismatch in i16x8.gt_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1863: assert_invalid passed:
+ error: type mismatch in i16x8.gt_u, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1871: assert_invalid passed:
+ error: type mismatch in i16x8.ge_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1879: assert_invalid passed:
+ error: type mismatch in i16x8.ge_s, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1887: assert_invalid passed:
+ error: type mismatch in i16x8.ge_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i16x8_cmp.wast:1895: assert_invalid passed:
+ error: type mismatch in i16x8.ge_u, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+463/463 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_i16x8_sat_arith.txt b/test/spec/simd/simd_i16x8_sat_arith.txt
new file mode 100644
index 00000000..ea463299
--- /dev/null
+++ b/test/spec/simd/simd_i16x8_sat_arith.txt
@@ -0,0 +1,58 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_i16x8_sat_arith.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_i16x8_sat_arith.wast:609: assert_malformed passed:
+ out/test/spec/simd/simd_i16x8_sat_arith/simd_i16x8_sat_arith.1.wat:1:22: error: unexpected token "i16x8.add_saturate", expected an instr.
+ (func (result v128) (i16x8.add_saturate (v128.const i16x8 1 1 1 1 1 1 1 1) (v...
+ ^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_i16x8_sat_arith.wast:612: assert_malformed passed:
+ out/test/spec/simd/simd_i16x8_sat_arith/simd_i16x8_sat_arith.2.wat:1:22: error: unexpected token "i16x8.sub_saturate", expected an instr.
+ (func (result v128) (i16x8.sub_saturate (v128.const i16x8 1 1 1 1 1 1 1 1) (v...
+ ^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_i16x8_sat_arith.wast:615: assert_malformed passed:
+ out/test/spec/simd/simd_i16x8_sat_arith/simd_i16x8_sat_arith.3.wat:1:22: error: unexpected token "i16x8.mul_saturate", expected an instr.
+ (func (result v128) (i16x8.mul_saturate (v128.const i16x8 1 1 1 1 1 1 1 1) (v...
+ ^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_i16x8_sat_arith.wast:618: assert_malformed passed:
+ out/test/spec/simd/simd_i16x8_sat_arith/simd_i16x8_sat_arith.4.wat:1:22: error: unexpected token "i16x8.div_saturate", expected an instr.
+ (func (result v128) (i16x8.div_saturate (v128.const i16x8 1 1 1 1 1 1 1 1) (v...
+ ^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_i16x8_sat_arith.wast:623: assert_invalid passed:
+ error: type mismatch in i16x8.add_saturate_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_sat_arith.wast:624: assert_invalid passed:
+ error: type mismatch in i16x8.add_saturate_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_sat_arith.wast:625: assert_invalid passed:
+ error: type mismatch in i16x8.sub_saturate_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_sat_arith.wast:626: assert_invalid passed:
+ error: type mismatch in i16x8.sub_saturate_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_sat_arith.wast:631: assert_invalid passed:
+ error: type mismatch in i16x8.add_saturate_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_sat_arith.wast:639: assert_invalid passed:
+ error: type mismatch in i16x8.add_saturate_s, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_sat_arith.wast:647: assert_invalid passed:
+ error: type mismatch in i16x8.add_saturate_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_sat_arith.wast:655: assert_invalid passed:
+ error: type mismatch in i16x8.add_saturate_u, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_sat_arith.wast:663: assert_invalid passed:
+ error: type mismatch in i16x8.sub_saturate_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_sat_arith.wast:671: assert_invalid passed:
+ error: type mismatch in i16x8.sub_saturate_s, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_sat_arith.wast:679: assert_invalid passed:
+ error: type mismatch in i16x8.sub_saturate_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i16x8_sat_arith.wast:687: assert_invalid passed:
+ error: type mismatch in i16x8.sub_saturate_u, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+220/220 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_i32x4_arith.txt b/test/spec/simd/simd_i32x4_arith.txt
new file mode 100644
index 00000000..13bb4c61
--- /dev/null
+++ b/test/spec/simd/simd_i32x4_arith.txt
@@ -0,0 +1,39 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_i32x4_arith.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_i32x4_arith.wast:528: assert_invalid passed:
+ error: type mismatch in i32x4.neg, expected [v128] but got [i32]
+ 000001c: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith.wast:529: assert_invalid passed:
+ error: type mismatch in i32x4.add, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith.wast:530: assert_invalid passed:
+ error: type mismatch in i32x4.sub, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith.wast:531: assert_invalid passed:
+ error: type mismatch in i32x4.mul, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith.wast:536: assert_invalid passed:
+ error: type mismatch in i32x4.neg, expected [v128] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith.wast:544: assert_invalid passed:
+ error: type mismatch in i32x4.add, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith.wast:552: assert_invalid passed:
+ error: type mismatch in i32x4.add, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith.wast:560: assert_invalid passed:
+ error: type mismatch in i32x4.sub, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith.wast:568: assert_invalid passed:
+ error: type mismatch in i32x4.sub, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith.wast:576: assert_invalid passed:
+ error: type mismatch in i32x4.mul, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith.wast:584: assert_invalid passed:
+ error: type mismatch in i32x4.mul, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+192/192 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_i32x4_arith2.txt b/test/spec/simd/simd_i32x4_arith2.txt
new file mode 100644
index 00000000..a7e445cb
--- /dev/null
+++ b/test/spec/simd/simd_i32x4_arith2.txt
@@ -0,0 +1,90 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_i32x4_arith2.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_i32x4_arith2.wast:240: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_arith2/simd_i32x4_arith2.1.wat:1:33: error: unexpected token "f32x4.min_s", expected an instr.
+ (memory 1) (func (result v128) (f32x4.min_s (v128.const i32x4 0 0 0 0) (v128....
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_arith2.wast:241: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_arith2/simd_i32x4_arith2.2.wat:1:33: error: unexpected token "f32x4.min_u", expected an instr.
+ (memory 1) (func (result v128) (f32x4.min_u (v128.const i32x4 0 0 0 0) (v128....
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_arith2.wast:242: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_arith2/simd_i32x4_arith2.3.wat:1:33: error: unexpected token "f32x4.max_s", expected an instr.
+ (memory 1) (func (result v128) (f32x4.max_s (v128.const i32x4 0 0 0 0) (v128....
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_arith2.wast:243: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_arith2/simd_i32x4_arith2.4.wat:1:33: error: unexpected token "f32x4.max_u", expected an instr.
+ (memory 1) (func (result v128) (f32x4.max_u (v128.const i32x4 0 0 0 0) (v128....
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_arith2.wast:244: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_arith2/simd_i32x4_arith2.5.wat:1:33: error: unexpected token "i64x2.min_s", expected an instr.
+ (memory 1) (func (result v128) (i64x2.min_s (v128.const i32x4 0 0 0 0) (v128....
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_arith2.wast:245: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_arith2/simd_i32x4_arith2.6.wat:1:33: error: unexpected token "i64x2.min_u", expected an instr.
+ (memory 1) (func (result v128) (i64x2.min_u (v128.const i32x4 0 0 0 0) (v128....
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_arith2.wast:246: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_arith2/simd_i32x4_arith2.7.wat:1:33: error: unexpected token "i64x2.max_s", expected an instr.
+ (memory 1) (func (result v128) (i64x2.max_s (v128.const i32x4 0 0 0 0) (v128....
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_arith2.wast:247: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_arith2/simd_i32x4_arith2.8.wat:1:33: error: unexpected token "i64x2.max_u", expected an instr.
+ (memory 1) (func (result v128) (i64x2.max_u (v128.const i32x4 0 0 0 0) (v128....
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_arith2.wast:248: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_arith2/simd_i32x4_arith2.9.wat:1:33: error: unexpected token "f64x2.min_s", expected an instr.
+ (memory 1) (func (result v128) (f64x2.min_s (v128.const i32x4 0 0 0 0) (v128....
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_arith2.wast:249: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_arith2/simd_i32x4_arith2.10.wat:1:33: error: unexpected token "f64x2.min_u", expected an instr.
+ (memory 1) (func (result v128) (f64x2.min_u (v128.const i32x4 0 0 0 0) (v128....
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_arith2.wast:250: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_arith2/simd_i32x4_arith2.11.wat:1:33: error: unexpected token "f64x2.max_s", expected an instr.
+ (memory 1) (func (result v128) (f64x2.max_s (v128.const i32x4 0 0 0 0) (v128....
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_arith2.wast:251: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_arith2/simd_i32x4_arith2.12.wat:1:33: error: unexpected token "f64x2.max_u", expected an instr.
+ (memory 1) (func (result v128) (f64x2.max_u (v128.const i32x4 0 0 0 0) (v128....
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_arith2.wast:254: assert_invalid passed:
+ error: type mismatch in i32x4.min_s, expected [v128, v128] but got [i32, f32]
+ 0000022: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith2.wast:255: assert_invalid passed:
+ error: type mismatch in i32x4.min_u, expected [v128, v128] but got [i32, f32]
+ 0000022: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith2.wast:256: assert_invalid passed:
+ error: type mismatch in i32x4.max_s, expected [v128, v128] but got [i32, f32]
+ 0000022: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith2.wast:257: assert_invalid passed:
+ error: type mismatch in i32x4.max_u, expected [v128, v128] but got [i32, f32]
+ 0000022: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith2.wast:262: assert_invalid passed:
+ error: type mismatch in i32x4.min_s, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith2.wast:270: assert_invalid passed:
+ error: type mismatch in i32x4.min_s, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith2.wast:278: assert_invalid passed:
+ error: type mismatch in i32x4.min_u, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith2.wast:286: assert_invalid passed:
+ error: type mismatch in i32x4.min_u, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith2.wast:294: assert_invalid passed:
+ error: type mismatch in i32x4.max_s, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith2.wast:302: assert_invalid passed:
+ error: type mismatch in i32x4.max_s, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith2.wast:310: assert_invalid passed:
+ error: type mismatch in i32x4.max_u, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i32x4_arith2.wast:318: assert_invalid passed:
+ error: type mismatch in i32x4.max_u, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+116/116 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_i32x4_cmp.txt b/test/spec/simd/simd_i32x4_cmp.txt
new file mode 100644
index 00000000..7292e983
--- /dev/null
+++ b/test/spec/simd/simd_i32x4_cmp.txt
@@ -0,0 +1,136 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_i32x4_cmp.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_i32x4_cmp.wast:1461: assert_invalid passed:
+ error: type mismatch in i32x4.eq, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1462: assert_invalid passed:
+ error: type mismatch in i32x4.ge_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1463: assert_invalid passed:
+ error: type mismatch in i32x4.ge_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1464: assert_invalid passed:
+ error: type mismatch in i32x4.gt_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1465: assert_invalid passed:
+ error: type mismatch in i32x4.gt_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1466: assert_invalid passed:
+ error: type mismatch in i32x4.le_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1467: assert_invalid passed:
+ error: type mismatch in i32x4.le_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1468: assert_invalid passed:
+ error: type mismatch in i32x4.lt_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1469: assert_invalid passed:
+ error: type mismatch in i32x4.lt_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1470: assert_invalid passed:
+ error: type mismatch in i32x4.ne, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1749: assert_invalid passed:
+ error: type mismatch in i32x4.eq, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1757: assert_invalid passed:
+ error: type mismatch in i32x4.eq, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1765: assert_invalid passed:
+ error: type mismatch in i32x4.ne, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1773: assert_invalid passed:
+ error: type mismatch in i32x4.ne, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1781: assert_invalid passed:
+ error: type mismatch in i32x4.lt_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1789: assert_invalid passed:
+ error: type mismatch in i32x4.lt_s, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1797: assert_invalid passed:
+ error: type mismatch in i32x4.lt_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1805: assert_invalid passed:
+ error: type mismatch in i32x4.lt_u, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1813: assert_invalid passed:
+ error: type mismatch in i32x4.le_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1821: assert_invalid passed:
+ error: type mismatch in i32x4.le_s, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1829: assert_invalid passed:
+ error: type mismatch in i32x4.le_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1837: assert_invalid passed:
+ error: type mismatch in i32x4.le_u, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1845: assert_invalid passed:
+ error: type mismatch in i32x4.gt_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1853: assert_invalid passed:
+ error: type mismatch in i32x4.gt_s, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1861: assert_invalid passed:
+ error: type mismatch in i32x4.gt_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1869: assert_invalid passed:
+ error: type mismatch in i32x4.gt_u, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1877: assert_invalid passed:
+ error: type mismatch in i32x4.ge_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1885: assert_invalid passed:
+ error: type mismatch in i32x4.ge_s, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1893: assert_invalid passed:
+ error: type mismatch in i32x4.ge_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1901: assert_invalid passed:
+ error: type mismatch in i32x4.ge_u, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i32x4_cmp.wast:1910: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_cmp/simd_i32x4_cmp.32.wat:1:65: error: unexpected token "i4x32.eq", expected an instr.
+ ...v128) (param $y v128) (result v128) (i4x32.eq (local.get $x) (local.get $y)))
+ ^^^^^^^^
+out/test/spec/simd/simd_i32x4_cmp.wast:1911: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_cmp/simd_i32x4_cmp.33.wat:1:65: error: unexpected token "i4x32.ne", expected an instr.
+ ...v128) (param $y v128) (result v128) (i4x32.ne (local.get $x) (local.get $y)))
+ ^^^^^^^^
+out/test/spec/simd/simd_i32x4_cmp.wast:1912: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_cmp/simd_i32x4_cmp.34.wat:1:65: error: unexpected token "i4x32.lt_s", expected an instr.
+ ...28) (param $y v128) (result v128) (i4x32.lt_s (local.get $x) (local.get $y)))
+ ^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_cmp.wast:1913: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_cmp/simd_i32x4_cmp.35.wat:1:65: error: unexpected token "i4x32.lt_u", expected an instr.
+ ...28) (param $y v128) (result v128) (i4x32.lt_u (local.get $x) (local.get $y)))
+ ^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_cmp.wast:1914: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_cmp/simd_i32x4_cmp.36.wat:1:65: error: unexpected token "i4x32.le_s", expected an instr.
+ ...28) (param $y v128) (result v128) (i4x32.le_s (local.get $x) (local.get $y)))
+ ^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_cmp.wast:1915: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_cmp/simd_i32x4_cmp.37.wat:1:65: error: unexpected token "i4x32.le_u", expected an instr.
+ ...28) (param $y v128) (result v128) (i4x32.le_u (local.get $x) (local.get $y)))
+ ^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_cmp.wast:1916: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_cmp/simd_i32x4_cmp.38.wat:1:65: error: unexpected token "i4x32.gt_s", expected an instr.
+ ...28) (param $y v128) (result v128) (i4x32.gt_s (local.get $x) (local.get $y)))
+ ^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_cmp.wast:1917: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_cmp/simd_i32x4_cmp.39.wat:1:65: error: unexpected token "i4x32.gt_u", expected an instr.
+ ...28) (param $y v128) (result v128) (i4x32.gt_u (local.get $x) (local.get $y)))
+ ^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_cmp.wast:1918: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_cmp/simd_i32x4_cmp.40.wat:1:65: error: unexpected token "i4x32.ge_s", expected an instr.
+ ...28) (param $y v128) (result v128) (i4x32.ge_s (local.get $x) (local.get $y)))
+ ^^^^^^^^^^
+out/test/spec/simd/simd_i32x4_cmp.wast:1919: assert_malformed passed:
+ out/test/spec/simd/simd_i32x4_cmp/simd_i32x4_cmp.41.wat:1:65: error: unexpected token "i4x32.ge_u", expected an instr.
+ ...28) (param $y v128) (result v128) (i4x32.ge_u (local.get $x) (local.get $y)))
+ ^^^^^^^^^^
+473/473 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_i64x2_arith.txt b/test/spec/simd/simd_i64x2_arith.txt
new file mode 100644
index 00000000..d8012fb1
--- /dev/null
+++ b/test/spec/simd/simd_i64x2_arith.txt
@@ -0,0 +1,39 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_i64x2_arith.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_i64x2_arith.wast:546: assert_invalid passed:
+ error: type mismatch in i64x2.neg, expected [v128] but got [i32]
+ 000001d: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_i64x2_arith.wast:547: assert_invalid passed:
+ error: type mismatch in i64x2.add, expected [v128, v128] but got [i32, f32]
+ 0000022: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i64x2_arith.wast:548: assert_invalid passed:
+ error: type mismatch in i64x2.sub, expected [v128, v128] but got [i32, f32]
+ 0000022: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i64x2_arith.wast:549: assert_invalid passed:
+ error: type mismatch in i64x2.mul, expected [v128, v128] but got [i32, f32]
+ 0000022: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i64x2_arith.wast:554: assert_invalid passed:
+ error: type mismatch in i64x2.neg, expected [v128] but got []
+ 000001b: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_i64x2_arith.wast:562: assert_invalid passed:
+ error: type mismatch in i64x2.add, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i64x2_arith.wast:570: assert_invalid passed:
+ error: type mismatch in i64x2.add, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i64x2_arith.wast:578: assert_invalid passed:
+ error: type mismatch in i64x2.sub, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i64x2_arith.wast:586: assert_invalid passed:
+ error: type mismatch in i64x2.sub, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i64x2_arith.wast:594: assert_invalid passed:
+ error: type mismatch in i64x2.mul, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i64x2_arith.wast:602: assert_invalid passed:
+ error: type mismatch in i64x2.mul, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+198/198 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_i8x16_arith.txt b/test/spec/simd/simd_i8x16_arith.txt
new file mode 100644
index 00000000..d93d3a51
--- /dev/null
+++ b/test/spec/simd/simd_i8x16_arith.txt
@@ -0,0 +1,30 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_i8x16_arith.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_i8x16_arith.wast:354: assert_invalid passed:
+ error: type mismatch in i8x16.neg, expected [v128] but got [i32]
+ 000001c: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith.wast:355: assert_invalid passed:
+ error: type mismatch in i8x16.add, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith.wast:356: assert_invalid passed:
+ error: type mismatch in i8x16.sub, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith.wast:361: assert_invalid passed:
+ error: type mismatch in i8x16.neg, expected [v128] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith.wast:369: assert_invalid passed:
+ error: type mismatch in i8x16.add, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith.wast:377: assert_invalid passed:
+ error: type mismatch in i8x16.add, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith.wast:385: assert_invalid passed:
+ error: type mismatch in i8x16.sub, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith.wast:393: assert_invalid passed:
+ error: type mismatch in i8x16.sub, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+129/129 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_i8x16_arith2.txt b/test/spec/simd/simd_i8x16_arith2.txt
new file mode 100644
index 00000000..9c72886f
--- /dev/null
+++ b/test/spec/simd/simd_i8x16_arith2.txt
@@ -0,0 +1,75 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_i8x16_arith2.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_i8x16_arith2.wast:296: assert_malformed passed:
+ out/test/spec/simd/simd_i8x16_arith2/simd_i8x16_arith2.1.wat:1:33: error: unexpected token "i32x4.avgr_u", expected an instr.
+ (memory 1) (func (result v128) (i32x4.avgr_u (v128.const i8x16 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^^^
+out/test/spec/simd/simd_i8x16_arith2.wast:297: assert_malformed passed:
+ out/test/spec/simd/simd_i8x16_arith2/simd_i8x16_arith2.2.wat:1:33: error: unexpected token "f32x4.avgr_u", expected an instr.
+ (memory 1) (func (result v128) (f32x4.avgr_u (v128.const i8x16 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^^^
+out/test/spec/simd/simd_i8x16_arith2.wast:298: assert_malformed passed:
+ out/test/spec/simd/simd_i8x16_arith2/simd_i8x16_arith2.3.wat:1:33: error: unexpected token "i64x2.avgr_u", expected an instr.
+ (memory 1) (func (result v128) (i64x2.avgr_u (v128.const i8x16 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^^^
+out/test/spec/simd/simd_i8x16_arith2.wast:299: assert_malformed passed:
+ out/test/spec/simd/simd_i8x16_arith2/simd_i8x16_arith2.4.wat:1:33: error: unexpected token "f64x2.avgr_u", expected an instr.
+ (memory 1) (func (result v128) (f64x2.avgr_u (v128.const i8x16 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^^^
+out/test/spec/simd/simd_i8x16_arith2.wast:300: assert_malformed passed:
+ out/test/spec/simd/simd_i8x16_arith2/simd_i8x16_arith2.5.wat:1:33: error: unexpected token "i8x16.avgr", expected an instr.
+ (memory 1) (func (result v128) (i8x16.avgr (v128.const i8x16 0 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^
+out/test/spec/simd/simd_i8x16_arith2.wast:301: assert_malformed passed:
+ out/test/spec/simd/simd_i8x16_arith2/simd_i8x16_arith2.6.wat:1:33: error: unexpected token "i8x16.avgr_s", expected an instr.
+ (memory 1) (func (result v128) (i8x16.avgr_s (v128.const i8x16 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^^^
+out/test/spec/simd/simd_i8x16_arith2.wast:304: assert_invalid passed:
+ error: type mismatch in i8x16.min_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith2.wast:305: assert_invalid passed:
+ error: type mismatch in i8x16.min_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith2.wast:306: assert_invalid passed:
+ error: type mismatch in i8x16.max_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith2.wast:307: assert_invalid passed:
+ error: type mismatch in i8x16.max_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith2.wast:308: assert_invalid passed:
+ error: type mismatch in i8x16.avgr_u, expected [v128, v128] but got [i32, f32]
+ 0000022: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith2.wast:313: assert_invalid passed:
+ error: type mismatch in i8x16.min_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith2.wast:321: assert_invalid passed:
+ error: type mismatch in i8x16.min_s, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith2.wast:329: assert_invalid passed:
+ error: type mismatch in i8x16.min_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith2.wast:337: assert_invalid passed:
+ error: type mismatch in i8x16.min_u, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith2.wast:345: assert_invalid passed:
+ error: type mismatch in i8x16.max_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith2.wast:353: assert_invalid passed:
+ error: type mismatch in i8x16.max_s, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith2.wast:361: assert_invalid passed:
+ error: type mismatch in i8x16.max_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith2.wast:369: assert_invalid passed:
+ error: type mismatch in i8x16.max_u, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith2.wast:377: assert_invalid passed:
+ error: type mismatch in i8x16.avgr_u, expected [v128, v128] but got [v128]
+ 000002d: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_arith2.wast:385: assert_invalid passed:
+ error: type mismatch in i8x16.avgr_u, expected [v128, v128] but got []
+ 000001b: error: OnBinaryExpr callback failed
+141/141 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_i8x16_cmp.txt b/test/spec/simd/simd_i8x16_cmp.txt
new file mode 100644
index 00000000..5179f277
--- /dev/null
+++ b/test/spec/simd/simd_i8x16_cmp.txt
@@ -0,0 +1,96 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_i8x16_cmp.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_i8x16_cmp.wast:1401: assert_invalid passed:
+ error: type mismatch in i8x16.eq, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1402: assert_invalid passed:
+ error: type mismatch in i8x16.ge_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1403: assert_invalid passed:
+ error: type mismatch in i8x16.ge_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1404: assert_invalid passed:
+ error: type mismatch in i8x16.gt_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1405: assert_invalid passed:
+ error: type mismatch in i8x16.gt_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1406: assert_invalid passed:
+ error: type mismatch in i8x16.le_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1407: assert_invalid passed:
+ error: type mismatch in i8x16.le_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1408: assert_invalid passed:
+ error: type mismatch in i8x16.lt_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1409: assert_invalid passed:
+ error: type mismatch in i8x16.lt_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1410: assert_invalid passed:
+ error: type mismatch in i8x16.ne, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1689: assert_invalid passed:
+ error: type mismatch in i8x16.eq, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1697: assert_invalid passed:
+ error: type mismatch in i8x16.eq, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1705: assert_invalid passed:
+ error: type mismatch in i8x16.ne, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1713: assert_invalid passed:
+ error: type mismatch in i8x16.ne, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1721: assert_invalid passed:
+ error: type mismatch in i8x16.lt_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1729: assert_invalid passed:
+ error: type mismatch in i8x16.lt_s, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1737: assert_invalid passed:
+ error: type mismatch in i8x16.lt_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1745: assert_invalid passed:
+ error: type mismatch in i8x16.lt_u, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1753: assert_invalid passed:
+ error: type mismatch in i8x16.le_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1761: assert_invalid passed:
+ error: type mismatch in i8x16.le_s, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1769: assert_invalid passed:
+ error: type mismatch in i8x16.le_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1777: assert_invalid passed:
+ error: type mismatch in i8x16.le_u, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1785: assert_invalid passed:
+ error: type mismatch in i8x16.gt_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1793: assert_invalid passed:
+ error: type mismatch in i8x16.gt_s, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1801: assert_invalid passed:
+ error: type mismatch in i8x16.gt_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1809: assert_invalid passed:
+ error: type mismatch in i8x16.gt_u, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1817: assert_invalid passed:
+ error: type mismatch in i8x16.ge_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1825: assert_invalid passed:
+ error: type mismatch in i8x16.ge_s, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1833: assert_invalid passed:
+ error: type mismatch in i8x16.ge_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnCompareExpr callback failed
+out/test/spec/simd/simd_i8x16_cmp.wast:1841: assert_invalid passed:
+ error: type mismatch in i8x16.ge_u, expected [v128, v128] but got []
+ 000001a: error: OnCompareExpr callback failed
+443/443 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_i8x16_sat_arith.txt b/test/spec/simd/simd_i8x16_sat_arith.txt
new file mode 100644
index 00000000..5e84bb20
--- /dev/null
+++ b/test/spec/simd/simd_i8x16_sat_arith.txt
@@ -0,0 +1,90 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_i8x16_sat_arith.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_i8x16_sat_arith.wast:561: assert_malformed passed:
+ out/test/spec/simd/simd_i8x16_sat_arith/simd_i8x16_sat_arith.1.wat:1:22: error: unexpected token "i8x16.add_saturate", expected an instr.
+ (func (result v128) (i8x16.add_saturate (v128.const i8x16 1 1 1 1 1 1 1 1 1 1...
+ ^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_i8x16_sat_arith.wast:564: assert_malformed passed:
+ out/test/spec/simd/simd_i8x16_sat_arith/simd_i8x16_sat_arith.2.wat:1:22: error: unexpected token "i8x16.sub_saturate", expected an instr.
+ (func (result v128) (i8x16.sub_saturate (v128.const i8x16 1 1 1 1 1 1 1 1 1 1...
+ ^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_i8x16_sat_arith.wast:567: assert_malformed passed:
+ out/test/spec/simd/simd_i8x16_sat_arith/simd_i8x16_sat_arith.3.wat:1:22: error: unexpected token "i8x16.mul_saturate", expected an instr.
+ (func (result v128) (i8x16.mul_saturate (v128.const i8x16 1 1 1 1 1 1 1 1 1 1...
+ ^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_i8x16_sat_arith.wast:570: assert_malformed passed:
+ out/test/spec/simd/simd_i8x16_sat_arith/simd_i8x16_sat_arith.4.wat:1:22: error: unexpected token "i8x16.div_saturate", expected an instr.
+ (func (result v128) (i8x16.div_saturate (v128.const i8x16 1 1 1 1 1 1 1 1 1 1...
+ ^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_i8x16_sat_arith.wast:573: assert_malformed passed:
+ out/test/spec/simd/simd_i8x16_sat_arith/simd_i8x16_sat_arith.5.wat:1:22: error: unexpected token "i32x4.add_saturate_s", expected an instr.
+ (func (result v128) (i32x4.add_saturate_s (v128.const i32x4 0 0 0 0) (v128.co...
+ ^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_i8x16_sat_arith.wast:576: assert_malformed passed:
+ out/test/spec/simd/simd_i8x16_sat_arith/simd_i8x16_sat_arith.6.wat:1:22: error: unexpected token "i32x4.add_saturate_u", expected an instr.
+ (func (result v128) (i32x4.add_saturate_u (v128.const i32x4 0 0 0 0) (v128.co...
+ ^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_i8x16_sat_arith.wast:579: assert_malformed passed:
+ out/test/spec/simd/simd_i8x16_sat_arith/simd_i8x16_sat_arith.7.wat:1:22: error: unexpected token "i32x4.sub_saturate_s", expected an instr.
+ (func (result v128) (i32x4.sub_saturate_s (v128.const i32x4 0 0 0 0) (v128.co...
+ ^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_i8x16_sat_arith.wast:582: assert_malformed passed:
+ out/test/spec/simd/simd_i8x16_sat_arith/simd_i8x16_sat_arith.8.wat:1:22: error: unexpected token "i32x4.sub_saturate_u", expected an instr.
+ (func (result v128) (i32x4.sub_saturate_u (v128.const i32x4 0 0 0 0) (v128.co...
+ ^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_i8x16_sat_arith.wast:585: assert_malformed passed:
+ out/test/spec/simd/simd_i8x16_sat_arith/simd_i8x16_sat_arith.9.wat:1:22: error: unexpected token "f32x4.add_saturate_s", expected an instr.
+ (func (result v128) (f32x4.add_saturate_s (v128.const f32x4 0 0 0 0) (v128.co...
+ ^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_i8x16_sat_arith.wast:588: assert_malformed passed:
+ out/test/spec/simd/simd_i8x16_sat_arith/simd_i8x16_sat_arith.10.wat:1:22: error: unexpected token "f32x4.add_saturate_u", expected an instr.
+ (func (result v128) (f32x4.add_saturate_u (v128.const f32x4 0 0 0 0) (v128.co...
+ ^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_i8x16_sat_arith.wast:591: assert_malformed passed:
+ out/test/spec/simd/simd_i8x16_sat_arith/simd_i8x16_sat_arith.11.wat:1:22: error: unexpected token "f32x4.sub_saturate_s", expected an instr.
+ (func (result v128) (f32x4.sub_saturate_s (v128.const f32x4 0 0 0 0) (v128.co...
+ ^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_i8x16_sat_arith.wast:594: assert_malformed passed:
+ out/test/spec/simd/simd_i8x16_sat_arith/simd_i8x16_sat_arith.12.wat:1:22: error: unexpected token "f32x4.sub_saturate_u", expected an instr.
+ (func (result v128) (f32x4.sub_saturate_u (v128.const f32x4 0 0 0 0) (v128.co...
+ ^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_i8x16_sat_arith.wast:599: assert_invalid passed:
+ error: type mismatch in i8x16.add_saturate_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_sat_arith.wast:600: assert_invalid passed:
+ error: type mismatch in i8x16.add_saturate_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_sat_arith.wast:601: assert_invalid passed:
+ error: type mismatch in i8x16.sub_saturate_s, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_sat_arith.wast:602: assert_invalid passed:
+ error: type mismatch in i8x16.sub_saturate_u, expected [v128, v128] but got [i32, f32]
+ 0000021: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_sat_arith.wast:607: assert_invalid passed:
+ error: type mismatch in i8x16.add_saturate_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_sat_arith.wast:615: assert_invalid passed:
+ error: type mismatch in i8x16.add_saturate_s, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_sat_arith.wast:623: assert_invalid passed:
+ error: type mismatch in i8x16.add_saturate_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_sat_arith.wast:631: assert_invalid passed:
+ error: type mismatch in i8x16.add_saturate_u, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_sat_arith.wast:639: assert_invalid passed:
+ error: type mismatch in i8x16.sub_saturate_s, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_sat_arith.wast:647: assert_invalid passed:
+ error: type mismatch in i8x16.sub_saturate_s, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_sat_arith.wast:655: assert_invalid passed:
+ error: type mismatch in i8x16.sub_saturate_u, expected [v128, v128] but got [v128]
+ 000002c: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_i8x16_sat_arith.wast:663: assert_invalid passed:
+ error: type mismatch in i8x16.sub_saturate_u, expected [v128, v128] but got []
+ 000001a: error: OnBinaryExpr callback failed
+212/212 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_lane.txt b/test/spec/simd/simd_lane.txt
new file mode 100644
index 00000000..bd954222
--- /dev/null
+++ b/test/spec/simd/simd_lane.txt
@@ -0,0 +1,908 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_lane.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_lane.wast:398: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.1.wat:1:21: error: lane index "-1" out-of-range [0, 32)
+ (func (result i32) (i8x16.extract_lane_s -1 (v128.const i8x16 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.1.wat:1:97: error: unexpected token ), expected EOF.
+ ...i8x16.extract_lane_s -1 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:399: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.2.wat:1:21: error: lane index "256" out-of-range [0, 32)
+ (func (result i32) (i8x16.extract_lane_s 256 (v128.const i8x16 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.2.wat:1:97: error: unexpected token ), expected EOF.
+ ...i8x16.extract_lane_s 256 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:400: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.3.wat:1:21: error: lane index "-1" out-of-range [0, 32)
+ (func (result i32) (i8x16.extract_lane_u -1 (v128.const i8x16 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.3.wat:1:97: error: unexpected token ), expected EOF.
+ ...i8x16.extract_lane_u -1 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:401: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.4.wat:1:21: error: lane index "256" out-of-range [0, 32)
+ (func (result i32) (i8x16.extract_lane_u 256 (v128.const i8x16 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.4.wat:1:97: error: unexpected token ), expected EOF.
+ ...i8x16.extract_lane_u 256 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:402: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.5.wat:1:21: error: lane index "-1" out-of-range [0, 32)
+ (func (result i32) (i16x8.extract_lane_s -1 (v128.const i16x8 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.5.wat:1:81: error: unexpected token ), expected EOF.
+ ...c (result i32) (i16x8.extract_lane_s -1 (v128.const i16x8 0 0 0 0 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:403: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.6.wat:1:21: error: lane index "256" out-of-range [0, 32)
+ (func (result i32) (i16x8.extract_lane_s 256 (v128.const i16x8 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.6.wat:1:81: error: unexpected token ), expected EOF.
+ ...c (result i32) (i16x8.extract_lane_s 256 (v128.const i16x8 0 0 0 0 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:404: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.7.wat:1:21: error: lane index "-1" out-of-range [0, 32)
+ (func (result i32) (i16x8.extract_lane_u -1 (v128.const i16x8 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.7.wat:1:81: error: unexpected token ), expected EOF.
+ ...c (result i32) (i16x8.extract_lane_u -1 (v128.const i16x8 0 0 0 0 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:405: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.8.wat:1:21: error: lane index "256" out-of-range [0, 32)
+ (func (result i32) (i16x8.extract_lane_u 256 (v128.const i16x8 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.8.wat:1:81: error: unexpected token ), expected EOF.
+ ...c (result i32) (i16x8.extract_lane_u 256 (v128.const i16x8 0 0 0 0 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:406: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.9.wat:1:21: error: lane index "-1" out-of-range [0, 32)
+ (func (result i32) (i32x4.extract_lane -1 (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.9.wat:1:71: error: unexpected token ), expected EOF.
+ (func (result i32) (i32x4.extract_lane -1 (v128.const i32x4 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:407: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.10.wat:1:21: error: lane index "256" out-of-range [0, 32)
+ (func (result i32) (i32x4.extract_lane 256 (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.10.wat:1:71: error: unexpected token ), expected EOF.
+ (func (result i32) (i32x4.extract_lane 256 (v128.const i32x4 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:408: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.11.wat:1:21: error: lane index "-1" out-of-range [0, 32)
+ (func (result f32) (f32x4.extract_lane -1 (v128.const f32x4 0 0 0 0)))
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.11.wat:1:71: error: unexpected token ), expected EOF.
+ (func (result f32) (f32x4.extract_lane -1 (v128.const f32x4 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:409: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.12.wat:1:21: error: lane index "256" out-of-range [0, 32)
+ (func (result f32) (f32x4.extract_lane 256 (v128.const f32x4 0 0 0 0)))
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.12.wat:1:71: error: unexpected token ), expected EOF.
+ (func (result f32) (f32x4.extract_lane 256 (v128.const f32x4 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:410: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.13.wat:1:22: error: lane index "-1" out-of-range [0, 32)
+ (func (result v128) (i8x16.replace_lane -1 (v128.const i8x16 0 0 0 0 0 0 0 0...
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.13.wat:1:110: error: unexpected token ), expected EOF.
+ ...e_lane -1 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (i32.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:411: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.14.wat:1:22: error: lane index "256" out-of-range [0, 32)
+ (func (result v128) (i8x16.replace_lane 256 (v128.const i8x16 0 0 0 0 0 0 0 0...
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.14.wat:1:110: error: unexpected token ), expected EOF.
+ ...e_lane 256 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (i32.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:412: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.15.wat:1:22: error: lane index "-1" out-of-range [0, 32)
+ (func (result v128) (i16x8.replace_lane -1 (v128.const i16x8 0 0 0 0 0 0 0 0...
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.15.wat:1:94: error: unexpected token ), expected EOF.
+ ...8) (i16x8.replace_lane -1 (v128.const i16x8 0 0 0 0 0 0 0 0) (i32.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:413: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.16.wat:1:22: error: lane index "256" out-of-range [0, 32)
+ (func (result v128) (i16x8.replace_lane 256 (v128.const i16x8 0 0 0 0 0 0 0 0...
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.16.wat:1:94: error: unexpected token ), expected EOF.
+ ...8) (i16x8.replace_lane 256 (v128.const i16x8 0 0 0 0 0 0 0 0) (i32.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:414: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.17.wat:1:22: error: lane index "-1" out-of-range [0, 32)
+ (func (result v128) (i32x4.replace_lane -1 (v128.const i32x4 0 0 0 0) (i32.c...
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.17.wat:1:86: error: unexpected token ), expected EOF.
+ ...sult v128) (i32x4.replace_lane -1 (v128.const i32x4 0 0 0 0) (i32.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:415: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.18.wat:1:22: error: lane index "256" out-of-range [0, 32)
+ (func (result v128) (i32x4.replace_lane 256 (v128.const i32x4 0 0 0 0) (i32.c...
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.18.wat:1:86: error: unexpected token ), expected EOF.
+ ...sult v128) (i32x4.replace_lane 256 (v128.const i32x4 0 0 0 0) (i32.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:416: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.19.wat:1:22: error: lane index "-1" out-of-range [0, 32)
+ (func (result v128) (f32x4.replace_lane -1 (v128.const f32x4 0 0 0 0) (i32.c...
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.19.wat:1:86: error: unexpected token ), expected EOF.
+ ...sult v128) (f32x4.replace_lane -1 (v128.const f32x4 0 0 0 0) (i32.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:417: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.20.wat:1:22: error: lane index "256" out-of-range [0, 32)
+ (func (result v128) (f32x4.replace_lane 256 (v128.const f32x4 0 0 0 0) (i32.c...
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.20.wat:1:86: error: unexpected token ), expected EOF.
+ ...sult v128) (f32x4.replace_lane 256 (v128.const f32x4 0 0 0 0) (i32.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:418: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.21.wat:1:21: error: lane index "-1" out-of-range [0, 32)
+ (func (result i64) (i64x2.extract_lane -1 (v128.const i64x2 0 0)))
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.21.wat:1:67: error: unexpected token ), expected EOF.
+ (func (result i64) (i64x2.extract_lane -1 (v128.const i64x2 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:419: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.22.wat:1:21: error: lane index "256" out-of-range [0, 32)
+ (func (result i64) (i64x2.extract_lane 256 (v128.const i64x2 0 0)))
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.22.wat:1:67: error: unexpected token ), expected EOF.
+ (func (result i64) (i64x2.extract_lane 256 (v128.const i64x2 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:420: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.23.wat:1:21: error: lane index "-1" out-of-range [0, 32)
+ (func (result f64) (f64x2.extract_lane -1 (v128.const f64x2 0 0)))
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.23.wat:1:67: error: unexpected token ), expected EOF.
+ (func (result f64) (f64x2.extract_lane -1 (v128.const f64x2 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:421: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.24.wat:1:21: error: lane index "256" out-of-range [0, 32)
+ (func (result f64) (f64x2.extract_lane 256 (v128.const f64x2 0 0)))
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.24.wat:1:67: error: unexpected token ), expected EOF.
+ (func (result f64) (f64x2.extract_lane 256 (v128.const f64x2 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:422: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.25.wat:1:22: error: lane index "-1" out-of-range [0, 32)
+ (func (result v128) (i64x2.replace_lane -1 (v128.const i64x2 0 0) (i64.const...
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.25.wat:1:82: error: unexpected token ), expected EOF.
+ ... (result v128) (i64x2.replace_lane -1 (v128.const i64x2 0 0) (i64.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:423: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.26.wat:1:22: error: lane index "256" out-of-range [0, 32)
+ (func (result v128) (i64x2.replace_lane 256 (v128.const i64x2 0 0) (i64.const...
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.26.wat:1:82: error: unexpected token ), expected EOF.
+ ... (result v128) (i64x2.replace_lane 256 (v128.const i64x2 0 0) (i64.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:424: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.27.wat:1:22: error: lane index "-1" out-of-range [0, 32)
+ (func (result v128) (f64x2.replace_lane -1 (v128.const f64x2 0 0) (f64.const...
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.27.wat:1:82: error: unexpected token ), expected EOF.
+ ... (result v128) (f64x2.replace_lane -1 (v128.const f64x2 0 0) (f64.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:425: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.28.wat:1:22: error: lane index "256" out-of-range [0, 32)
+ (func (result v128) (f64x2.replace_lane 256 (v128.const f64x2 0 0) (f64.const...
+ ^^^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.28.wat:1:82: error: unexpected token ), expected EOF.
+ ... (result v128) (f64x2.replace_lane 256 (v128.const f64x2 0 0) (f64.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:429: assert_invalid passed:
+ error: lane index must be less than 16 (got 16)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:430: assert_invalid passed:
+ error: lane index must be less than 16 (got 255)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:431: assert_invalid passed:
+ error: lane index must be less than 16 (got 16)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:432: assert_invalid passed:
+ error: lane index must be less than 16 (got 255)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:433: assert_invalid passed:
+ error: lane index must be less than 8 (got 8)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:434: assert_invalid passed:
+ error: lane index must be less than 8 (got 255)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:435: assert_invalid passed:
+ error: lane index must be less than 8 (got 8)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:436: assert_invalid passed:
+ error: lane index must be less than 8 (got 255)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:437: assert_invalid passed:
+ error: lane index must be less than 4 (got 4)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:438: assert_invalid passed:
+ error: lane index must be less than 4 (got 255)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:439: assert_invalid passed:
+ error: lane index must be less than 4 (got 4)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:440: assert_invalid passed:
+ error: lane index must be less than 4 (got 255)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:441: assert_invalid passed:
+ error: lane index must be less than 16 (got 16)
+ 000002f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:442: assert_invalid passed:
+ error: lane index must be less than 16 (got 255)
+ 000002f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:443: assert_invalid passed:
+ error: lane index must be less than 8 (got 16)
+ 000002f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:444: assert_invalid passed:
+ error: lane index must be less than 8 (got 255)
+ 000002f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:445: assert_invalid passed:
+ error: lane index must be less than 4 (got 4)
+ 000002f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:446: assert_invalid passed:
+ error: lane index must be less than 4 (got 255)
+ 000002f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:447: assert_invalid passed:
+ error: lane index must be less than 4 (got 4)
+ error: type mismatch in f32x4.replace_lane, expected [v128, f32] but got [v128, i32]
+ 000002f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:448: assert_invalid passed:
+ error: lane index must be less than 4 (got 255)
+ error: type mismatch in f32x4.replace_lane, expected [v128, f32] but got [v128, i32]
+ 000002f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:449: assert_invalid passed:
+ error: lane index must be less than 2 (got 2)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:450: assert_invalid passed:
+ error: lane index must be less than 2 (got 255)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:451: assert_invalid passed:
+ error: lane index must be less than 2 (got 2)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:452: assert_invalid passed:
+ error: lane index must be less than 2 (got 255)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:453: assert_invalid passed:
+ error: lane index must be less than 2 (got 2)
+ 000002f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:454: assert_invalid passed:
+ error: lane index must be less than 2 (got 255)
+ 000002f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:455: assert_invalid passed:
+ error: lane index must be less than 2 (got 2)
+ 0000036: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:456: assert_invalid passed:
+ error: lane index must be less than 2 (got 255)
+ 0000036: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:460: assert_invalid passed:
+ error: lane index must be less than 8 (got 8)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:461: assert_invalid passed:
+ error: lane index must be less than 8 (got 8)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:462: assert_invalid passed:
+ error: lane index must be less than 4 (got 4)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:463: assert_invalid passed:
+ error: lane index must be less than 4 (got 4)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:464: assert_invalid passed:
+ error: lane index must be less than 8 (got 8)
+ 000002f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:465: assert_invalid passed:
+ error: lane index must be less than 4 (got 4)
+ 000002f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:466: assert_invalid passed:
+ error: lane index must be less than 4 (got 4)
+ error: type mismatch in f32x4.replace_lane, expected [v128, f32] but got [v128, i32]
+ 000002f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:467: assert_invalid passed:
+ error: lane index must be less than 2 (got 2)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:468: assert_invalid passed:
+ error: lane index must be less than 2 (got 2)
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:469: assert_invalid passed:
+ error: lane index must be less than 2 (got 2)
+ 000002f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:470: assert_invalid passed:
+ error: lane index must be less than 2 (got 2)
+ 0000036: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:474: assert_invalid passed:
+ error: type mismatch in i8x16.extract_lane_s, expected [v128] but got [i32]
+ 000001d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:475: assert_invalid passed:
+ error: type mismatch in i8x16.extract_lane_u, expected [v128] but got [i64]
+ 000001d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:476: assert_invalid passed:
+ error: type mismatch in i8x16.extract_lane_s, expected [v128] but got [f32]
+ 0000020: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:477: assert_invalid passed:
+ error: type mismatch in i8x16.extract_lane_u, expected [v128] but got [f64]
+ 0000024: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:478: assert_invalid passed:
+ error: type mismatch in i32x4.extract_lane, expected [v128] but got [i32]
+ 000001d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:479: assert_invalid passed:
+ error: type mismatch in f32x4.extract_lane, expected [v128] but got [f32]
+ 0000020: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:480: assert_invalid passed:
+ error: type mismatch in i8x16.replace_lane, expected [v128, i32] but got [i32, i32]
+ 000001f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:481: assert_invalid passed:
+ error: type mismatch in i16x8.replace_lane, expected [v128, i32] but got [i64, i32]
+ 000001f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:482: assert_invalid passed:
+ error: type mismatch in i32x4.replace_lane, expected [v128, i32] but got [i32, i32]
+ 000001f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:483: assert_invalid passed:
+ error: type mismatch in f32x4.replace_lane, expected [v128, f32] but got [f32, i32]
+ 0000022: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:484: assert_invalid passed:
+ error: type mismatch in i64x2.extract_lane, expected [v128] but got [i64]
+ 000001d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:485: assert_invalid passed:
+ error: type mismatch in f64x2.extract_lane, expected [v128] but got [f64]
+ 0000024: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:486: assert_invalid passed:
+ error: type mismatch in i32x4.replace_lane, expected [v128, i32] but got [i32, i32]
+ 000001f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:487: assert_invalid passed:
+ error: type mismatch in f32x4.replace_lane, expected [v128, f32] but got [f32, i32]
+ 0000022: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:491: assert_invalid passed:
+ error: type mismatch in i8x16.replace_lane, expected [v128, i32] but got [v128, f32]
+ 0000032: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:492: assert_invalid passed:
+ error: type mismatch in i16x8.replace_lane, expected [v128, i32] but got [v128, f64]
+ 0000036: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:493: assert_invalid passed:
+ error: type mismatch in i32x4.replace_lane, expected [v128, i32] but got [v128, f32]
+ 0000032: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:494: assert_invalid passed:
+ error: type mismatch in f32x4.replace_lane, expected [v128, f32] but got [v128, i32]
+ 000002f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:496: assert_invalid passed:
+ error: type mismatch in i64x2.replace_lane, expected [v128, i64] but got [v128, f64]
+ 0000036: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:497: assert_invalid passed:
+ error: type mismatch in f64x2.replace_lane, expected [v128, f64] but got [v128, i64]
+ 000002f: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:500: assert_invalid passed:
+ error: type mismatch in v8x16.swizzle, expected [v128, v128] but got [i32, v128]
+ 000002f: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_lane.wast:502: assert_invalid passed:
+ error: type mismatch in v8x16.swizzle, expected [v128, v128] but got [v128, i32]
+ 000002f: error: OnBinaryExpr callback failed
+out/test/spec/simd/simd_lane.wast:504: assert_invalid passed:
+ error: type mismatch in v8x16.shuffle, expected [v128, v128] but got [f32, v128]
+ 0000041: error: OnSimdShuffleOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:507: assert_invalid passed:
+ error: type mismatch in v8x16.shuffle, expected [v128, v128] but got [v128, f32]
+ 0000041: error: OnSimdShuffleOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:512: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.92.wat:1:43: error: unexpected token "0local.get", expected a numeric index or a name (e.g. 12 or $foo).
+ ...am v128) (result v128)local.get 0local.get 0v8x16.shuffle 0 1 2 3 4 5 6 7 ...
+ ^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.92.wat:1:54: error: unexpected token 0v8x16.shuffle.
+ ...ult v128)local.get 0local.get 0v8x16.shuffle 0 1 2 3 4 5 6 7 8 9 10 11 12 ...
+ ^^^^^^^^^^^^^^
+out/test/spec/simd/simd_lane.wast:517: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.93.wat:1:43: error: unexpected token "0local.get", expected a numeric index or a name (e.g. 12 or $foo).
+ ...am v128) (result v128)local.get 0local.get 0v8x16.shuffle 0 1 2 3 4 5 6 7 ...
+ ^^^^^^^^^^
+ out/test/spec/simd/simd_lane/simd_lane.93.wat:1:54: error: unexpected token 0v8x16.shuffle.
+ ...ult v128)local.get 0local.get 0v8x16.shuffle 0 1 2 3 4 5 6 7 8 9 10 11 12 ...
+ ^^^^^^^^^^^^^^
+out/test/spec/simd/simd_lane.wast:522: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.94.wat:1:70: error: unexpected token "-1", expected a natural number in range [0, 32).
+ ... 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 -1(v128.const i8x16 15 14 13 12 11 10 ...
+ ^^
+ out/test/spec/simd/simd_lane/simd_lane.94.wat:1:185: error: unexpected token ), expected EOF.
+ ... 8 7 6 5 4 3 2 1 0)(v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)))
+ ^
+out/test/spec/simd/simd_lane.wast:526: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.95.wat:1:70: error: shuffle index "256" out-of-range [0, 32)
+ ... 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 256(v128.const i8x16 15 14 13 12 11 10...
+ ^^^
+ out/test/spec/simd/simd_lane/simd_lane.95.wat:1:186: error: unexpected token ), expected EOF.
+ ... 8 7 6 5 4 3 2 1 0)(v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)))
+ ^
+out/test/spec/simd/simd_lane.wast:530: assert_invalid passed:
+ error: lane index must be less than 32 (got 255)
+ 000004e: error: OnSimdShuffleOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:537: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.97.wat:1:21: error: unexpected token "i8x16.extract_lane", expected an instr.
+ (func (result i32) (i8x16.extract_lane 0 (v128.const i8x16 0 0 0 0 0 0 0 0 0 ...
+ ^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_lane.wast:538: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.98.wat:1:21: error: unexpected token "i16x8.extract_lane", expected an instr.
+ (func (result i32) (i16x8.extract_lane 0 (v128.const i16x8 0 0 0 0 0 0 0 0)))
+ ^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_lane.wast:539: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.99.wat:1:21: error: unexpected token "i32x4.extract_lane_s", expected an instr.
+ (func (result i32) (i32x4.extract_lane_s 0 (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_lane.wast:540: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.100.wat:1:21: error: unexpected token "i32x4.extract_lane_u", expected an instr.
+ (func (result i32) (i32x4.extract_lane_u 0 (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_lane.wast:541: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.101.wat:1:21: error: unexpected token "i64x2.extract_lane_s", expected an instr.
+ (func (result i32) (i64x2.extract_lane_s 0 (v128.const i64x2 0 0)))
+ ^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_lane.wast:542: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.102.wat:1:21: error: unexpected token "i64x2.extract_lane_u", expected an instr.
+ (func (result i32) (i64x2.extract_lane_u 0 (v128.const i64x2 0 0)))
+ ^^^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_lane.wast:546: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.103.wat:1:22: error: unexpected token "v8x16.shuffle1", expected an instr.
+ (func (result v128) (v8x16.shuffle1 (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 ...
+ ^^^^^^^^^^^^^^
+out/test/spec/simd/simd_lane.wast:550: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.104.wat:1:22: error: unexpected token "v8x16.shuffle2_imm", expected an instr.
+ (func (result v128) (v8x16.shuffle2_imm 0 1 2 3 4 5 6 7 8 9 10 11 1...
+ ^^^^^^^^^^^^^^^^^^
+out/test/spec/simd/simd_lane.wast:556: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.105.wat:1:22: error: unexpected token "i8x16.swizzle", expected an instr.
+ (func (result v128) (i8x16.swizzle (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 1...
+ ^^^^^^^^^^^^^
+out/test/spec/simd/simd_lane.wast:560: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.106.wat:1:22: error: unexpected token "i8x16.shuffle", expected an instr.
+ (func (result v128) (i8x16.shuffle 0 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
+ ^^^^^^^^^^^^^
+out/test/spec/simd/simd_lane.wast:571: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.107.wat:1:54: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...) (result i32) (i8x16.extract_lane_s (local.get 0) (v128.const i8x16 0 0 0...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.107.wat:1:68: error: unexpected token (, expected EOF.
+ ... (i8x16.extract_lane_s (local.get 0) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0...
+ ^
+out/test/spec/simd/simd_lane.wast:572: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.108.wat:1:54: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...) (result i32) (i8x16.extract_lane_u (local.get 0) (v128.const i8x16 0 0 0...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.108.wat:1:68: error: unexpected token (, expected EOF.
+ ... (i8x16.extract_lane_u (local.get 0) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0...
+ ^
+out/test/spec/simd/simd_lane.wast:573: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.109.wat:1:54: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...) (result i32) (i16x8.extract_lane_s (local.get 0) (v128.const i16x8 0 0 0...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.109.wat:1:68: error: unexpected token (, expected EOF.
+ ...i32) (i16x8.extract_lane_s (local.get 0) (v128.const i16x8 0 0 0 0 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:574: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.110.wat:1:54: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...) (result i32) (i16x8.extract_lane_u (local.get 0) (v128.const i16x8 0 0 0...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.110.wat:1:68: error: unexpected token (, expected EOF.
+ ...i32) (i16x8.extract_lane_u (local.get 0) (v128.const i16x8 0 0 0 0 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:575: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.111.wat:1:52: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...32) (result i32) (i32x4.extract_lane (local.get 0) (v128.const i32x4 0 0 0...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.111.wat:1:66: error: unexpected token (, expected EOF.
+ ...) (result i32) (i32x4.extract_lane (local.get 0) (v128.const i32x4 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:576: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.112.wat:1:52: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...32) (result f32) (f32x4.extract_lane (local.get 0) (v128.const f32x4 0 0 0...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.112.wat:1:66: error: unexpected token (, expected EOF.
+ ...) (result f32) (f32x4.extract_lane (local.get 0) (v128.const f32x4 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:577: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.113.wat:1:53: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...2) (result v128) (i8x16.replace_lane (local.get 0) (v128.const i8x16 0 0 0...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.113.wat:1:67: error: unexpected token (, expected EOF.
+ ...8) (i8x16.replace_lane (local.get 0) (v128.const i8x16 0 0 0 0 0 0 0 0 0 0...
+ ^
+out/test/spec/simd/simd_lane.wast:578: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.114.wat:1:53: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...2) (result v128) (i16x8.replace_lane (local.get 0) (v128.const i16x8 0 0 0...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.114.wat:1:67: error: unexpected token (, expected EOF.
+ ...8) (i16x8.replace_lane (local.get 0) (v128.const i16x8 0 0 0 0 0 0 0 0) (i...
+ ^
+out/test/spec/simd/simd_lane.wast:579: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.115.wat:1:53: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...2) (result v128) (i32x4.replace_lane (local.get 0) (v128.const i32x4 0 0 0...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.115.wat:1:67: error: unexpected token (, expected EOF.
+ ...8) (i32x4.replace_lane (local.get 0) (v128.const i32x4 0 0 0 0) (i32.const...
+ ^
+out/test/spec/simd/simd_lane.wast:580: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.116.wat:1:53: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...2) (result v128) (f32x4.replace_lane (local.get 0) (v128.const f32x4 0 0 0...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.116.wat:1:67: error: unexpected token (, expected EOF.
+ ...8) (f32x4.replace_lane (local.get 0) (v128.const f32x4 0 0 0 0) (f32.const...
+ ^
+out/test/spec/simd/simd_lane.wast:581: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.117.wat:1:49: error: unexpected token "(", expected a natural number in range [0, 32).
+ ...m v128) (result v128) (v8x16.shuffle (local.get 0) (v128.const i8x16 15 14...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.117.wat:1:63: error: unexpected token (, expected EOF.
+ ...t v128) (v8x16.shuffle (local.get 0) (v128.const i8x16 15 14 13 12 11 10 9...
+ ^
+out/test/spec/simd/simd_lane.wast:586: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.118.wat:1:52: error: unexpected token "(", expected a natural number (e.g. 123).
+ ... i32) (result i64) (i64x2.extract_lane (local.get 0) (v128.const i64x2 0 0)))
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.118.wat:1:66: error: unexpected token (, expected EOF.
+ ... i32) (result i64) (i64x2.extract_lane (local.get 0) (v128.const i64x2 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:587: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.119.wat:1:52: error: unexpected token "(", expected a natural number (e.g. 123).
+ ... i32) (result f64) (f64x2.extract_lane (local.get 0) (v128.const f64x2 0 0)))
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.119.wat:1:66: error: unexpected token (, expected EOF.
+ ... i32) (result f64) (f64x2.extract_lane (local.get 0) (v128.const f64x2 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:588: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.120.wat:1:53: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...2) (result v128) (i64x2.replace_lane (local.get 0) (v128.const i64x2 0 0) ...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.120.wat:1:67: error: unexpected token (, expected EOF.
+ ...128) (i64x2.replace_lane (local.get 0) (v128.const i64x2 0 0) (i64.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:589: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.121.wat:1:53: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...2) (result v128) (f64x2.replace_lane (local.get 0) (v128.const f64x2 0 0) ...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.121.wat:1:67: error: unexpected token (, expected EOF.
+ ...8) (f64x2.replace_lane (local.get 0) (v128.const f64x2 0 0) (f64.const 1.0)))
+ ^
+out/test/spec/simd/simd_lane.wast:593: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.122.wat:1:42: error: unexpected token "1.5", expected a natural number (e.g. 123).
+ ... (result i32) (i8x16.extract_lane_s 1.5 (v128.const i8x16 0 0 0 0 0 0 0 0 ...
+ ^^^
+ out/test/spec/simd/simd_lane/simd_lane.122.wat:1:97: error: unexpected token ), expected EOF.
+ ...i8x16.extract_lane_s 1.5 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:594: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.123.wat:1:42: error: unexpected token "nan", expected a natural number (e.g. 123).
+ ... (result i32) (i8x16.extract_lane_u nan (v128.const i8x16 0 0 0 0 0 0 0 0 ...
+ ^^^
+ out/test/spec/simd/simd_lane/simd_lane.123.wat:1:97: error: unexpected token ), expected EOF.
+ ...i8x16.extract_lane_u nan (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:595: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.124.wat:1:42: error: unexpected token "inf", expected a natural number (e.g. 123).
+ ...c (result i32) (i16x8.extract_lane_s inf (v128.const i16x8 0 0 0 0 0 0 0 0)))
+ ^^^
+ out/test/spec/simd/simd_lane/simd_lane.124.wat:1:81: error: unexpected token ), expected EOF.
+ ...c (result i32) (i16x8.extract_lane_s inf (v128.const i16x8 0 0 0 0 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:596: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.125.wat:1:42: error: unexpected token "-inf", expected a natural number (e.g. 123).
+ ... (result i32) (i16x8.extract_lane_u -inf (v128.const i16x8 0 0 0 0 0 0 0 0)))
+ ^^^^
+ out/test/spec/simd/simd_lane/simd_lane.125.wat:1:82: error: unexpected token ), expected EOF.
+ ... (result i32) (i16x8.extract_lane_u -inf (v128.const i16x8 0 0 0 0 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:597: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.126.wat:1:40: error: unexpected token "nan", expected a natural number (e.g. 123).
+ (func (result i32) (i32x4.extract_lane nan (v128.const i32x4 0 0 0 0)))
+ ^^^
+ out/test/spec/simd/simd_lane/simd_lane.126.wat:1:71: error: unexpected token ), expected EOF.
+ (func (result i32) (i32x4.extract_lane nan (v128.const i32x4 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:598: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.127.wat:1:40: error: unexpected token "nan", expected a natural number (e.g. 123).
+ (func (result f32) (f32x4.extract_lane nan (v128.const f32x4 0 0 0 0)))
+ ^^^
+ out/test/spec/simd/simd_lane/simd_lane.127.wat:1:71: error: unexpected token ), expected EOF.
+ (func (result f32) (f32x4.extract_lane nan (v128.const f32x4 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:599: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.128.wat:1:41: error: unexpected token "-2.5", expected a natural number (e.g. 123).
+ ... (result v128) (i8x16.replace_lane -2.5 (v128.const i8x16 0 0 0 0 0 0 0 0 ...
+ ^^^^
+ out/test/spec/simd/simd_lane/simd_lane.128.wat:1:111: error: unexpected token ), expected EOF.
+ ..._lane -2.5 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (i32.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:600: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.129.wat:1:41: error: unexpected token "nan", expected a natural number (e.g. 123).
+ ...c (result v128) (i16x8.replace_lane nan (v128.const i16x8 0 0 0 0 0 0 0 0)...
+ ^^^
+ out/test/spec/simd/simd_lane/simd_lane.129.wat:1:94: error: unexpected token ), expected EOF.
+ ...8) (i16x8.replace_lane nan (v128.const i16x8 0 0 0 0 0 0 0 0) (i32.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:601: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.130.wat:1:41: error: unexpected token "inf", expected a natural number (e.g. 123).
+ ...c (result v128) (i32x4.replace_lane inf (v128.const i32x4 0 0 0 0) (i32.co...
+ ^^^
+ out/test/spec/simd/simd_lane/simd_lane.130.wat:1:86: error: unexpected token ), expected EOF.
+ ...sult v128) (i32x4.replace_lane inf (v128.const i32x4 0 0 0 0) (i32.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:602: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.131.wat:1:41: error: unexpected token "-inf", expected a natural number (e.g. 123).
+ ... (result v128) (f32x4.replace_lane -inf (v128.const f32x4 0 0 0 0) (f32.co...
+ ^^^^
+ out/test/spec/simd/simd_lane/simd_lane.131.wat:1:89: error: unexpected token ), expected EOF.
+ ...t v128) (f32x4.replace_lane -inf (v128.const f32x4 0 0 0 0) (f32.const 1.1)))
+ ^
+out/test/spec/simd/simd_lane.wast:604: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.132.wat:1:40: error: unexpected token "nan", expected a natural number (e.g. 123).
+ (func (result i64) (i64x2.extract_lane nan (v128.const i64x2 0 0)))
+ ^^^
+ out/test/spec/simd/simd_lane/simd_lane.132.wat:1:67: error: unexpected token ), expected EOF.
+ (func (result i64) (i64x2.extract_lane nan (v128.const i64x2 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:605: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.133.wat:1:40: error: unexpected token "nan", expected a natural number (e.g. 123).
+ (func (result f64) (f64x2.extract_lane nan (v128.const f64x2 0 0)))
+ ^^^
+ out/test/spec/simd/simd_lane/simd_lane.133.wat:1:67: error: unexpected token ), expected EOF.
+ (func (result f64) (f64x2.extract_lane nan (v128.const f64x2 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:606: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.134.wat:1:41: error: unexpected token "inf", expected a natural number (e.g. 123).
+ ...c (result v128) (i64x2.replace_lane inf (v128.const i64x2 0 0) (i64.const ...
+ ^^^
+ out/test/spec/simd/simd_lane/simd_lane.134.wat:1:82: error: unexpected token ), expected EOF.
+ ... (result v128) (i64x2.replace_lane inf (v128.const i64x2 0 0) (i64.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:607: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.135.wat:1:41: error: unexpected token "-inf", expected a natural number (e.g. 123).
+ ... (result v128) (f64x2.replace_lane -inf (v128.const f64x2 0 0) (f64.const ...
+ ^^^^
+ out/test/spec/simd/simd_lane/simd_lane.135.wat:1:85: error: unexpected token ), expected EOF.
+ ...esult v128) (f64x2.replace_lane -inf (v128.const f64x2 0 0) (f64.const 1.1)))
+ ^
+out/test/spec/simd/simd_lane.wast:610: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.136.wat:1:36: error: unexpected token "(", expected a natural number in range [0, 32).
+ (func (result v128) (v8x16.shuffle (v128.const i8x16 16 17 18 19 20 21 22 23 ...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.136.wat:1:103: error: unexpected token (, expected EOF.
+ ...20 21 22 23 24 25 26 27 28 29 30 31) (v128.const i8x16 15 14 13 12 11 10 9...
+ ^
+out/test/spec/simd/simd_lane.wast:614: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.137.wat:1:71: error: unexpected token "15.0", expected a natural number in range [0, 32).
+ ...0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15.0) (v128.const i8x16 15 14 13 12 11 ...
+ ^^^^
+ out/test/spec/simd/simd_lane/simd_lane.137.wat:1:191: error: unexpected token ), expected EOF.
+ ...8 7 6 5 4 3 2 1 0) (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)))
+ ^
+out/test/spec/simd/simd_lane.wast:618: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.138.wat:1:36: error: unexpected token "0.5", expected a natural number in range [0, 32).
+ (func (result v128) (v8x16.shuffle 0.5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) (...
+ ^^^
+out/test/spec/simd/simd_lane.wast:622: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.139.wat:1:36: error: unexpected token "-inf", expected a natural number in range [0, 32).
+ (func (result v128) (v8x16.shuffle -inf 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) ...
+ ^^^^
+out/test/spec/simd/simd_lane.wast:626: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.140.wat:1:71: error: unexpected token "inf", expected a natural number in range [0, 32).
+ ... 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 inf) (v128.const i8x16 15 14 13 12 11 ...
+ ^^^
+ out/test/spec/simd/simd_lane/simd_lane.140.wat:1:190: error: unexpected token ), expected EOF.
+ ...8 7 6 5 4 3 2 1 0) (v128.const i8x16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)))
+ ^
+out/test/spec/simd/simd_lane.wast:630: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.141.wat:1:36: error: unexpected token "nan", expected a natural number in range [0, 32).
+ (func (result v128) (v8x16.shuffle nan 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) (...
+ ^^^
+out/test/spec/simd/simd_lane.wast:907: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.161.wat:1:42: error: unexpected token "1.0", expected a natural number (e.g. 123).
+ ... (result i32) (i8x16.extract_lane_s 1.0 (v128.const i8x16 0 0 0 0 0 0 0 0 ...
+ ^^^
+ out/test/spec/simd/simd_lane/simd_lane.161.wat:1:97: error: unexpected token ), expected EOF.
+ ...i8x16.extract_lane_s 1.0 (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:912: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.162.wat:1:79: error: unexpected token "(", expected a natural number (e.g. 123).
+ ... (result i32) (i8x16.extract_lane_s (v128.const i8x16 0 0 0 0 0 0 0 0 0 0...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.162.wat:1:129: error: unexpected token ), expected EOF.
+ ...) (i8x16.extract_lane_s (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:920: assert_invalid passed:
+ error: type mismatch in i8x16.extract_lane_s, expected [v128] but got []
+ 000001b: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:928: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.164.wat:1:74: error: unexpected token ")", expected a natural number (e.g. 123).
+ (func $i8x16.extract_lane_s-arg-empty (result i32) (i8x16.extract_lane_s))
+ ^
+out/test/spec/simd/simd_lane.wast:936: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.165.wat:1:79: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...mpty (result i32) (i16x8.extract_lane_u (v128.const i16x8 0 0 0 0 0 0 0 0)))
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.165.wat:1:113: error: unexpected token ), expected EOF.
+ ...mpty (result i32) (i16x8.extract_lane_u (v128.const i16x8 0 0 0 0 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:944: assert_invalid passed:
+ error: type mismatch in i16x8.extract_lane_u, expected [v128] but got []
+ 000001b: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:952: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.167.wat:1:74: error: unexpected token ")", expected a natural number (e.g. 123).
+ (func $i16x8.extract_lane_u-arg-empty (result i32) (i16x8.extract_lane_u))
+ ^
+out/test/spec/simd/simd_lane.wast:960: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.168.wat:1:75: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...-1st-arg-empty (result i32) (i32x4.extract_lane (v128.const i32x4 0 0 0 0)))
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.168.wat:1:101: error: unexpected token ), expected EOF.
+ ...-1st-arg-empty (result i32) (i32x4.extract_lane (v128.const i32x4 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:968: assert_invalid passed:
+ error: type mismatch in i32x4.extract_lane, expected [v128] but got []
+ 000001b: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:976: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.170.wat:1:70: error: unexpected token ")", expected a natural number (e.g. 123).
+ (func $i32x4.extract_lane-arg-empty (result i32) (i32x4.extract_lane))
+ ^
+out/test/spec/simd/simd_lane.wast:984: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.171.wat:1:75: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...lane-1st-arg-empty (result i64) (i64x2.extract_lane (v128.const i64x2 0 0)))
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.171.wat:1:97: error: unexpected token ), expected EOF.
+ ...lane-1st-arg-empty (result i64) (i64x2.extract_lane (v128.const i64x2 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:992: assert_invalid passed:
+ error: type mismatch in i64x2.extract_lane, expected [v128] but got []
+ 000001b: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:1000: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.173.wat:1:70: error: unexpected token ")", expected a natural number (e.g. 123).
+ (func $i64x2.extract_lane-arg-empty (result i64) (i64x2.extract_lane))
+ ^
+out/test/spec/simd/simd_lane.wast:1008: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.174.wat:1:75: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...-1st-arg-empty (result f32) (f32x4.extract_lane (v128.const f32x4 0 0 0 0)))
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.174.wat:1:101: error: unexpected token ), expected EOF.
+ ...-1st-arg-empty (result f32) (f32x4.extract_lane (v128.const f32x4 0 0 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:1016: assert_invalid passed:
+ error: type mismatch in f32x4.extract_lane, expected [v128] but got []
+ 000001b: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:1024: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.176.wat:1:70: error: unexpected token ")", expected a natural number (e.g. 123).
+ (func $f32x4.extract_lane-arg-empty (result f32) (f32x4.extract_lane))
+ ^
+out/test/spec/simd/simd_lane.wast:1032: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.177.wat:1:75: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...lane-1st-arg-empty (result f64) (f64x2.extract_lane (v128.const f64x2 0 0)))
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.177.wat:1:97: error: unexpected token ), expected EOF.
+ ...lane-1st-arg-empty (result f64) (f64x2.extract_lane (v128.const f64x2 0 0)))
+ ^
+out/test/spec/simd/simd_lane.wast:1040: assert_invalid passed:
+ error: type mismatch in f64x2.extract_lane, expected [v128] but got []
+ 000001b: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:1048: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.179.wat:1:70: error: unexpected token ")", expected a natural number (e.g. 123).
+ (func $f64x2.extract_lane-arg-empty (result f64) (f64x2.extract_lane))
+ ^
+out/test/spec/simd/simd_lane.wast:1056: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.180.wat:1:76: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...y (result v128) (i8x16.replace_lane (v128.const i8x16 0 0 0 0 0 0 0 0 0 0...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.180.wat:1:127: error: unexpected token (, expected EOF.
+ ...place_lane (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) (i32.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:1064: assert_invalid passed:
+ error: type mismatch in i8x16.replace_lane, expected [v128, i32] but got [i32]
+ 000001d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:1072: assert_invalid passed:
+ error: type mismatch in i8x16.replace_lane, expected [v128, i32] but got [v128]
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:1080: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.183.wat:1:71: error: unexpected token ")", expected a natural number (e.g. 123).
+ (func $i8x16.replace_lane-arg-empty (result v128) (i8x16.replace_lane))
+ ^
+out/test/spec/simd/simd_lane.wast:1088: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.184.wat:1:76: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...y (result v128) (i16x8.replace_lane (v128.const i16x8 0 0 0 0 0 0 0 0) (i...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.184.wat:1:111: error: unexpected token (, expected EOF.
+ ...v128) (i16x8.replace_lane (v128.const i16x8 0 0 0 0 0 0 0 0) (i32.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:1096: assert_invalid passed:
+ error: type mismatch in i16x8.replace_lane, expected [v128, i32] but got [i32]
+ 000001d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:1104: assert_invalid passed:
+ error: type mismatch in i16x8.replace_lane, expected [v128, i32] but got [v128]
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:1112: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.187.wat:1:71: error: unexpected token ")", expected a natural number (e.g. 123).
+ (func $i16x8.replace_lane-arg-empty (result v128) (i16x8.replace_lane))
+ ^
+out/test/spec/simd/simd_lane.wast:1120: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.188.wat:1:76: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...y (result v128) (i32x4.replace_lane (v128.const i32x4 0 0 0 0) (i32.const...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.188.wat:1:103: error: unexpected token (, expected EOF.
+ ...(result v128) (i32x4.replace_lane (v128.const i32x4 0 0 0 0) (i32.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:1128: assert_invalid passed:
+ error: type mismatch in i32x4.replace_lane, expected [v128, i32] but got [i32]
+ 000001d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:1136: assert_invalid passed:
+ error: type mismatch in i32x4.replace_lane, expected [v128, i32] but got [v128]
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:1144: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.191.wat:1:71: error: unexpected token ")", expected a natural number (e.g. 123).
+ (func $i32x4.replace_lane-arg-empty (result v128) (i32x4.replace_lane))
+ ^
+out/test/spec/simd/simd_lane.wast:1152: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.192.wat:1:76: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...y (result v128) (f32x4.replace_lane (v128.const f32x4 0 0 0 0) (f32.const...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.192.wat:1:103: error: unexpected token (, expected EOF.
+ ...esult v128) (f32x4.replace_lane (v128.const f32x4 0 0 0 0) (f32.const 1.0)))
+ ^
+out/test/spec/simd/simd_lane.wast:1160: assert_invalid passed:
+ error: type mismatch in f32x4.replace_lane, expected [v128, f32] but got [f32]
+ 0000020: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:1168: assert_invalid passed:
+ error: type mismatch in f32x4.replace_lane, expected [v128, f32] but got [v128]
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:1176: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.195.wat:1:71: error: unexpected token ")", expected a natural number (e.g. 123).
+ (func $f32x4.replace_lane-arg-empty (result v128) (f32x4.replace_lane))
+ ^
+out/test/spec/simd/simd_lane.wast:1184: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.196.wat:1:76: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...pty (result v128) (i64x2.replace_lane (v128.const i64x2 0 0) (i64.const 1)))
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.196.wat:1:99: error: unexpected token (, expected EOF.
+ ...pty (result v128) (i64x2.replace_lane (v128.const i64x2 0 0) (i64.const 1)))
+ ^
+out/test/spec/simd/simd_lane.wast:1192: assert_invalid passed:
+ error: type mismatch in i64x2.replace_lane, expected [v128, i64] but got [i64]
+ 000001d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:1200: assert_invalid passed:
+ error: type mismatch in i64x2.replace_lane, expected [v128, i64] but got [v128]
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:1208: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.199.wat:1:71: error: unexpected token ")", expected a natural number (e.g. 123).
+ (func $i64x2.replace_lane-arg-empty (result v128) (i64x2.replace_lane))
+ ^
+out/test/spec/simd/simd_lane.wast:1216: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.200.wat:1:76: error: unexpected token "(", expected a natural number (e.g. 123).
+ ...y (result v128) (f64x2.replace_lane (v128.const f64x2 0 0) (f64.const 1.0)))
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.200.wat:1:99: error: unexpected token (, expected EOF.
+ ...y (result v128) (f64x2.replace_lane (v128.const f64x2 0 0) (f64.const 1.0)))
+ ^
+out/test/spec/simd/simd_lane.wast:1224: assert_invalid passed:
+ error: type mismatch in f64x2.replace_lane, expected [v128, f64] but got [f64]
+ 0000024: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:1232: assert_invalid passed:
+ error: type mismatch in f64x2.replace_lane, expected [v128, f64] but got [v128]
+ 000002d: error: OnSimdLaneOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:1240: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.203.wat:1:71: error: unexpected token ")", expected a natural number (e.g. 123).
+ (func $f64x2.replace_lane-arg-empty (result v128) (f64x2.replace_lane))
+ ^
+out/test/spec/simd/simd_lane.wast:1248: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.204.wat:1:69: error: unexpected token "(", expected a natural number in range [0, 32).
+ ...pty (result v128) (v8x16.shuffle (v128.const i8x16 0 1 2 3 5 6 6 7 8 9...
+ ^
+ out/test/spec/simd/simd_lane/simd_lane.204.wat:1:129: error: unexpected token (, expected EOF.
+ ... 3 5 6 6 7 8 9 10 11 12 13 14 15) (v128.const i8x16 1 2 3 5 6 6 7 8 9 1...
+ ^
+out/test/spec/simd/simd_lane.wast:1259: assert_invalid passed:
+ error: type mismatch in v8x16.shuffle, expected [v128, v128] but got [v128]
+ 000003c: error: OnSimdShuffleOpExpr callback failed
+out/test/spec/simd/simd_lane.wast:1269: assert_malformed passed:
+ out/test/spec/simd/simd_lane/simd_lane.206.wat:1:61: error: unexpected token ")", expected a natural number in range [0, 32).
+ (func $v8x16.shuffle-arg-empty (result v128) (v8x16.shuffle))
+ ^
+461/461 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_load.txt b/test/spec/simd/simd_load.txt
new file mode 100644
index 00000000..9d7da89a
--- /dev/null
+++ b/test/spec/simd/simd_load.txt
@@ -0,0 +1,42 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_load.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_load.wast:141: assert_malformed passed:
+ out/test/spec/simd/simd_load/simd_load.14.wat:1:37: error: unexpected token "v128.load8", expected an expr.
+ (memory 1)(func (local v128) (drop (v128.load8 (i32.const 0))))
+ ^^^^^^^^^^
+ out/test/spec/simd/simd_load/simd_load.14.wat:1:62: error: unexpected token ), expected EOF.
+ (memory 1)(func (local v128) (drop (v128.load8 (i32.const 0))))
+ ^
+out/test/spec/simd/simd_load.wast:148: assert_malformed passed:
+ out/test/spec/simd/simd_load/simd_load.15.wat:1:37: error: unexpected token "v128.load16", expected an expr.
+ (memory 1)(func (local v128) (drop (v128.load16 (i32.const 0))))
+ ^^^^^^^^^^^
+ out/test/spec/simd/simd_load/simd_load.15.wat:1:63: error: unexpected token ), expected EOF.
+ (memory 1)(func (local v128) (drop (v128.load16 (i32.const 0))))
+ ^
+out/test/spec/simd/simd_load.wast:155: assert_malformed passed:
+ out/test/spec/simd/simd_load/simd_load.16.wat:1:37: error: unexpected token "v128.load32", expected an expr.
+ (memory 1)(func (local v128) (drop (v128.load32 (i32.const 0))))
+ ^^^^^^^^^^^
+ out/test/spec/simd/simd_load/simd_load.16.wat:1:63: error: unexpected token ), expected EOF.
+ (memory 1)(func (local v128) (drop (v128.load32 (i32.const 0))))
+ ^
+out/test/spec/simd/simd_load.wast:166: assert_invalid passed:
+ error: type mismatch in v128.load, expected [i32] but got [f32]
+ 0000027: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_load.wast:170: assert_invalid passed:
+ error: type mismatch in br_if, expected [i32] but got [v128]
+ 0000028: error: OnBrIfExpr callback failed
+out/test/spec/simd/simd_load.wast:174: assert_invalid passed:
+ error: type mismatch in function, expected [] but got [v128]
+ 0000025: error: EndFunctionBody callback failed
+out/test/spec/simd/simd_load.wast:182: assert_invalid passed:
+ 0000000: error: local variable out of range (max 0)
+ 000001e: error: OnLocalGetExpr callback failed
+out/test/spec/simd/simd_load.wast:186: assert_invalid passed:
+ error: type mismatch in v128.load, expected [i32] but got []
+ 0000020: error: OnLoadExpr callback failed
+25/25 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_load_extend.txt b/test/spec/simd/simd_load_extend.txt
new file mode 100644
index 00000000..764a485e
--- /dev/null
+++ b/test/spec/simd/simd_load_extend.txt
@@ -0,0 +1,90 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_load_extend.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_load_extend.wast:208: assert_trap passed: out of bounds memory access: access at 4294967295+8 >= max value 65536
+out/test/spec/simd/simd_load_extend.wast:209: assert_trap passed: out of bounds memory access: access at 4294967295+8 >= max value 65536
+out/test/spec/simd/simd_load_extend.wast:210: assert_trap passed: out of bounds memory access: access at 65536+8 >= max value 65536
+out/test/spec/simd/simd_load_extend.wast:211: assert_trap passed: out of bounds memory access: access at 65536+8 >= max value 65536
+out/test/spec/simd/simd_load_extend.wast:212: assert_trap passed: out of bounds memory access: access at 65529+8 >= max value 65536
+out/test/spec/simd/simd_load_extend.wast:213: assert_trap passed: out of bounds memory access: access at 65529+8 >= max value 65536
+out/test/spec/simd/simd_load_extend.wast:216: assert_invalid passed:
+ error: type mismatch in i16x8.load8x8_s, expected [i32] but got [f32]
+ 0000027: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_load_extend.wast:217: assert_invalid passed:
+ error: type mismatch in i16x8.load8x8_u, expected [i32] but got [f32]
+ 0000027: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_load_extend.wast:218: assert_invalid passed:
+ error: type mismatch in i32x4.load16x4_s, expected [i32] but got [f64]
+ 000002b: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_load_extend.wast:219: assert_invalid passed:
+ error: type mismatch in i32x4.load16x4_u, expected [i32] but got [f64]
+ 000002b: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_load_extend.wast:220: assert_invalid passed:
+ error: type mismatch in i64x2.load32x2_s, expected [i32] but got [v128]
+ 0000034: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_load_extend.wast:221: assert_invalid passed:
+ error: type mismatch in i64x2.load32x2_u, expected [i32] but got [v128]
+ 0000034: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_load_extend.wast:226: assert_invalid passed:
+ error: type mismatch in i16x8.load8x8_s, expected [i32] but got []
+ 0000022: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_load_extend.wast:234: assert_invalid passed:
+ error: type mismatch in i16x8.load8x8_u, expected [i32] but got []
+ 0000022: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_load_extend.wast:242: assert_invalid passed:
+ error: type mismatch in i32x4.load16x4_s, expected [i32] but got []
+ 0000022: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_load_extend.wast:250: assert_invalid passed:
+ error: type mismatch in i32x4.load16x4_u, expected [i32] but got []
+ 0000022: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_load_extend.wast:258: assert_invalid passed:
+ error: type mismatch in i64x2.load32x2_s, expected [i32] but got []
+ 0000022: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_load_extend.wast:266: assert_invalid passed:
+ error: type mismatch in i64x2.load32x2_u, expected [i32] but got []
+ 0000022: error: OnLoadExpr callback failed
+out/test/spec/simd/simd_load_extend.wast:276: assert_malformed passed:
+ out/test/spec/simd/simd_load_extend/simd_load_extend.13.wat:1:25: error: unexpected token "i16x8.load16x4_s", expected an expr.
+ (memory 1) (func (drop (i16x8.load16x4_s (i32.const 0))))
+ ^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_load_extend/simd_load_extend.13.wat:1:56: error: unexpected token ), expected EOF.
+ (memory 1) (func (drop (i16x8.load16x4_s (i32.const 0))))
+ ^
+out/test/spec/simd/simd_load_extend.wast:277: assert_malformed passed:
+ out/test/spec/simd/simd_load_extend/simd_load_extend.14.wat:1:25: error: unexpected token "i16x8.load16x4_u", expected an expr.
+ (memory 1) (func (drop (i16x8.load16x4_u (i32.const 0))))
+ ^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_load_extend/simd_load_extend.14.wat:1:56: error: unexpected token ), expected EOF.
+ (memory 1) (func (drop (i16x8.load16x4_u (i32.const 0))))
+ ^
+out/test/spec/simd/simd_load_extend.wast:278: assert_malformed passed:
+ out/test/spec/simd/simd_load_extend/simd_load_extend.15.wat:1:25: error: unexpected token "i32x4.load32x2_s", expected an expr.
+ (memory 1) (func (drop (i32x4.load32x2_s (i32.const 0))))
+ ^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_load_extend/simd_load_extend.15.wat:1:56: error: unexpected token ), expected EOF.
+ (memory 1) (func (drop (i32x4.load32x2_s (i32.const 0))))
+ ^
+out/test/spec/simd/simd_load_extend.wast:279: assert_malformed passed:
+ out/test/spec/simd/simd_load_extend/simd_load_extend.16.wat:1:25: error: unexpected token "i32x4.load32x2_u", expected an expr.
+ (memory 1) (func (drop (i32x4.load32x2_u (i32.const 0))))
+ ^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_load_extend/simd_load_extend.16.wat:1:56: error: unexpected token ), expected EOF.
+ (memory 1) (func (drop (i32x4.load32x2_u (i32.const 0))))
+ ^
+out/test/spec/simd/simd_load_extend.wast:280: assert_malformed passed:
+ out/test/spec/simd/simd_load_extend/simd_load_extend.17.wat:1:25: error: unexpected token "i64x2.load64x1_s", expected an expr.
+ (memory 1) (func (drop (i64x2.load64x1_s (i32.const 0))))
+ ^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_load_extend/simd_load_extend.17.wat:1:56: error: unexpected token ), expected EOF.
+ (memory 1) (func (drop (i64x2.load64x1_s (i32.const 0))))
+ ^
+out/test/spec/simd/simd_load_extend.wast:281: assert_malformed passed:
+ out/test/spec/simd/simd_load_extend/simd_load_extend.18.wat:1:25: error: unexpected token "i64x2.load64x1_u", expected an expr.
+ (memory 1) (func (drop (i64x2.load64x1_u (i32.const 0))))
+ ^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_load_extend/simd_load_extend.18.wat:1:56: error: unexpected token ), expected EOF.
+ (memory 1) (func (drop (i64x2.load64x1_u (i32.const 0))))
+ ^
+96/96 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_load_splat.txt b/test/spec/simd/simd_load_splat.txt
new file mode 100644
index 00000000..2b6b4b7c
--- /dev/null
+++ b/test/spec/simd/simd_load_splat.txt
@@ -0,0 +1,86 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_load_splat.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_load_splat.wast:119: assert_trap passed: out of bounds memory access: access at 4294967295+1 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:120: assert_trap passed: out of bounds memory access: access at 4294967295+2 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:121: assert_trap passed: out of bounds memory access: access at 4294967295+4 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:122: assert_trap passed: out of bounds memory access: access at 4294967295+8 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:123: assert_trap passed: out of bounds memory access: access at 65536+1 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:124: assert_trap passed: out of bounds memory access: access at 65535+2 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:125: assert_trap passed: out of bounds memory access: access at 65533+4 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:126: assert_trap passed: out of bounds memory access: access at 65529+8 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:128: assert_trap passed: out of bounds memory access: access at 65536+1 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:129: assert_trap passed: out of bounds memory access: access at 65537+1 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:130: assert_trap passed: out of bounds memory access: access at 65550+1 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:131: assert_trap passed: out of bounds memory access: access at 65535+2 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:132: assert_trap passed: out of bounds memory access: access at 65536+2 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:133: assert_trap passed: out of bounds memory access: access at 65549+2 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:134: assert_trap passed: out of bounds memory access: access at 65533+4 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:135: assert_trap passed: out of bounds memory access: access at 65534+4 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:136: assert_trap passed: out of bounds memory access: access at 65547+4 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:137: assert_trap passed: out of bounds memory access: access at 65529+8 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:138: assert_trap passed: out of bounds memory access: access at 65530+8 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:139: assert_trap passed: out of bounds memory access: access at 65543+8 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:141: assert_trap passed: out of bounds memory access: access at 65536+1 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:142: assert_trap passed: out of bounds memory access: access at 65535+2 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:143: assert_trap passed: out of bounds memory access: access at 65533+4 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:144: assert_trap passed: out of bounds memory access: access at 65529+8 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:145: assert_trap passed: out of bounds memory access: access at 65537+1 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:146: assert_trap passed: out of bounds memory access: access at 65536+2 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:147: assert_trap passed: out of bounds memory access: access at 65534+4 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:148: assert_trap passed: out of bounds memory access: access at 65530+8 >= max value 65536
+out/test/spec/simd/simd_load_splat.wast:209: assert_invalid passed:
+ error: type mismatch in v8x16.load_splat, expected [i32] but got [v128]
+ 0000034: error: OnLoadSplatExpr callback failed
+out/test/spec/simd/simd_load_splat.wast:210: assert_invalid passed:
+ error: type mismatch in v16x8.load_splat, expected [i32] but got [v128]
+ 0000034: error: OnLoadSplatExpr callback failed
+out/test/spec/simd/simd_load_splat.wast:211: assert_invalid passed:
+ error: type mismatch in v32x4.load_splat, expected [i32] but got [v128]
+ 0000034: error: OnLoadSplatExpr callback failed
+out/test/spec/simd/simd_load_splat.wast:212: assert_invalid passed:
+ error: type mismatch in v64x2.load_splat, expected [i32] but got [v128]
+ 0000034: error: OnLoadSplatExpr callback failed
+out/test/spec/simd/simd_load_splat.wast:217: assert_malformed passed:
+ out/test/spec/simd/simd_load_splat/simd_load_splat.6.wat:1:25: error: unexpected token "i8x16.load_splat", expected an expr.
+ (memory 1) (func (drop (i8x16.load_splat (i32.const 0))))
+ ^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_load_splat/simd_load_splat.6.wat:1:56: error: unexpected token ), expected EOF.
+ (memory 1) (func (drop (i8x16.load_splat (i32.const 0))))
+ ^
+out/test/spec/simd/simd_load_splat.wast:218: assert_malformed passed:
+ out/test/spec/simd/simd_load_splat/simd_load_splat.7.wat:1:25: error: unexpected token "i16x8.load_splat", expected an expr.
+ (memory 1) (func (drop (i16x8.load_splat (i32.const 0))))
+ ^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_load_splat/simd_load_splat.7.wat:1:56: error: unexpected token ), expected EOF.
+ (memory 1) (func (drop (i16x8.load_splat (i32.const 0))))
+ ^
+out/test/spec/simd/simd_load_splat.wast:219: assert_malformed passed:
+ out/test/spec/simd/simd_load_splat/simd_load_splat.8.wat:1:25: error: unexpected token "i32x4.load_splat", expected an expr.
+ (memory 1) (func (drop (i32x4.load_splat (i32.const 0))))
+ ^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_load_splat/simd_load_splat.8.wat:1:56: error: unexpected token ), expected EOF.
+ (memory 1) (func (drop (i32x4.load_splat (i32.const 0))))
+ ^
+out/test/spec/simd/simd_load_splat.wast:220: assert_malformed passed:
+ out/test/spec/simd/simd_load_splat/simd_load_splat.9.wat:1:25: error: unexpected token "i64x2.load_splat", expected an expr.
+ (memory 1) (func (drop (i64x2.load_splat (i32.const 0))))
+ ^^^^^^^^^^^^^^^^
+ out/test/spec/simd/simd_load_splat/simd_load_splat.9.wat:1:56: error: unexpected token ), expected EOF.
+ (memory 1) (func (drop (i64x2.load_splat (i32.const 0))))
+ ^
+out/test/spec/simd/simd_load_splat.wast:226: assert_invalid passed:
+ error: type mismatch in v8x16.load_splat, expected [i32] but got []
+ 0000022: error: OnLoadSplatExpr callback failed
+out/test/spec/simd/simd_load_splat.wast:234: assert_invalid passed:
+ error: type mismatch in v16x8.load_splat, expected [i32] but got []
+ 0000022: error: OnLoadSplatExpr callback failed
+out/test/spec/simd/simd_load_splat.wast:242: assert_invalid passed:
+ error: type mismatch in v32x4.load_splat, expected [i32] but got []
+ 0000022: error: OnLoadSplatExpr callback failed
+out/test/spec/simd/simd_load_splat.wast:250: assert_invalid passed:
+ error: type mismatch in v64x2.load_splat, expected [i32] but got []
+ 0000022: error: OnLoadSplatExpr callback failed
+120/120 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_splat.txt b/test/spec/simd/simd_splat.txt
new file mode 100644
index 00000000..fa7c1144
--- /dev/null
+++ b/test/spec/simd/simd_splat.txt
@@ -0,0 +1,76 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_splat.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_splat.wast:122: assert_malformed passed:
+ out/test/spec/simd/simd_splat/simd_splat.1.wat:1:22: error: unexpected token "v128.splat", expected an instr.
+ (func (result v128) (v128.splat (i32.const 0)))
+ ^^^^^^^^^^
+out/test/spec/simd/simd_splat.wast:127: assert_invalid passed:
+ error: type mismatch in i8x16.splat, expected [i32] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:128: assert_invalid passed:
+ error: type mismatch in i8x16.splat, expected [i32] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:129: assert_invalid passed:
+ error: type mismatch in i8x16.splat, expected [i32] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:130: assert_invalid passed:
+ error: type mismatch in i16x8.splat, expected [i32] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:131: assert_invalid passed:
+ error: type mismatch in i16x8.splat, expected [i32] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:132: assert_invalid passed:
+ error: type mismatch in i16x8.splat, expected [i32] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:133: assert_invalid passed:
+ error: type mismatch in i32x4.splat, expected [i32] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:134: assert_invalid passed:
+ error: type mismatch in i32x4.splat, expected [i32] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:135: assert_invalid passed:
+ error: type mismatch in i32x4.splat, expected [i32] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:136: assert_invalid passed:
+ error: type mismatch in f32x4.splat, expected [f32] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:137: assert_invalid passed:
+ error: type mismatch in f32x4.splat, expected [f32] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:138: assert_invalid passed:
+ error: type mismatch in f32x4.splat, expected [f32] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:139: assert_invalid passed:
+ error: type mismatch in i64x2.splat, expected [i64] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:140: assert_invalid passed:
+ error: type mismatch in i64x2.splat, expected [i64] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:141: assert_invalid passed:
+ error: type mismatch in f64x2.splat, expected [f64] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:142: assert_invalid passed:
+ error: type mismatch in f64x2.splat, expected [f64] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:384: assert_invalid passed:
+ error: type mismatch in i8x16.splat, expected [i32] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:392: assert_invalid passed:
+ error: type mismatch in i16x8.splat, expected [i32] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:400: assert_invalid passed:
+ error: type mismatch in i32x4.splat, expected [i32] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:408: assert_invalid passed:
+ error: type mismatch in f32x4.splat, expected [f32] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:416: assert_invalid passed:
+ error: type mismatch in i64x2.splat, expected [i64] but got []
+ 000001a: error: OnUnaryExpr callback failed
+out/test/spec/simd/simd_splat.wast:424: assert_invalid passed:
+ error: type mismatch in f64x2.splat, expected [f64] but got []
+ 000001a: error: OnUnaryExpr callback failed
+181/181 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spec/simd/simd_store.txt b/test/spec/simd/simd_store.txt
new file mode 100644
index 00000000..078708bd
--- /dev/null
+++ b/test/spec/simd/simd_store.txt
@@ -0,0 +1,36 @@
+;;; TOOL: run-interp-spec
+;;; STDIN_FILE: third_party/testsuite/proposals/simd/simd_store.wast
+;;; ARGS*: --enable-simd
+(;; STDOUT ;;;
+out/test/spec/simd/simd_store.wast:103: assert_malformed passed:
+ out/test/spec/simd/simd_store/simd_store.2.wat:1:18: error: unexpected token "v128.store8", expected an instr.
+ (memory 1)(func (v128.store8 (i32.const 0) (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^
+out/test/spec/simd/simd_store.wast:110: assert_malformed passed:
+ out/test/spec/simd/simd_store/simd_store.3.wat:1:18: error: unexpected token "v128.store16", expected an instr.
+ (memory 1)(func (v128.store16 (i32.const 0) (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^^
+out/test/spec/simd/simd_store.wast:117: assert_malformed passed:
+ out/test/spec/simd/simd_store/simd_store.4.wat:1:18: error: unexpected token "v128.store32", expected an instr.
+ (memory 1)(func (v128.store32 (i32.const 0) (v128.const i32x4 0 0 0 0)))
+ ^^^^^^^^^^^^
+out/test/spec/simd/simd_store.wast:128: assert_invalid passed:
+ error: type mismatch in v128.store, expected [i32, v128] but got [f32, v128]
+ 0000037: error: OnStoreExpr callback failed
+out/test/spec/simd/simd_store.wast:132: assert_invalid passed:
+ error: type mismatch in v128.store, expected [i32, v128] but got []
+ 0000024: error: OnStoreExpr callback failed
+out/test/spec/simd/simd_store.wast:136: assert_invalid passed:
+ error: type mismatch in implicit return, expected [v128] but got []
+ 0000036: error: EndFunctionBody callback failed
+out/test/spec/simd/simd_store.wast:144: assert_invalid passed:
+ error: type mismatch in v128.store, expected [i32, v128] but got [v128]
+ 0000032: error: OnStoreExpr callback failed
+out/test/spec/simd/simd_store.wast:152: assert_invalid passed:
+ error: type mismatch in v128.store, expected [i32, v128] but got [i32]
+ 0000022: error: OnStoreExpr callback failed
+out/test/spec/simd/simd_store.wast:160: assert_invalid passed:
+ error: type mismatch in v128.store, expected [i32, v128] but got []
+ 0000020: error: OnStoreExpr callback failed
+26/26 tests passed.
+;;; STDOUT ;;)
diff --git a/test/spectest-interp-assert-failure.txt b/test/spectest-interp-assert-failure.txt
index 03673cad..07f28e4e 100644
--- a/test/spectest-interp-assert-failure.txt
+++ b/test/spectest-interp-assert-failure.txt
@@ -14,7 +14,7 @@
(assert_return (invoke "func32nan") (f32.const nan:canonical))
(assert_return (invoke "func64nan") (f64.const nan:canonical))
(;; STDOUT ;;;
-out/test/spectest-interp-assert-failure.txt:10: expected result to be nan, got f32:0.100000
-out/test/spectest-interp-assert-failure.txt:11: expected result to be nan, got f64:0.200000
+out/test/spectest-interp-assert-failure.txt:10: mismatch in result 0 of assert_return: expected f32:nan:canonical, got f32:0.100000
+out/test/spectest-interp-assert-failure.txt:11: mismatch in result 0 of assert_return: expected f64:nan:arithmetic, got f64:0.200000
4/6 tests passed.
;;; STDOUT ;;)
diff --git a/test/spectest-interp-invalid-literal.txt b/test/spectest-interp-invalid-literal.txt
index bcb4c892..bee5356a 100644
--- a/test/spectest-interp-invalid-literal.txt
+++ b/test/spectest-interp-invalid-literal.txt
@@ -13,5 +13,5 @@
]
}
(;; STDERR ;;;
-out/test/spectest-interp-invalid-literal.txt:11:50: invalid i32 literal
+out/test/spectest-interp-invalid-literal.txt:11:49: invalid i32 literal
;;; STDERR ;;)
diff --git a/test/typecheck/bad-simd-lane.txt b/test/typecheck/bad-simd-lane.txt
index 28bd54ad..e6fe4bbc 100644
--- a/test/typecheck/bad-simd-lane.txt
+++ b/test/typecheck/bad-simd-lane.txt
@@ -20,43 +20,7 @@
(func (result i32) v128.const i32x4 0 0 0 0 i8x16.extract_lane_s 0x100000000)
)
(;; STDERR ;;;
-out/test/typecheck/bad-simd-lane.txt:5:47: error: lane index must be less than 16 (got 16)
- (func (result i32) v128.const i32x4 0 0 0 0 i8x16.extract_lane_s 16)
- ^^^^^^^^^^^^^^^^^^^^
-out/test/typecheck/bad-simd-lane.txt:6:47: error: lane index must be less than 16 (got 16)
- (func (result i32) v128.const i32x4 0 0 0 0 i8x16.extract_lane_u 16)
- ^^^^^^^^^^^^^^^^^^^^
-out/test/typecheck/bad-simd-lane.txt:7:47: error: lane index must be less than 8 (got 8)
- (func (result i32) v128.const i32x4 0 0 0 0 i16x8.extract_lane_s 8)
- ^^^^^^^^^^^^^^^^^^^^
-out/test/typecheck/bad-simd-lane.txt:8:47: error: lane index must be less than 8 (got 8)
- (func (result i32) v128.const i32x4 0 0 0 0 i16x8.extract_lane_u 8)
- ^^^^^^^^^^^^^^^^^^^^
-out/test/typecheck/bad-simd-lane.txt:9:47: error: lane index must be less than 4 (got 4)
- (func (result i32) v128.const i32x4 0 0 0 0 i32x4.extract_lane 4)
- ^^^^^^^^^^^^^^^^^^
-out/test/typecheck/bad-simd-lane.txt:10:47: error: lane index must be less than 4 (got 4)
- (func (result f32) v128.const i32x4 0 0 0 0 f32x4.extract_lane 4)
- ^^^^^^^^^^^^^^^^^^
-out/test/typecheck/bad-simd-lane.txt:11:47: error: lane index must be less than 2 (got 2)
- (func (result f64) v128.const i32x4 0 0 0 0 f64x2.extract_lane 2)
- ^^^^^^^^^^^^^^^^^^
-out/test/typecheck/bad-simd-lane.txt:13:60: error: lane index must be less than 16 (got 16)
-...unc (result v128) v128.const i32x4 0 0 0 0 i32.const 0 i8x16.replace_lane 16)
- ^^^^^^^^^^^^^^^^^^
-out/test/typecheck/bad-simd-lane.txt:14:60: error: lane index must be less than 8 (got 8)
- (func (result v128) v128.const i32x4 0 0 0 0 i32.const 0 i16x8.replace_lane 8)
- ^^^^^^^^^^^^^^^^^^
-out/test/typecheck/bad-simd-lane.txt:15:60: error: lane index must be less than 4 (got 4)
- (func (result v128) v128.const i32x4 0 0 0 0 i32.const 0 i32x4.replace_lane 4)
- ^^^^^^^^^^^^^^^^^^
-out/test/typecheck/bad-simd-lane.txt:16:60: error: lane index must be less than 4 (got 4)
- (func (result v128) v128.const i32x4 0 0 0 0 f32.const 0 f32x4.replace_lane 4)
- ^^^^^^^^^^^^^^^^^^
-out/test/typecheck/bad-simd-lane.txt:17:60: error: lane index must be less than 2 (got 2)
- (func (result v128) v128.const i32x4 0 0 0 0 f64.const 0 f64x2.replace_lane 2)
- ^^^^^^^^^^^^^^^^^^
-out/test/typecheck/bad-simd-lane.txt:20:47: error: lane index must be less than 16 (got 4294967296)
+out/test/typecheck/bad-simd-lane.txt:20:47: error: lane index "0x100000000" out-of-range [0, 32)
(func (result i32) v128.const i32x4 0 0 0 0 i8x16.extract_lane_s 0x100000000)
^^^^^^^^^^^^^^^^^^^^
;;; STDERR ;;)
diff --git a/test/update-spec-tests.py b/test/update-spec-tests.py
index 7ca0c879..07871ae2 100755
--- a/test/update-spec-tests.py
+++ b/test/update-spec-tests.py
@@ -92,6 +92,7 @@ def main(args):
ProcessProposalDir('sign-extension-ops', '--enable-sign-extension')
ProcessProposalDir('bulk-memory-operations', '--enable-bulk-memory')
ProcessProposalDir('reference-types', '--enable-reference-types')
+ ProcessProposalDir('simd', '--enable-simd')
return 0