diff options
24 files changed, 990 insertions, 989 deletions
diff --git a/src/opcode.def b/src/opcode.def index 2e34dcf0..87f5155f 100644 --- a/src/opcode.def +++ b/src/opcode.def @@ -261,180 +261,180 @@ WABT_OPCODE(___, ___, ___, ___, 0, 0, 0xd2, RefFunc, "ref.func", "") /* Simd opcodes (--enable-simd) */ WABT_OPCODE(V128, I32, ___, ___, 16, 0xfd, 0x00, V128Load, "v128.load", "") -WABT_OPCODE(___, I32, V128, ___, 16, 0xfd, 0x01, V128Store, "v128.store", "") -WABT_OPCODE(V128, ___, ___, ___, 0, 0xfd, 0x02, V128Const, "v128.const", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x03, V8X16Shuffle, "v8x16.shuffle", "") -WABT_OPCODE(V128, I32, ___, ___, 0, 0xfd, 0x04, I8X16Splat, "i8x16.splat", "") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x05, I8X16ExtractLaneS, "i8x16.extract_lane_s", "") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x06, I8X16ExtractLaneU, "i8x16.extract_lane_u", "") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x07, I8X16ReplaceLane, "i8x16.replace_lane", "") -WABT_OPCODE(V128, I32, ___, ___, 0, 0xfd, 0x08, I16X8Splat, "i16x8.splat", "") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x09, I16X8ExtractLaneS, "i16x8.extract_lane_s", "") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x0a, I16X8ExtractLaneU, "i16x8.extract_lane_u", "") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x0b, I16X8ReplaceLane, "i16x8.replace_lane", "") -WABT_OPCODE(V128, I32, ___, ___, 0, 0xfd, 0x0c, I32X4Splat, "i32x4.splat", "") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x0d, I32X4ExtractLane, "i32x4.extract_lane", "") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x0e, I32X4ReplaceLane, "i32x4.replace_lane", "") -WABT_OPCODE(V128, I64, ___, ___, 0, 0xfd, 0x0f, I64X2Splat, "i64x2.splat", "") -WABT_OPCODE(I64, V128, ___, ___, 0, 0xfd, 0x10, I64X2ExtractLane, "i64x2.extract_lane", "") -WABT_OPCODE(V128, V128, I64, ___, 0, 0xfd, 0x11, I64X2ReplaceLane, "i64x2.replace_lane", "") -WABT_OPCODE(V128, F32, ___, ___, 0, 0xfd, 0x12, F32X4Splat, "f32x4.splat", "") -WABT_OPCODE(F32, V128, ___, ___, 0, 0xfd, 0x13, F32X4ExtractLane, "f32x4.extract_lane", "") -WABT_OPCODE(V128, V128, F32, ___, 0, 0xfd, 0x14, F32X4ReplaceLane, "f32x4.replace_lane", "") -WABT_OPCODE(V128, F64, ___, ___, 0, 0xfd, 0x15, F64X2Splat, "f64x2.splat", "") -WABT_OPCODE(F64, V128, ___, ___, 0, 0xfd, 0x16, F64X2ExtractLane, "f64x2.extract_lane", "") -WABT_OPCODE(V128, V128, F64, ___, 0, 0xfd, 0x17, F64X2ReplaceLane, "f64x2.replace_lane", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x18, I8X16Eq, "i8x16.eq", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x19, I8X16Ne, "i8x16.ne", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1a, I8X16LtS, "i8x16.lt_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1b, I8X16LtU, "i8x16.lt_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1c, I8X16GtS, "i8x16.gt_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1d, I8X16GtU, "i8x16.gt_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1e, I8X16LeS, "i8x16.le_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1f, I8X16LeU, "i8x16.le_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x20, I8X16GeS, "i8x16.ge_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x21, I8X16GeU, "i8x16.ge_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x22, I16X8Eq, "i16x8.eq", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x23, I16X8Ne, "i16x8.ne", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x24, I16X8LtS, "i16x8.lt_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x25, I16X8LtU, "i16x8.lt_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x26, I16X8GtS, "i16x8.gt_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x27, I16X8GtU, "i16x8.gt_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x28, I16X8LeS, "i16x8.le_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x29, I16X8LeU, "i16x8.le_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2a, I16X8GeS, "i16x8.ge_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2b, I16X8GeU, "i16x8.ge_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2c, I32X4Eq, "i32x4.eq", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2d, I32X4Ne, "i32x4.ne", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2e, I32X4LtS, "i32x4.lt_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2f, I32X4LtU, "i32x4.lt_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x30, I32X4GtS, "i32x4.gt_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x31, I32X4GtU, "i32x4.gt_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x32, I32X4LeS, "i32x4.le_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x33, I32X4LeU, "i32x4.le_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x34, I32X4GeS, "i32x4.ge_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x35, I32X4GeU, "i32x4.ge_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x40, F32X4Eq, "f32x4.eq", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x41, F32X4Ne, "f32x4.ne", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x42, F32X4Lt, "f32x4.lt", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x43, F32X4Gt, "f32x4.gt", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x44, F32X4Le, "f32x4.le", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x45, F32X4Ge, "f32x4.ge", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x46, F64X2Eq, "f64x2.eq", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x47, F64X2Ne, "f64x2.ne", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x48, F64X2Lt, "f64x2.lt", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x49, F64X2Gt, "f64x2.gt", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4a, F64X2Le, "f64x2.le", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4b, F64X2Ge, "f64x2.ge", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x4c, V128Not, "v128.not", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4d, V128And, "v128.and", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4e, V128Or, "v128.or", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4f, V128Xor, "v128.xor", "") -WABT_OPCODE(V128, V128, V128, V128, 0, 0xfd, 0x50, V128BitSelect, "v128.bitselect", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x51, I8X16Neg, "i8x16.neg", "") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x52, I8X16AnyTrue, "i8x16.any_true", "") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x53, I8X16AllTrue, "i8x16.all_true", "") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x54, I8X16Shl, "i8x16.shl", "") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x55, I8X16ShrS, "i8x16.shr_s", "") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x56, I8X16ShrU, "i8x16.shr_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x57, I8X16Add, "i8x16.add", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x58, I8X16AddSaturateS, "i8x16.add_saturate_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x59, I8X16AddSaturateU, "i8x16.add_saturate_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x5a, I8X16Sub, "i8x16.sub", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x5b, I8X16SubSaturateS, "i8x16.sub_saturate_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x5c, I8X16SubSaturateU, "i8x16.sub_saturate_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x5e, I8X16MinS, "i8x16.min_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x5f, I8X16MinU, "i8x16.min_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x60, I8X16MaxS, "i8x16.max_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x61, I8X16MaxU, "i8x16.max_u", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x62, I16X8Neg, "i16x8.neg", "") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x63, I16X8AnyTrue, "i16x8.any_true", "") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x64, I16X8AllTrue, "i16x8.all_true", "") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x65, I16X8Shl, "i16x8.shl", "") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x66, I16X8ShrS, "i16x8.shr_s", "") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x67, I16X8ShrU, "i16x8.shr_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x68, I16X8Add, "i16x8.add", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x69, I16X8AddSaturateS, "i16x8.add_saturate_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6a, I16X8AddSaturateU, "i16x8.add_saturate_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6b, I16X8Sub, "i16x8.sub", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6c, I16X8SubSaturateS, "i16x8.sub_saturate_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6d, I16X8SubSaturateU, "i16x8.sub_saturate_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6e, I16X8Mul, "i16x8.mul", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6f, I16X8MinS, "i16x8.min_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x70, I16X8MinU, "i16x8.min_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x71, I16X8MaxS, "i16x8.max_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x72, I16X8MaxU, "i16x8.max_u", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x73, I32X4Neg, "i32x4.neg", "") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x74, I32X4AnyTrue, "i32x4.any_true", "") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x75, I32X4AllTrue, "i32x4.all_true", "") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x76, I32X4Shl, "i32x4.shl", "") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x77, I32X4ShrS, "i32x4.shr_s", "") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x78, I32X4ShrU, "i32x4.shr_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x79, I32X4Add, "i32x4.add", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x7c, I32X4Sub, "i32x4.sub", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x7f, I32X4Mul, "i32x4.mul", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x80, I32X4MinS, "i32x4.min_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x81, I32X4MinU, "i32x4.min_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x82, I32X4MaxS, "i32x4.max_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x83, I32X4MaxU, "i32x4.max_u", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x84, I64X2Neg, "i64x2.neg", "") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x87, I64X2Shl, "i64x2.shl", "") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x88, I64X2ShrS, "i64x2.shr_s", "") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x89, I64X2ShrU, "i64x2.shr_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x8a, I64X2Add, "i64x2.add", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x8d, I64X2Sub, "i64x2.sub", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x90, I64X2Mul, "i64x2.mul", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x95, F32X4Abs, "f32x4.abs", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x96, F32X4Neg, "f32x4.neg", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x97, F32X4Sqrt, "f32x4.sqrt", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x9a, F32X4Add, "f32x4.add", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x9b, F32X4Sub, "f32x4.sub", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x9c, F32X4Mul, "f32x4.mul", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x9d, F32X4Div, "f32x4.div", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x9e, F32X4Min, "f32x4.min", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x9f, F32X4Max, "f32x4.max", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xa0, F64X2Abs, "f64x2.abs", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xa1, F64X2Neg, "f64x2.neg", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xa2, F64X2Sqrt, "f64x2.sqrt", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xa5, F64X2Add, "f64x2.add", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xa6, F64X2Sub, "f64x2.sub", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xa7, F64X2Mul, "f64x2.mul", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xa8, F64X2Div, "f64x2.div", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xa9, F64X2Min, "f64x2.min", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xaa, F64X2Max, "f64x2.max", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xab, I32X4TruncSatF32X4S,"i32x4.trunc_sat_f32x4_s", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xac, I32X4TruncSatF32X4U,"i32x4.trunc_sat_f32x4_u", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xaf, F32X4ConvertI32X4S, "f32x4.convert_i32x4_s", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xb0, F32X4ConvertI32X4U, "f32x4.convert_i32x4_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xc0, V8X16Swizzle, "v8x16.swizzle", "") -WABT_OPCODE(V128, I32, ___, ___, 1, 0xfd, 0xc2, V8X16LoadSplat, "v8x16.load_splat", "") -WABT_OPCODE(V128, I32, ___, ___, 2, 0xfd, 0xc3, V16X8LoadSplat, "v16x8.load_splat", "") -WABT_OPCODE(V128, I32, ___, ___, 4, 0xfd, 0xc4, V32X4LoadSplat, "v32x4.load_splat", "") -WABT_OPCODE(V128, I32, ___, ___, 8, 0xfd, 0xc5, V64X2LoadSplat, "v64x2.load_splat", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xc6, I8X16NarrowI16X8S, "i8x16.narrow_i16x8_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xc7, I8X16NarrowI16X8U, "i8x16.narrow_i16x8_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xc8, I16X8NarrowI32X4S, "i16x8.narrow_i32x4_s", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xc9, I16X8NarrowI32X4U, "i16x8.narrow_i32x4_u", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xca, I16X8WidenLowI8X16S, "i16x8.widen_low_i8x16_s", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xcb, I16X8WidenHighI8X16S, "i16x8.widen_high_i8x16_s", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xcc, I16X8WidenLowI8X16U, "i16x8.widen_low_i8x16_u", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xcd, I16X8WidenHighI8X16U, "i16x8.widen_high_i8x16_u", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xce, I32X4WidenLowI16X8S, "i32x4.widen_low_i16x8_s", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xcf, I32X4WidenHighI16X8S, "i32x4.widen_high_i16x8_s", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xd0, I32X4WidenLowI16X8U, "i32x4.widen_low_i16x8_u", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xd1, I32X4WidenHighI16X8U, "i32x4.widen_high_i16x8_u", "") -WABT_OPCODE(V128, I32, ___, ___, 8, 0xfd, 0xd2, I16X8Load8X8S, "i16x8.load8x8_s", "") -WABT_OPCODE(V128, I32, ___, ___, 8, 0xfd, 0xd3, I16X8Load8X8U, "i16x8.load8x8_u", "") -WABT_OPCODE(V128, I32, ___, ___, 8, 0xfd, 0xd4, I32X4Load16X4S, "i32x4.load16x4_s", "") -WABT_OPCODE(V128, I32, ___, ___, 8, 0xfd, 0xd5, I32X4Load16X4U, "i32x4.load16x4_u", "") -WABT_OPCODE(V128, I32, ___, ___, 8, 0xfd, 0xd6, I64X2Load32X2S, "i64x2.load32x2_s", "") -WABT_OPCODE(V128, I32, ___, ___, 8, 0xfd, 0xd7, I64X2Load32X2U, "i64x2.load32x2_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xd8, V128Andnot, "v128.andnot", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xd9, I8X16AvgrU, "i8x16.avgr_u", "") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xda, I16X8AvgrU, "i16x8.avgr_u", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xe1, I8X16Abs, "i8x16.abs", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xe2, I16X8Abs, "i16x8.abs", "") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xe3, I32X4Abs, "i32x4.abs", "") +WABT_OPCODE(V128, I32, ___, ___, 8, 0xfd, 0x01, I16X8Load8X8S, "i16x8.load8x8_s", "") +WABT_OPCODE(V128, I32, ___, ___, 8, 0xfd, 0x02, I16X8Load8X8U, "i16x8.load8x8_u", "") +WABT_OPCODE(V128, I32, ___, ___, 8, 0xfd, 0x03, I32X4Load16X4S, "i32x4.load16x4_s", "") +WABT_OPCODE(V128, I32, ___, ___, 8, 0xfd, 0x04, I32X4Load16X4U, "i32x4.load16x4_u", "") +WABT_OPCODE(V128, I32, ___, ___, 8, 0xfd, 0x05, I64X2Load32X2S, "i64x2.load32x2_s", "") +WABT_OPCODE(V128, I32, ___, ___, 8, 0xfd, 0x06, I64X2Load32X2U, "i64x2.load32x2_u", "") +WABT_OPCODE(V128, I32, ___, ___, 1, 0xfd, 0x07, V8X16LoadSplat, "v8x16.load_splat", "") +WABT_OPCODE(V128, I32, ___, ___, 2, 0xfd, 0x08, V16X8LoadSplat, "v16x8.load_splat", "") +WABT_OPCODE(V128, I32, ___, ___, 4, 0xfd, 0x09, V32X4LoadSplat, "v32x4.load_splat", "") +WABT_OPCODE(V128, I32, ___, ___, 8, 0xfd, 0x0a, V64X2LoadSplat, "v64x2.load_splat", "") +WABT_OPCODE(___, I32, V128, ___, 16, 0xfd, 0x0b, V128Store, "v128.store", "") +WABT_OPCODE(V128, ___, ___, ___, 0, 0xfd, 0x0c, V128Const, "v128.const", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x0d, V8X16Shuffle, "v8x16.shuffle", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x0e, V8X16Swizzle, "v8x16.swizzle", "") +WABT_OPCODE(V128, I32, ___, ___, 0, 0xfd, 0x0f, I8X16Splat, "i8x16.splat", "") +WABT_OPCODE(V128, I32, ___, ___, 0, 0xfd, 0x10, I16X8Splat, "i16x8.splat", "") +WABT_OPCODE(V128, I32, ___, ___, 0, 0xfd, 0x11, I32X4Splat, "i32x4.splat", "") +WABT_OPCODE(V128, I64, ___, ___, 0, 0xfd, 0x12, I64X2Splat, "i64x2.splat", "") +WABT_OPCODE(V128, F32, ___, ___, 0, 0xfd, 0x13, F32X4Splat, "f32x4.splat", "") +WABT_OPCODE(V128, F64, ___, ___, 0, 0xfd, 0x14, F64X2Splat, "f64x2.splat", "") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x15, I8X16ExtractLaneS, "i8x16.extract_lane_s", "") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x16, I8X16ExtractLaneU, "i8x16.extract_lane_u", "") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x17, I8X16ReplaceLane, "i8x16.replace_lane", "") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x18, I16X8ExtractLaneS, "i16x8.extract_lane_s", "") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x19, I16X8ExtractLaneU, "i16x8.extract_lane_u", "") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x1a, I16X8ReplaceLane, "i16x8.replace_lane", "") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x1b, I32X4ExtractLane, "i32x4.extract_lane", "") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x1c, I32X4ReplaceLane, "i32x4.replace_lane", "") +WABT_OPCODE(I64, V128, ___, ___, 0, 0xfd, 0x1d, I64X2ExtractLane, "i64x2.extract_lane", "") +WABT_OPCODE(V128, V128, I64, ___, 0, 0xfd, 0x1e, I64X2ReplaceLane, "i64x2.replace_lane", "") +WABT_OPCODE(F32, V128, ___, ___, 0, 0xfd, 0x1f, F32X4ExtractLane, "f32x4.extract_lane", "") +WABT_OPCODE(V128, V128, F32, ___, 0, 0xfd, 0x20, F32X4ReplaceLane, "f32x4.replace_lane", "") +WABT_OPCODE(F64, V128, ___, ___, 0, 0xfd, 0x21, F64X2ExtractLane, "f64x2.extract_lane", "") +WABT_OPCODE(V128, V128, F64, ___, 0, 0xfd, 0x22, F64X2ReplaceLane, "f64x2.replace_lane", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x23, I8X16Eq, "i8x16.eq", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x24, I8X16Ne, "i8x16.ne", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x25, I8X16LtS, "i8x16.lt_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x26, I8X16LtU, "i8x16.lt_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x27, I8X16GtS, "i8x16.gt_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x28, I8X16GtU, "i8x16.gt_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x29, I8X16LeS, "i8x16.le_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2a, I8X16LeU, "i8x16.le_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2b, I8X16GeS, "i8x16.ge_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2c, I8X16GeU, "i8x16.ge_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2d, I16X8Eq, "i16x8.eq", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2e, I16X8Ne, "i16x8.ne", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2f, I16X8LtS, "i16x8.lt_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x30, I16X8LtU, "i16x8.lt_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x31, I16X8GtS, "i16x8.gt_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x32, I16X8GtU, "i16x8.gt_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x33, I16X8LeS, "i16x8.le_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x34, I16X8LeU, "i16x8.le_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x35, I16X8GeS, "i16x8.ge_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x36, I16X8GeU, "i16x8.ge_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x37, I32X4Eq, "i32x4.eq", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x38, I32X4Ne, "i32x4.ne", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x39, I32X4LtS, "i32x4.lt_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x3a, I32X4LtU, "i32x4.lt_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x3b, I32X4GtS, "i32x4.gt_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x3c, I32X4GtU, "i32x4.gt_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x3d, I32X4LeS, "i32x4.le_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x3e, I32X4LeU, "i32x4.le_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x3f, I32X4GeS, "i32x4.ge_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x40, I32X4GeU, "i32x4.ge_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x41, F32X4Eq, "f32x4.eq", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x42, F32X4Ne, "f32x4.ne", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x43, F32X4Lt, "f32x4.lt", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x44, F32X4Gt, "f32x4.gt", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x45, F32X4Le, "f32x4.le", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x46, F32X4Ge, "f32x4.ge", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x47, F64X2Eq, "f64x2.eq", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x48, F64X2Ne, "f64x2.ne", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x49, F64X2Lt, "f64x2.lt", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4a, F64X2Gt, "f64x2.gt", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4b, F64X2Le, "f64x2.le", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4c, F64X2Ge, "f64x2.ge", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x4d, V128Not, "v128.not", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4e, V128And, "v128.and", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4f, V128Andnot, "v128.andnot", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x50, V128Or, "v128.or", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x51, V128Xor, "v128.xor", "") +WABT_OPCODE(V128, V128, V128, V128, 0, 0xfd, 0x52, V128BitSelect, "v128.bitselect", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x60, I8X16Abs, "i8x16.abs", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x61, I8X16Neg, "i8x16.neg", "") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x62, I8X16AnyTrue, "i8x16.any_true", "") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x63, I8X16AllTrue, "i8x16.all_true", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x65, I8X16NarrowI16X8S, "i8x16.narrow_i16x8_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x66, I8X16NarrowI16X8U, "i8x16.narrow_i16x8_u", "") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x6b, I8X16Shl, "i8x16.shl", "") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x6c, I8X16ShrS, "i8x16.shr_s", "") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x6d, I8X16ShrU, "i8x16.shr_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6e, I8X16Add, "i8x16.add", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6f, I8X16AddSaturateS, "i8x16.add_saturate_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x70, I8X16AddSaturateU, "i8x16.add_saturate_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x71, I8X16Sub, "i8x16.sub", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x72, I8X16SubSaturateS, "i8x16.sub_saturate_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x73, I8X16SubSaturateU, "i8x16.sub_saturate_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x76, I8X16MinS, "i8x16.min_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x77, I8X16MinU, "i8x16.min_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x78, I8X16MaxS, "i8x16.max_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x79, I8X16MaxU, "i8x16.max_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x7b, I8X16AvgrU, "i8x16.avgr_u", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x80, I16X8Abs, "i16x8.abs", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x81, I16X8Neg, "i16x8.neg", "") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x82, I16X8AnyTrue, "i16x8.any_true", "") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x83, I16X8AllTrue, "i16x8.all_true", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x85, I16X8NarrowI32X4S, "i16x8.narrow_i32x4_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x86, I16X8NarrowI32X4U, "i16x8.narrow_i32x4_u", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x87, I16X8WidenLowI8X16S, "i16x8.widen_low_i8x16_s", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x88, I16X8WidenHighI8X16S, "i16x8.widen_high_i8x16_s", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x89, I16X8WidenLowI8X16U, "i16x8.widen_low_i8x16_u", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x8a, I16X8WidenHighI8X16U, "i16x8.widen_high_i8x16_u", "") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x8b, I16X8Shl, "i16x8.shl", "") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x8c, I16X8ShrS, "i16x8.shr_s", "") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x8d, I16X8ShrU, "i16x8.shr_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x8e, I16X8Add, "i16x8.add", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x8f, I16X8AddSaturateS, "i16x8.add_saturate_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x90, I16X8AddSaturateU, "i16x8.add_saturate_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x91, I16X8Sub, "i16x8.sub", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x92, I16X8SubSaturateS, "i16x8.sub_saturate_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x93, I16X8SubSaturateU, "i16x8.sub_saturate_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x95, I16X8Mul, "i16x8.mul", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x96, I16X8MinS, "i16x8.min_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x97, I16X8MinU, "i16x8.min_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x98, I16X8MaxS, "i16x8.max_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x99, I16X8MaxU, "i16x8.max_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x9b, I16X8AvgrU, "i16x8.avgr_u", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xa0, I32X4Abs, "i32x4.abs", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xa1, I32X4Neg, "i32x4.neg", "") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0xa2, I32X4AnyTrue, "i32x4.any_true", "") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0xa3, I32X4AllTrue, "i32x4.all_true", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xa7, I32X4WidenLowI16X8S, "i32x4.widen_low_i16x8_s", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xa8, I32X4WidenHighI16X8S, "i32x4.widen_high_i16x8_s", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xa9, I32X4WidenLowI16X8U, "i32x4.widen_low_i16x8_u", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xaa, I32X4WidenHighI16X8U, "i32x4.widen_high_i16x8_u", "") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0xab, I32X4Shl, "i32x4.shl", "") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0xac, I32X4ShrS, "i32x4.shr_s", "") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0xad, I32X4ShrU, "i32x4.shr_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xae, I32X4Add, "i32x4.add", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xb1, I32X4Sub, "i32x4.sub", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xb5, I32X4Mul, "i32x4.mul", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xb6, I32X4MinS, "i32x4.min_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xb7, I32X4MinU, "i32x4.min_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xb8, I32X4MaxS, "i32x4.max_s", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xb9, I32X4MaxU, "i32x4.max_u", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xc1, I64X2Neg, "i64x2.neg", "") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0xcb, I64X2Shl, "i64x2.shl", "") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0xcc, I64X2ShrS, "i64x2.shr_s", "") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0xcd, I64X2ShrU, "i64x2.shr_u", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xce, I64X2Add, "i64x2.add", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xd1, I64X2Sub, "i64x2.sub", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xd5, I64X2Mul, "i64x2.mul", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xe0, F32X4Abs, "f32x4.abs", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xe1, F32X4Neg, "f32x4.neg", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xe3, F32X4Sqrt, "f32x4.sqrt", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xe4, F32X4Add, "f32x4.add", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xe5, F32X4Sub, "f32x4.sub", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xe6, F32X4Mul, "f32x4.mul", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xe7, F32X4Div, "f32x4.div", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xe8, F32X4Min, "f32x4.min", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xe9, F32X4Max, "f32x4.max", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xec, F64X2Abs, "f64x2.abs", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xed, F64X2Neg, "f64x2.neg", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xef, F64X2Sqrt, "f64x2.sqrt", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xf0, F64X2Add, "f64x2.add", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xf1, F64X2Sub, "f64x2.sub", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xf2, F64X2Mul, "f64x2.mul", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xf3, F64X2Div, "f64x2.div", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xf4, F64X2Min, "f64x2.min", "") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xf5, F64X2Max, "f64x2.max", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xf8, I32X4TruncSatF32X4S,"i32x4.trunc_sat_f32x4_s", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xf9, I32X4TruncSatF32X4U,"i32x4.trunc_sat_f32x4_u", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xfa, F32X4ConvertI32X4S, "f32x4.convert_i32x4_s", "") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xfb, F32X4ConvertI32X4U, "f32x4.convert_i32x4_u", "") /* Thread opcodes (--enable-threads) */ WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x00, AtomicNotify, "atomic.notify", "") diff --git a/test/dump/simd-basic.txt b/test/dump/simd-basic.txt index 7c89c5a2..5d9a46dc 100644 --- a/test/dump/simd-basic.txt +++ b/test/dump/simd-basic.txt @@ -12,7 +12,7 @@ simd-basic.wasm: file format wasm 0x1 Code Disassembly: 000021 func[0] <main>: - 000022: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000022: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 00002b: 00 03 00 00 00 04 00 00 00 | 000034: 0f | return 000035: 0b | end diff --git a/test/dump/simd-binary.txt b/test/dump/simd-binary.txt index 2a19d9f8..aace1d23 100644 --- a/test/dump/simd-binary.txt +++ b/test/dump/simd-binary.txt @@ -288,330 +288,330 @@ simd-binary.wasm: file format wasm 0x1 Code Disassembly: 000408 func[0] <i8x16_add_0>: - 000409: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000409: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 000412: 00 03 00 00 00 04 00 00 00 | - 00041b: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 00041b: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 000424: 00 03 00 00 00 04 00 00 00 | - 00042d: fd 57 | i8x16.add + 00042d: fd 6e | i8x16.add 00042f: 0b | end 000431 func[1] <i16x8_add_0>: - 000432: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000432: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 00043b: 00 03 00 00 00 04 00 00 00 | - 000444: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000444: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 00044d: 00 03 00 00 00 04 00 00 00 | - 000456: fd 68 | i16x8.add - 000458: 0b | end -00045a func[2] <i32x4_add_0>: - 00045b: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000464: 00 03 00 00 00 04 00 00 00 | - 00046d: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000476: 00 03 00 00 00 04 00 00 00 | - 00047f: fd 79 | i32x4.add - 000481: 0b | end -000483 func[3] <i64x2_add_0>: - 000484: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 00048d: 00 03 00 00 00 04 00 00 00 | - 000496: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 00049f: 00 03 00 00 00 04 00 00 00 | - 0004a8: fd 8a 01 | i64x2.add - 0004ab: 0b | end -0004ad func[4] <i8x16_sub_0>: - 0004ae: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 0004b7: 00 03 00 00 00 04 00 00 00 | - 0004c0: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 0004c9: 00 03 00 00 00 04 00 00 00 | - 0004d2: fd 5a | i8x16.sub - 0004d4: 0b | end -0004d6 func[5] <i16x8_sub_0>: - 0004d7: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 0004e0: 00 03 00 00 00 04 00 00 00 | - 0004e9: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 0004f2: 00 03 00 00 00 04 00 00 00 | - 0004fb: fd 6b | i16x8.sub - 0004fd: 0b | end -0004ff func[6] <i32x4_sub_0>: - 000500: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000509: 00 03 00 00 00 04 00 00 00 | - 000512: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 00051b: 00 03 00 00 00 04 00 00 00 | - 000524: fd 7c | i32x4.sub - 000526: 0b | end -000528 func[7] <i64x2_sub_0>: - 000529: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000532: 00 03 00 00 00 04 00 00 00 | - 00053b: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000544: 00 03 00 00 00 04 00 00 00 | - 00054d: fd 8d 01 | i64x2.sub - 000550: 0b | end -000552 func[8] <i16x8_mul_0>: - 000553: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 00055c: 00 03 00 00 00 04 00 00 00 | - 000565: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 00056e: 00 03 00 00 00 04 00 00 00 | - 000577: fd 6e | i16x8.mul - 000579: 0b | end -00057b func[9] <i32x4_mul_0>: - 00057c: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000585: 00 03 00 00 00 04 00 00 00 | - 00058e: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000597: 00 03 00 00 00 04 00 00 00 | - 0005a0: fd 7f | i32x4.mul - 0005a2: 0b | end -0005a4 func[10] <i64x2_mul_0>: - 0005a5: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 0005ae: 00 03 00 00 00 04 00 00 00 | - 0005b7: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 0005c0: 00 03 00 00 00 04 00 00 00 | - 0005c9: fd 90 01 | i64x2.mul - 0005cc: 0b | end -0005ce func[11] <i8x16_add_saturate_signed_0>: - 0005cf: fd 02 01 00 00 00 7f 00 00 | v128.const 0x00000001 0x0000007f 0x00000003 0x00000080 - 0005d8: 00 03 00 00 00 80 00 00 00 | - 0005e1: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x000000ff - 0005ea: 00 03 00 00 00 ff 00 00 00 | - 0005f3: fd 58 | i8x16.add_saturate_s - 0005f5: 0b | end -0005f7 func[12] <i8x16_add_saturate_unsigned_0>: - 0005f8: fd 02 01 00 ff 00 02 00 00 | v128.const 0x00ff0001 0x04000002 0x00000003 0x00000004 - 000601: 04 03 00 00 00 04 00 00 00 | - 00060a: fd 02 01 00 02 00 02 00 00 | v128.const 0x00020001 0xfe000002 0x00000003 0x00000004 - 000613: fe 03 00 00 00 04 00 00 00 | - 00061c: fd 59 | i8x16.add_saturate_u - 00061e: 0b | end -000620 func[13] <i16x8_add_saturate_signed_0>: - 000621: fd 02 01 00 00 00 ff 7f 00 | v128.const 0x00000001 0x00007fff 0x00000003 0x00008000 - 00062a: 00 03 00 00 00 00 80 00 00 | - 000633: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x0000fffe - 00063c: 00 03 00 00 00 fe ff 00 00 | - 000645: fd 69 | i16x8.add_saturate_s - 000647: 0b | end -000649 func[14] <i16x8_add_saturate_unsigned_0>: - 00064a: fd 02 ff ff ff 00 ff ff 00 | v128.const 0x00ffffff 0x0400ffff 0x00000003 0x00000004 - 000653: 04 03 00 00 00 04 00 00 00 | - 00065c: fd 02 01 00 02 00 02 00 00 | v128.const 0x00020001 0xfe000002 0x00000003 0x00000004 - 000665: fe 03 00 00 00 04 00 00 00 | - 00066e: fd 6a | i16x8.add_saturate_u - 000670: 0b | end -000672 func[15] <i8x16_sub_saturate_signed_0>: - 000673: fd 02 01 00 00 00 7f 00 00 | v128.const 0x00000001 0x0000007f 0x000000fe 0x00000080 - 00067c: 00 fe 00 00 00 80 00 00 00 | - 000685: fd 02 01 00 00 00 fe 00 00 | v128.const 0x00000001 0x000000fe 0x0000007f 0x000000ff - 00068e: 00 7f 00 00 00 ff 00 00 00 | - 000697: fd 5b | i8x16.sub_saturate_s - 000699: 0b | end -00069b func[16] <i8x16_sub_saturate_unsigned_0>: - 00069c: fd 02 01 00 ff 00 7f 00 00 | v128.const 0x00ff0001 0x0400007f 0x0000fffe 0x00000004 - 0006a5: 04 fe ff 00 00 04 00 00 00 | - 0006ae: fd 02 01 00 02 00 fe ff 00 | v128.const 0x00020001 0xfe00fffe 0x0000007f 0x00000004 - 0006b7: fe 7f 00 00 00 04 00 00 00 | - 0006c0: fd 5c | i8x16.sub_saturate_u - 0006c2: 0b | end -0006c4 func[17] <i16x8_sub_saturate_signed_0>: - 0006c5: fd 02 01 00 00 00 ff 7f 00 | v128.const 0x00000001 0x00007fff 0x0000fffe 0x00008000 - 0006ce: 00 fe ff 00 00 00 80 00 00 | - 0006d7: fd 02 01 00 00 00 fe ff 00 | v128.const 0x00000001 0x0000fffe 0x00007fff 0x0000fffe - 0006e0: 00 ff 7f 00 00 fe ff 00 00 | - 0006e9: fd 6c | i16x8.sub_saturate_s - 0006eb: 0b | end -0006ed func[18] <i16x8_sub_saturate_unsigned_0>: - 0006ee: fd 02 ff ff ff 00 ff ff 00 | v128.const 0x00ffffff 0x0400ffff 0x00000003 0x00000004 - 0006f7: 04 03 00 00 00 04 00 00 00 | - 000700: fd 02 01 00 02 00 02 00 00 | v128.const 0x00020001 0xfe000002 0x00000003 0x00000004 - 000709: fe 03 00 00 00 04 00 00 00 | - 000712: fd 6d | i16x8.sub_saturate_u - 000714: 0b | end -000716 func[19] <v128_and_0>: - 000717: fd 02 01 00 ff 00 02 00 04 | v128.const 0x00ff0001 0x00040002 0x44000003 0x00000004 - 000720: 00 03 00 00 44 04 00 00 00 | - 000729: fd 02 01 00 02 00 02 00 fe | v128.const 0x00020001 0x00fe0002 0x00000003 0x55000004 - 000732: 00 03 00 00 00 04 00 00 55 | - 00073b: fd 4d | v128.and - 00073d: 0b | end -00073f func[20] <v128_or_0>: - 000740: fd 02 01 00 ff 00 02 00 04 | v128.const 0x00ff0001 0x00040002 0x44000003 0x00000004 - 000749: 00 03 00 00 44 04 00 00 00 | - 000752: fd 02 01 00 02 00 02 00 fe | v128.const 0x00020001 0x00fe0002 0x00000003 0x55000004 - 00075b: 00 03 00 00 00 04 00 00 55 | - 000764: fd 4e | v128.or - 000766: 0b | end -000768 func[21] <v128_xor_0>: - 000769: fd 02 01 00 ff 00 02 00 04 | v128.const 0x00ff0001 0x00040002 0x44000003 0x00000004 - 000772: 00 03 00 00 44 04 00 00 00 | - 00077b: fd 02 01 00 02 00 02 00 fe | v128.const 0x00020001 0x00fe0002 0x00000003 0x55000004 - 000784: 00 03 00 00 00 04 00 00 55 | - 00078d: fd 4f | v128.xor - 00078f: 0b | end -000791 func[22] <f32x4_min_0>: - 000792: fd 02 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x449a5000 0xbf800000 - 00079b: ff 00 50 9a 44 00 00 80 bf | - 0007a4: fd 02 00 00 00 00 00 00 80 | v128.const 0x00000000 0x3f800000 0x449a5000 0x3f800000 - 0007ad: 3f 00 50 9a 44 00 00 80 3f | - 0007b6: fd 9e 01 | f32x4.min - 0007b9: 0b | end -0007bb func[23] <f64x2_min_0>: - 0007bc: fd 02 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0xfff80000 - 0007c5: 00 00 00 00 00 00 00 f8 ff | - 0007ce: fd 02 00 00 00 00 00 4a 93 | v128.const 0x00000000 0xc0934a00 0x00000000 0x3ff00000 - 0007d7: c0 00 00 00 00 00 00 f0 3f | - 0007e0: fd a9 01 | f64x2.min - 0007e3: 0b | end -0007e5 func[24] <f32x4_max_0>: - 0007e6: fd 02 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x449a5000 0xbf800000 - 0007ef: ff 00 50 9a 44 00 00 80 bf | - 0007f8: fd 02 00 00 00 00 00 00 80 | v128.const 0x00000000 0x3f800000 0x449a5000 0x3f800000 - 000801: 3f 00 50 9a 44 00 00 80 3f | - 00080a: fd 9f 01 | f32x4.max - 00080d: 0b | end -00080f func[25] <f64x2_max_0>: - 000810: fd 02 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0xfff80000 - 000819: 00 00 00 00 00 00 00 f8 ff | - 000822: fd 02 00 00 00 00 00 4a 93 | v128.const 0x00000000 0xc0934a00 0x00000000 0x3ff00000 - 00082b: c0 00 00 00 00 00 00 f0 3f | - 000834: fd aa 01 | f64x2.max - 000837: 0b | end -000839 func[26] <f32x4_add_0>: - 00083a: fd 02 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x449a5000 0xc49a5000 - 000843: ff 00 50 9a 44 00 50 9a c4 | - 00084c: fd 02 00 00 00 00 00 00 80 | v128.const 0x00000000 0x3f800000 0x3f800000 0x3fc00000 - 000855: 3f 00 00 80 3f 00 00 c0 3f | - 00085e: fd 9a 01 | f32x4.add - 000861: 0b | end -000863 func[27] <f64x2_add_0>: - 000864: fd 02 00 00 00 00 00 00 f8 | v128.const 0x00000000 0x3ff80000 0x00000000 0xfff80000 - 00086d: 3f 00 00 00 00 00 00 f8 ff | - 000876: fd 02 00 00 00 00 00 4a 93 | v128.const 0x00000000 0xc0934a00 0x00000000 0x3ff00000 - 00087f: c0 00 00 00 00 00 00 f0 3f | - 000888: fd a5 01 | f64x2.add - 00088b: 0b | end -00088d func[28] <f32x4_sub_0>: - 00088e: fd 02 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x449a5000 0xc49a5000 - 000897: ff 00 50 9a 44 00 50 9a c4 | - 0008a0: fd 02 00 00 00 00 00 00 80 | v128.const 0x00000000 0x3f800000 0x3f800000 0x3fc00000 - 0008a9: 3f 00 00 80 3f 00 00 c0 3f | - 0008b2: fd 9b 01 | f32x4.sub - 0008b5: 0b | end -0008b7 func[29] <f64x2_sub_0>: - 0008b8: fd 02 00 00 00 00 00 00 f8 | v128.const 0x00000000 0x3ff80000 0x00000000 0xfff80000 - 0008c1: 3f 00 00 00 00 00 00 f8 ff | - 0008ca: fd 02 00 00 00 00 00 4a 93 | v128.const 0x00000000 0xc0934a00 0x00000000 0x3ff00000 - 0008d3: c0 00 00 00 00 00 00 f0 3f | - 0008dc: fd a6 01 | f64x2.sub - 0008df: 0b | end -0008e1 func[30] <f32x4_div_0>: - 0008e2: fd 02 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x3fc00000 0xc0400000 - 0008eb: ff 00 00 c0 3f 00 00 40 c0 | - 0008f4: fd 02 00 00 00 00 00 00 80 | v128.const 0x00000000 0x3f800000 0x3f800000 0x3fc00000 - 0008fd: 3f 00 00 80 3f 00 00 c0 3f | - 000906: fd 9d 01 | f32x4.div - 000909: 0b | end -00090b func[31] <f64x2_div_0>: - 00090c: fd 02 00 00 00 00 00 00 f8 | v128.const 0x00000000 0x3ff80000 0x00000000 0xc0080000 - 000915: 3f 00 00 00 00 00 00 08 c0 | - 00091e: fd 02 00 00 00 00 00 00 f0 | v128.const 0x00000000 0x3ff00000 0x00000000 0x3ff80000 - 000927: 3f 00 00 00 00 00 00 f8 3f | - 000930: fd a8 01 | f64x2.div - 000933: 0b | end -000935 func[32] <f32x4_mul_0>: - 000936: fd 02 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x3fc00000 0xc0400000 - 00093f: ff 00 00 c0 3f 00 00 40 c0 | - 000948: fd 02 00 00 00 00 00 00 80 | v128.const 0x00000000 0x3f800000 0x3f800000 0x3fc00000 - 000951: 3f 00 00 80 3f 00 00 c0 3f | - 00095a: fd 9c 01 | f32x4.mul - 00095d: 0b | end -00095f func[33] <f64x2_mul_0>: - 000960: fd 02 00 00 00 00 00 00 f8 | v128.const 0x00000000 0x3ff80000 0x00000000 0xc0080000 - 000969: 3f 00 00 00 00 00 00 08 c0 | - 000972: fd 02 00 00 00 00 00 00 f0 | v128.const 0x00000000 0x3ff00000 0x00000000 0x3ff80000 - 00097b: 3f 00 00 00 00 00 00 f8 3f | - 000984: fd a7 01 | f64x2.mul - 000987: 0b | end -000989 func[34] <i8x16.narrow_i16x8_s>: - 00098a: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000993: 00 03 00 00 00 04 00 00 00 | - 00099c: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 0009a5: 00 03 00 00 00 04 00 00 00 | - 0009ae: fd c6 01 | i8x16.narrow_i16x8_s - 0009b1: 0b | end -0009b3 func[35] <i8x16.narrow_i16x8_u>: - 0009b4: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 0009bd: 00 03 00 00 00 04 00 00 00 | - 0009c6: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 0009cf: 00 03 00 00 00 04 00 00 00 | - 0009d8: fd c7 01 | i8x16.narrow_i16x8_u - 0009db: 0b | end -0009dd func[36] <i16x8.narrow_i32x4_s>: - 0009de: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 0009e7: 00 03 00 00 00 04 00 00 00 | - 0009f0: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 0009f9: 00 03 00 00 00 04 00 00 00 | - 000a02: fd c8 01 | i16x8.narrow_i32x4_s - 000a05: 0b | end -000a07 func[37] <i16x8.narrow_i32x4_u>: - 000a08: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000a11: 00 03 00 00 00 04 00 00 00 | - 000a1a: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000a23: 00 03 00 00 00 04 00 00 00 | - 000a2c: fd c9 01 | i16x8.narrow_i32x4_u - 000a2f: 0b | end -000a31 func[38] <i16x8.widen_low_i8x16_s>: - 000a32: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000a3b: 00 03 00 00 00 04 00 00 00 | - 000a44: fd ca 01 | i16x8.widen_low_i8x16_s - 000a47: 0b | end -000a49 func[39] <i16x8.widen_high_i8x16_s>: - 000a4a: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000a53: 00 03 00 00 00 04 00 00 00 | - 000a5c: fd cb 01 | i16x8.widen_high_i8x16_s - 000a5f: 0b | end -000a61 func[40] <i16x8.widen_low_i8x16_u>: - 000a62: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000a6b: 00 03 00 00 00 04 00 00 00 | - 000a74: fd cc 01 | i16x8.widen_low_i8x16_u - 000a77: 0b | end -000a79 func[41] <i16x8.widen_high_i8x16_u>: - 000a7a: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000a83: 00 03 00 00 00 04 00 00 00 | - 000a8c: fd cd 01 | i16x8.widen_high_i8x16_u - 000a8f: 0b | end -000a91 func[42] <i32x4.widen_low_i16x8_s>: - 000a92: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000a9b: 00 03 00 00 00 04 00 00 00 | - 000aa4: fd ce 01 | i32x4.widen_low_i16x8_s - 000aa7: 0b | end -000aa9 func[43] <i32x4.widen_high_i16x8_s>: - 000aaa: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000ab3: 00 03 00 00 00 04 00 00 00 | - 000abc: fd cf 01 | i32x4.widen_high_i16x8_s - 000abf: 0b | end -000ac1 func[44] <i32x4.widen_low_i16x8_u>: - 000ac2: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000acb: 00 03 00 00 00 04 00 00 00 | - 000ad4: fd d0 01 | i32x4.widen_low_i16x8_u - 000ad7: 0b | end -000ad9 func[45] <i32x4.widen_high_i16x8_u>: - 000ada: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000ae3: 00 03 00 00 00 04 00 00 00 | - 000aec: fd d1 01 | i32x4.widen_high_i16x8_u - 000aef: 0b | end -000af1 func[46] <v128.andnot>: - 000af2: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000afb: 00 03 00 00 00 04 00 00 00 | - 000b04: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000b0d: 00 03 00 00 00 04 00 00 00 | - 000b16: fd d8 01 | v128.andnot - 000b19: 0b | end -000b1b func[47] <i8x16.avgr_u>: - 000b1c: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000b25: 00 03 00 00 00 04 00 00 00 | - 000b2e: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000b37: 00 03 00 00 00 04 00 00 00 | - 000b40: fd d9 01 | i8x16.avgr_u - 000b43: 0b | end -000b45 func[48] <i16x8.avgr_u>: - 000b46: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000b4f: 00 03 00 00 00 04 00 00 00 | - 000b58: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000b61: 00 03 00 00 00 04 00 00 00 | - 000b6a: fd da 01 | i16x8.avgr_u - 000b6d: 0b | end + 000456: fd 8e 01 | i16x8.add + 000459: 0b | end +00045b func[2] <i32x4_add_0>: + 00045c: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000465: 00 03 00 00 00 04 00 00 00 | + 00046e: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000477: 00 03 00 00 00 04 00 00 00 | + 000480: fd ae 01 | i32x4.add + 000483: 0b | end +000485 func[3] <i64x2_add_0>: + 000486: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 00048f: 00 03 00 00 00 04 00 00 00 | + 000498: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 0004a1: 00 03 00 00 00 04 00 00 00 | + 0004aa: fd ce 01 | i64x2.add + 0004ad: 0b | end +0004af func[4] <i8x16_sub_0>: + 0004b0: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 0004b9: 00 03 00 00 00 04 00 00 00 | + 0004c2: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 0004cb: 00 03 00 00 00 04 00 00 00 | + 0004d4: fd 71 | i8x16.sub + 0004d6: 0b | end +0004d8 func[5] <i16x8_sub_0>: + 0004d9: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 0004e2: 00 03 00 00 00 04 00 00 00 | + 0004eb: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 0004f4: 00 03 00 00 00 04 00 00 00 | + 0004fd: fd 91 01 | i16x8.sub + 000500: 0b | end +000502 func[6] <i32x4_sub_0>: + 000503: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 00050c: 00 03 00 00 00 04 00 00 00 | + 000515: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 00051e: 00 03 00 00 00 04 00 00 00 | + 000527: fd b1 01 | i32x4.sub + 00052a: 0b | end +00052c func[7] <i64x2_sub_0>: + 00052d: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000536: 00 03 00 00 00 04 00 00 00 | + 00053f: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000548: 00 03 00 00 00 04 00 00 00 | + 000551: fd d1 01 | i64x2.sub + 000554: 0b | end +000556 func[8] <i16x8_mul_0>: + 000557: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000560: 00 03 00 00 00 04 00 00 00 | + 000569: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000572: 00 03 00 00 00 04 00 00 00 | + 00057b: fd 95 01 | i16x8.mul + 00057e: 0b | end +000580 func[9] <i32x4_mul_0>: + 000581: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 00058a: 00 03 00 00 00 04 00 00 00 | + 000593: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 00059c: 00 03 00 00 00 04 00 00 00 | + 0005a5: fd b5 01 | i32x4.mul + 0005a8: 0b | end +0005aa func[10] <i64x2_mul_0>: + 0005ab: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 0005b4: 00 03 00 00 00 04 00 00 00 | + 0005bd: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 0005c6: 00 03 00 00 00 04 00 00 00 | + 0005cf: fd d5 01 | i64x2.mul + 0005d2: 0b | end +0005d4 func[11] <i8x16_add_saturate_signed_0>: + 0005d5: fd 0c 01 00 00 00 7f 00 00 | v128.const 0x00000001 0x0000007f 0x00000003 0x00000080 + 0005de: 00 03 00 00 00 80 00 00 00 | + 0005e7: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x000000ff + 0005f0: 00 03 00 00 00 ff 00 00 00 | + 0005f9: fd 6f | i8x16.add_saturate_s + 0005fb: 0b | end +0005fd func[12] <i8x16_add_saturate_unsigned_0>: + 0005fe: fd 0c 01 00 ff 00 02 00 00 | v128.const 0x00ff0001 0x04000002 0x00000003 0x00000004 + 000607: 04 03 00 00 00 04 00 00 00 | + 000610: fd 0c 01 00 02 00 02 00 00 | v128.const 0x00020001 0xfe000002 0x00000003 0x00000004 + 000619: fe 03 00 00 00 04 00 00 00 | + 000622: fd 70 | i8x16.add_saturate_u + 000624: 0b | end +000626 func[13] <i16x8_add_saturate_signed_0>: + 000627: fd 0c 01 00 00 00 ff 7f 00 | v128.const 0x00000001 0x00007fff 0x00000003 0x00008000 + 000630: 00 03 00 00 00 00 80 00 00 | + 000639: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x0000fffe + 000642: 00 03 00 00 00 fe ff 00 00 | + 00064b: fd 8f 01 | i16x8.add_saturate_s + 00064e: 0b | end +000650 func[14] <i16x8_add_saturate_unsigned_0>: + 000651: fd 0c ff ff ff 00 ff ff 00 | v128.const 0x00ffffff 0x0400ffff 0x00000003 0x00000004 + 00065a: 04 03 00 00 00 04 00 00 00 | + 000663: fd 0c 01 00 02 00 02 00 00 | v128.const 0x00020001 0xfe000002 0x00000003 0x00000004 + 00066c: fe 03 00 00 00 04 00 00 00 | + 000675: fd 90 01 | i16x8.add_saturate_u + 000678: 0b | end +00067a func[15] <i8x16_sub_saturate_signed_0>: + 00067b: fd 0c 01 00 00 00 7f 00 00 | v128.const 0x00000001 0x0000007f 0x000000fe 0x00000080 + 000684: 00 fe 00 00 00 80 00 00 00 | + 00068d: fd 0c 01 00 00 00 fe 00 00 | v128.const 0x00000001 0x000000fe 0x0000007f 0x000000ff + 000696: 00 7f 00 00 00 ff 00 00 00 | + 00069f: fd 72 | i8x16.sub_saturate_s + 0006a1: 0b | end +0006a3 func[16] <i8x16_sub_saturate_unsigned_0>: + 0006a4: fd 0c 01 00 ff 00 7f 00 00 | v128.const 0x00ff0001 0x0400007f 0x0000fffe 0x00000004 + 0006ad: 04 fe ff 00 00 04 00 00 00 | + 0006b6: fd 0c 01 00 02 00 fe ff 00 | v128.const 0x00020001 0xfe00fffe 0x0000007f 0x00000004 + 0006bf: fe 7f 00 00 00 04 00 00 00 | + 0006c8: fd 73 | i8x16.sub_saturate_u + 0006ca: 0b | end +0006cc func[17] <i16x8_sub_saturate_signed_0>: + 0006cd: fd 0c 01 00 00 00 ff 7f 00 | v128.const 0x00000001 0x00007fff 0x0000fffe 0x00008000 + 0006d6: 00 fe ff 00 00 00 80 00 00 | + 0006df: fd 0c 01 00 00 00 fe ff 00 | v128.const 0x00000001 0x0000fffe 0x00007fff 0x0000fffe + 0006e8: 00 ff 7f 00 00 fe ff 00 00 | + 0006f1: fd 92 01 | i16x8.sub_saturate_s + 0006f4: 0b | end +0006f6 func[18] <i16x8_sub_saturate_unsigned_0>: + 0006f7: fd 0c ff ff ff 00 ff ff 00 | v128.const 0x00ffffff 0x0400ffff 0x00000003 0x00000004 + 000700: 04 03 00 00 00 04 00 00 00 | + 000709: fd 0c 01 00 02 00 02 00 00 | v128.const 0x00020001 0xfe000002 0x00000003 0x00000004 + 000712: fe 03 00 00 00 04 00 00 00 | + 00071b: fd 93 01 | i16x8.sub_saturate_u + 00071e: 0b | end +000720 func[19] <v128_and_0>: + 000721: fd 0c 01 00 ff 00 02 00 04 | v128.const 0x00ff0001 0x00040002 0x44000003 0x00000004 + 00072a: 00 03 00 00 44 04 00 00 00 | + 000733: fd 0c 01 00 02 00 02 00 fe | v128.const 0x00020001 0x00fe0002 0x00000003 0x55000004 + 00073c: 00 03 00 00 00 04 00 00 55 | + 000745: fd 4e | v128.and + 000747: 0b | end +000749 func[20] <v128_or_0>: + 00074a: fd 0c 01 00 ff 00 02 00 04 | v128.const 0x00ff0001 0x00040002 0x44000003 0x00000004 + 000753: 00 03 00 00 44 04 00 00 00 | + 00075c: fd 0c 01 00 02 00 02 00 fe | v128.const 0x00020001 0x00fe0002 0x00000003 0x55000004 + 000765: 00 03 00 00 00 04 00 00 55 | + 00076e: fd 50 | v128.or + 000770: 0b | end +000772 func[21] <v128_xor_0>: + 000773: fd 0c 01 00 ff 00 02 00 04 | v128.const 0x00ff0001 0x00040002 0x44000003 0x00000004 + 00077c: 00 03 00 00 44 04 00 00 00 | + 000785: fd 0c 01 00 02 00 02 00 fe | v128.const 0x00020001 0x00fe0002 0x00000003 0x55000004 + 00078e: 00 03 00 00 00 04 00 00 55 | + 000797: fd 51 | v128.xor + 000799: 0b | end +00079b func[22] <f32x4_min_0>: + 00079c: fd 0c 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x449a5000 0xbf800000 + 0007a5: ff 00 50 9a 44 00 00 80 bf | + 0007ae: fd 0c 00 00 00 00 00 00 80 | v128.const 0x00000000 0x3f800000 0x449a5000 0x3f800000 + 0007b7: 3f 00 50 9a 44 00 00 80 3f | + 0007c0: fd e8 01 | f32x4.min + 0007c3: 0b | end +0007c5 func[23] <f64x2_min_0>: + 0007c6: fd 0c 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0xfff80000 + 0007cf: 00 00 00 00 00 00 00 f8 ff | + 0007d8: fd 0c 00 00 00 00 00 4a 93 | v128.const 0x00000000 0xc0934a00 0x00000000 0x3ff00000 + 0007e1: c0 00 00 00 00 00 00 f0 3f | + 0007ea: fd f4 01 | f64x2.min + 0007ed: 0b | end +0007ef func[24] <f32x4_max_0>: + 0007f0: fd 0c 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x449a5000 0xbf800000 + 0007f9: ff 00 50 9a 44 00 00 80 bf | + 000802: fd 0c 00 00 00 00 00 00 80 | v128.const 0x00000000 0x3f800000 0x449a5000 0x3f800000 + 00080b: 3f 00 50 9a 44 00 00 80 3f | + 000814: fd e9 01 | f32x4.max + 000817: 0b | end +000819 func[25] <f64x2_max_0>: + 00081a: fd 0c 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0xfff80000 + 000823: 00 00 00 00 00 00 00 f8 ff | + 00082c: fd 0c 00 00 00 00 00 4a 93 | v128.const 0x00000000 0xc0934a00 0x00000000 0x3ff00000 + 000835: c0 00 00 00 00 00 00 f0 3f | + 00083e: fd f5 01 | f64x2.max + 000841: 0b | end +000843 func[26] <f32x4_add_0>: + 000844: fd 0c 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x449a5000 0xc49a5000 + 00084d: ff 00 50 9a 44 00 50 9a c4 | + 000856: fd 0c 00 00 00 00 00 00 80 | v128.const 0x00000000 0x3f800000 0x3f800000 0x3fc00000 + 00085f: 3f 00 00 80 3f 00 00 c0 3f | + 000868: fd e4 01 | f32x4.add + 00086b: 0b | end +00086d func[27] <f64x2_add_0>: + 00086e: fd 0c 00 00 00 00 00 00 f8 | v128.const 0x00000000 0x3ff80000 0x00000000 0xfff80000 + 000877: 3f 00 00 00 00 00 00 f8 ff | + 000880: fd 0c 00 00 00 00 00 4a 93 | v128.const 0x00000000 0xc0934a00 0x00000000 0x3ff00000 + 000889: c0 00 00 00 00 00 00 f0 3f | + 000892: fd f0 01 | f64x2.add + 000895: 0b | end +000897 func[28] <f32x4_sub_0>: + 000898: fd 0c 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x449a5000 0xc49a5000 + 0008a1: ff 00 50 9a 44 00 50 9a c4 | + 0008aa: fd 0c 00 00 00 00 00 00 80 | v128.const 0x00000000 0x3f800000 0x3f800000 0x3fc00000 + 0008b3: 3f 00 00 80 3f 00 00 c0 3f | + 0008bc: fd e5 01 | f32x4.sub + 0008bf: 0b | end +0008c1 func[29] <f64x2_sub_0>: + 0008c2: fd 0c 00 00 00 00 00 00 f8 | v128.const 0x00000000 0x3ff80000 0x00000000 0xfff80000 + 0008cb: 3f 00 00 00 00 00 00 f8 ff | + 0008d4: fd 0c 00 00 00 00 00 4a 93 | v128.const 0x00000000 0xc0934a00 0x00000000 0x3ff00000 + 0008dd: c0 00 00 00 00 00 00 f0 3f | + 0008e6: fd f1 01 | f64x2.sub + 0008e9: 0b | end +0008eb func[30] <f32x4_div_0>: + 0008ec: fd 0c 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x3fc00000 0xc0400000 + 0008f5: ff 00 00 c0 3f 00 00 40 c0 | + 0008fe: fd 0c 00 00 00 00 00 00 80 | v128.const 0x00000000 0x3f800000 0x3f800000 0x3fc00000 + 000907: 3f 00 00 80 3f 00 00 c0 3f | + 000910: fd e7 01 | f32x4.div + 000913: 0b | end +000915 func[31] <f64x2_div_0>: + 000916: fd 0c 00 00 00 00 00 00 f8 | v128.const 0x00000000 0x3ff80000 0x00000000 0xc0080000 + 00091f: 3f 00 00 00 00 00 00 08 c0 | + 000928: fd 0c 00 00 00 00 00 00 f0 | v128.const 0x00000000 0x3ff00000 0x00000000 0x3ff80000 + 000931: 3f 00 00 00 00 00 00 f8 3f | + 00093a: fd f3 01 | f64x2.div + 00093d: 0b | end +00093f func[32] <f32x4_mul_0>: + 000940: fd 0c 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x3fc00000 0xc0400000 + 000949: ff 00 00 c0 3f 00 00 40 c0 | + 000952: fd 0c 00 00 00 00 00 00 80 | v128.const 0x00000000 0x3f800000 0x3f800000 0x3fc00000 + 00095b: 3f 00 00 80 3f 00 00 c0 3f | + 000964: fd e6 01 | f32x4.mul + 000967: 0b | end +000969 func[33] <f64x2_mul_0>: + 00096a: fd 0c 00 00 00 00 00 00 f8 | v128.const 0x00000000 0x3ff80000 0x00000000 0xc0080000 + 000973: 3f 00 00 00 00 00 00 08 c0 | + 00097c: fd 0c 00 00 00 00 00 00 f0 | v128.const 0x00000000 0x3ff00000 0x00000000 0x3ff80000 + 000985: 3f 00 00 00 00 00 00 f8 3f | + 00098e: fd f2 01 | f64x2.mul + 000991: 0b | end +000993 func[34] <i8x16.narrow_i16x8_s>: + 000994: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 00099d: 00 03 00 00 00 04 00 00 00 | + 0009a6: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 0009af: 00 03 00 00 00 04 00 00 00 | + 0009b8: fd 65 | i8x16.narrow_i16x8_s + 0009ba: 0b | end +0009bc func[35] <i8x16.narrow_i16x8_u>: + 0009bd: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 0009c6: 00 03 00 00 00 04 00 00 00 | + 0009cf: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 0009d8: 00 03 00 00 00 04 00 00 00 | + 0009e1: fd 66 | i8x16.narrow_i16x8_u + 0009e3: 0b | end +0009e5 func[36] <i16x8.narrow_i32x4_s>: + 0009e6: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 0009ef: 00 03 00 00 00 04 00 00 00 | + 0009f8: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000a01: 00 03 00 00 00 04 00 00 00 | + 000a0a: fd 85 01 | i16x8.narrow_i32x4_s + 000a0d: 0b | end +000a0f func[37] <i16x8.narrow_i32x4_u>: + 000a10: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000a19: 00 03 00 00 00 04 00 00 00 | + 000a22: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000a2b: 00 03 00 00 00 04 00 00 00 | + 000a34: fd 86 01 | i16x8.narrow_i32x4_u + 000a37: 0b | end +000a39 func[38] <i16x8.widen_low_i8x16_s>: + 000a3a: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000a43: 00 03 00 00 00 04 00 00 00 | + 000a4c: fd 87 01 | i16x8.widen_low_i8x16_s + 000a4f: 0b | end +000a51 func[39] <i16x8.widen_high_i8x16_s>: + 000a52: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000a5b: 00 03 00 00 00 04 00 00 00 | + 000a64: fd 88 01 | i16x8.widen_high_i8x16_s + 000a67: 0b | end +000a69 func[40] <i16x8.widen_low_i8x16_u>: + 000a6a: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000a73: 00 03 00 00 00 04 00 00 00 | + 000a7c: fd 89 01 | i16x8.widen_low_i8x16_u + 000a7f: 0b | end +000a81 func[41] <i16x8.widen_high_i8x16_u>: + 000a82: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000a8b: 00 03 00 00 00 04 00 00 00 | + 000a94: fd 8a 01 | i16x8.widen_high_i8x16_u + 000a97: 0b | end +000a99 func[42] <i32x4.widen_low_i16x8_s>: + 000a9a: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000aa3: 00 03 00 00 00 04 00 00 00 | + 000aac: fd a7 01 | i32x4.widen_low_i16x8_s + 000aaf: 0b | end +000ab1 func[43] <i32x4.widen_high_i16x8_s>: + 000ab2: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000abb: 00 03 00 00 00 04 00 00 00 | + 000ac4: fd a8 01 | i32x4.widen_high_i16x8_s + 000ac7: 0b | end +000ac9 func[44] <i32x4.widen_low_i16x8_u>: + 000aca: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000ad3: 00 03 00 00 00 04 00 00 00 | + 000adc: fd a9 01 | i32x4.widen_low_i16x8_u + 000adf: 0b | end +000ae1 func[45] <i32x4.widen_high_i16x8_u>: + 000ae2: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000aeb: 00 03 00 00 00 04 00 00 00 | + 000af4: fd aa 01 | i32x4.widen_high_i16x8_u + 000af7: 0b | end +000af9 func[46] <v128.andnot>: + 000afa: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000b03: 00 03 00 00 00 04 00 00 00 | + 000b0c: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000b15: 00 03 00 00 00 04 00 00 00 | + 000b1e: fd 4f | v128.andnot + 000b20: 0b | end +000b22 func[47] <i8x16.avgr_u>: + 000b23: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000b2c: 00 03 00 00 00 04 00 00 00 | + 000b35: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000b3e: 00 03 00 00 00 04 00 00 00 | + 000b47: fd 7b | i8x16.avgr_u + 000b49: 0b | end +000b4b func[48] <i16x8.avgr_u>: + 000b4c: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000b55: 00 03 00 00 00 04 00 00 00 | + 000b5e: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000b67: 00 03 00 00 00 04 00 00 00 | + 000b70: fd 9b 01 | i16x8.avgr_u + 000b73: 0b | end ;;; STDOUT ;;) diff --git a/test/dump/simd-bitselect.txt b/test/dump/simd-bitselect.txt index c07bd6a6..625ef2ed 100644 --- a/test/dump/simd-bitselect.txt +++ b/test/dump/simd-bitselect.txt @@ -17,12 +17,12 @@ simd-bitselect.wasm: file format wasm 0x1 Code Disassembly: 000032 func[0] <func_v128_bitselect_0>: - 000033: fd 02 01 00 ff 00 02 00 04 | v128.const 0x00ff0001 0x00040002 0x55555555 0x00000004 + 000033: fd 0c 01 00 ff 00 02 00 04 | v128.const 0x00ff0001 0x00040002 0x55555555 0x00000004 00003c: 00 55 55 55 55 04 00 00 00 | - 000045: fd 02 01 00 02 00 02 00 fe | v128.const 0x00020001 0x00fe0002 0xaaaaaaaa 0x55000004 + 000045: fd 0c 01 00 02 00 02 00 fe | v128.const 0x00020001 0x00fe0002 0xaaaaaaaa 0x55000004 00004e: 00 aa aa aa aa 04 00 00 55 | - 000057: fd 02 ff ff ff ff 00 00 00 | v128.const 0xffffffff 0x00000000 0x55555555 0x55000004 + 000057: fd 0c ff ff ff ff 00 00 00 | v128.const 0xffffffff 0x00000000 0x55555555 0x55000004 000060: 00 55 55 55 55 04 00 00 55 | - 000069: fd 50 | v128.bitselect + 000069: fd 52 | v128.bitselect 00006b: 0b | end ;;; STDOUT ;;) diff --git a/test/dump/simd-compare.txt b/test/dump/simd-compare.txt index d12307f9..f15703e6 100644 --- a/test/dump/simd-compare.txt +++ b/test/dump/simd-compare.txt @@ -237,297 +237,297 @@ simd-compare.wasm: file format wasm 0x1 Code Disassembly: 000267 func[0] <i8x16_eq_0>: - 000268: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 + 000268: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 000271: e0 03 00 00 00 04 00 00 00 | - 00027a: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 + 00027a: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 000283: e0 03 00 00 00 04 00 00 00 | - 00028c: fd 18 | i8x16.eq + 00028c: fd 23 | i8x16.eq 00028e: 0b | end 000290 func[1] <i16x8_eq_0>: - 000291: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 + 000291: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 00029a: e0 03 00 00 00 04 00 00 00 | - 0002a3: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 + 0002a3: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 0002ac: e0 03 00 00 00 04 00 00 00 | - 0002b5: fd 22 | i16x8.eq + 0002b5: fd 2d | i16x8.eq 0002b7: 0b | end 0002b9 func[2] <i32x4_eq_0>: - 0002ba: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 + 0002ba: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 0002c3: e0 03 00 00 00 04 00 00 00 | - 0002cc: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 + 0002cc: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 0002d5: e0 03 00 00 00 04 00 00 00 | - 0002de: fd 2c | i32x4.eq + 0002de: fd 37 | i32x4.eq 0002e0: 0b | end 0002e2 func[3] <f32x4_eq_0>: - 0002e3: fd 02 00 00 00 00 00 00 c0 | v128.const 0x00000000 0xffc00000 0x449a5000 0x449a5000 + 0002e3: fd 0c 00 00 00 00 00 00 c0 | v128.const 0x00000000 0xffc00000 0x449a5000 0x449a5000 0002ec: ff 00 50 9a 44 00 50 9a 44 | - 0002f5: fd 02 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x449a5000 0x3f800000 + 0002f5: fd 0c 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x449a5000 0x3f800000 0002fe: ff 00 50 9a 44 00 00 80 3f | - 000307: fd 40 | f32x4.eq + 000307: fd 41 | f32x4.eq 000309: 0b | end 00030b func[4] <f64x2_eq_0>: - 00030c: fd 02 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0xfff80000 + 00030c: fd 0c 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0xfff80000 000315: 00 00 00 00 00 00 00 f8 ff | - 00031e: fd 02 00 00 00 00 00 00 00 | v128.const 0x00000000 0x80000000 0x00000000 0xfff80000 + 00031e: fd 0c 00 00 00 00 00 00 00 | v128.const 0x00000000 0x80000000 0x00000000 0xfff80000 000327: 80 00 00 00 00 00 00 f8 ff | - 000330: fd 46 | f64x2.eq + 000330: fd 47 | f64x2.eq 000332: 0b | end 000334 func[5] <i8x16_ne_0>: - 000335: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 + 000335: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 00033e: e0 03 00 00 00 04 00 00 00 | - 000347: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 + 000347: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 000350: e0 03 00 00 00 04 00 00 00 | - 000359: fd 19 | i8x16.ne + 000359: fd 24 | i8x16.ne 00035b: 0b | end 00035d func[6] <i16x8_ne_0>: - 00035e: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 + 00035e: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 000367: e0 03 00 00 00 04 00 00 00 | - 000370: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 + 000370: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 000379: e0 03 00 00 00 04 00 00 00 | - 000382: fd 23 | i16x8.ne + 000382: fd 2e | i16x8.ne 000384: 0b | end 000386 func[7] <i32x4_ne_0>: - 000387: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 + 000387: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 000390: e0 03 00 00 00 04 00 00 00 | - 000399: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 + 000399: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 0003a2: e0 03 00 00 00 04 00 00 00 | - 0003ab: fd 2d | i32x4.ne + 0003ab: fd 38 | i32x4.ne 0003ad: 0b | end 0003af func[8] <f32x4_ne_0>: - 0003b0: fd 02 00 00 00 00 00 00 c0 | v128.const 0x00000000 0xffc00000 0x449a5000 0x449a5000 + 0003b0: fd 0c 00 00 00 00 00 00 c0 | v128.const 0x00000000 0xffc00000 0x449a5000 0x449a5000 0003b9: ff 00 50 9a 44 00 50 9a 44 | - 0003c2: fd 02 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x449a5000 0x3f800000 + 0003c2: fd 0c 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x449a5000 0x3f800000 0003cb: ff 00 50 9a 44 00 00 80 3f | - 0003d4: fd 41 | f32x4.ne + 0003d4: fd 42 | f32x4.ne 0003d6: 0b | end 0003d8 func[9] <f64x2_ne_0>: - 0003d9: fd 02 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0xfff80000 + 0003d9: fd 0c 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0xfff80000 0003e2: 00 00 00 00 00 00 00 f8 ff | - 0003eb: fd 02 00 00 00 00 00 00 00 | v128.const 0x00000000 0x80000000 0x00000000 0xfff80000 + 0003eb: fd 0c 00 00 00 00 00 00 00 | v128.const 0x00000000 0x80000000 0x00000000 0xfff80000 0003f4: 80 00 00 00 00 00 00 f8 ff | - 0003fd: fd 47 | f64x2.ne + 0003fd: fd 48 | f64x2.ne 0003ff: 0b | end 000401 func[10] <i8x16_lt_s>: - 000402: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 000402: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 00040b: e0 03 80 00 00 04 00 00 00 | - 000414: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 000414: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 00041d: e0 03 00 00 00 04 81 00 00 | - 000426: fd 1a | i8x16.lt_s + 000426: fd 25 | i8x16.lt_s 000428: 0b | end 00042a func[11] <i8x16_lt_u>: - 00042b: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 00042b: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 000434: e0 03 80 00 00 04 00 00 00 | - 00043d: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 00043d: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 000446: e0 03 00 00 00 04 81 00 00 | - 00044f: fd 1b | i8x16.lt_u + 00044f: fd 26 | i8x16.lt_u 000451: 0b | end 000453 func[12] <i16x8_lt_s>: - 000454: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 000454: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 00045d: e0 03 80 00 00 04 00 00 00 | - 000466: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 000466: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 00046f: e0 03 00 00 00 04 81 00 00 | - 000478: fd 24 | i16x8.lt_s + 000478: fd 2f | i16x8.lt_s 00047a: 0b | end 00047c func[13] <i16x8_lt_u>: - 00047d: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 00047d: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 000486: e0 03 80 00 00 04 00 00 00 | - 00048f: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 00048f: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 000498: e0 03 00 00 00 04 81 00 00 | - 0004a1: fd 25 | i16x8.lt_u + 0004a1: fd 30 | i16x8.lt_u 0004a3: 0b | end 0004a5 func[14] <i32x4_lt_s>: - 0004a6: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 0004a6: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 0004af: e0 03 80 00 00 04 00 00 00 | - 0004b8: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 0004b8: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 0004c1: e0 03 00 00 00 04 81 00 00 | - 0004ca: fd 2e | i32x4.lt_s + 0004ca: fd 39 | i32x4.lt_s 0004cc: 0b | end 0004ce func[15] <i32x4_lt_u>: - 0004cf: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 0004cf: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 0004d8: e0 03 80 00 00 04 00 00 00 | - 0004e1: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 0004e1: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 0004ea: e0 03 00 00 00 04 81 00 00 | - 0004f3: fd 2f | i32x4.lt_u + 0004f3: fd 3a | i32x4.lt_u 0004f5: 0b | end 0004f7 func[16] <f32x4_lt_0>: - 0004f8: fd 02 00 00 00 00 00 00 c0 | v128.const 0x00000000 0xffc00000 0x449a5000 0x449a5000 + 0004f8: fd 0c 00 00 00 00 00 00 c0 | v128.const 0x00000000 0xffc00000 0x449a5000 0x449a5000 000501: ff 00 50 9a 44 00 50 9a 44 | - 00050a: fd 02 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0xffc00000 0x3f800000 + 00050a: fd 0c 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0xffc00000 0x3f800000 000513: ff 00 00 c0 ff 00 00 80 3f | - 00051c: fd 42 | f32x4.lt + 00051c: fd 43 | f32x4.lt 00051e: 0b | end 000520 func[17] <f64x2_lt_0>: - 000521: fd 02 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0xfff80000 + 000521: fd 0c 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0xfff80000 00052a: 00 00 00 00 00 00 00 f8 ff | - 000533: fd 02 00 00 00 00 00 00 00 | v128.const 0x00000000 0x80000000 0x00000000 0xfff80000 + 000533: fd 0c 00 00 00 00 00 00 00 | v128.const 0x00000000 0x80000000 0x00000000 0xfff80000 00053c: 80 00 00 00 00 00 00 f8 ff | - 000545: fd 48 | f64x2.lt + 000545: fd 49 | f64x2.lt 000547: 0b | end 000549 func[18] <i8x16_le_s>: - 00054a: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 00054a: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 000553: e0 03 80 00 00 04 00 00 00 | - 00055c: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 00055c: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 000565: e0 03 00 00 00 04 81 00 00 | - 00056e: fd 1e | i8x16.le_s + 00056e: fd 29 | i8x16.le_s 000570: 0b | end 000572 func[19] <i8x16_le_u>: - 000573: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 000573: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 00057c: e0 03 80 00 00 04 00 00 00 | - 000585: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 000585: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 00058e: e0 03 00 00 00 04 81 00 00 | - 000597: fd 1f | i8x16.le_u + 000597: fd 2a | i8x16.le_u 000599: 0b | end 00059b func[20] <i16x8_le_s>: - 00059c: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 00059c: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 0005a5: e0 03 80 00 00 04 00 00 00 | - 0005ae: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 0005ae: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 0005b7: e0 03 00 00 00 04 81 00 00 | - 0005c0: fd 28 | i16x8.le_s + 0005c0: fd 33 | i16x8.le_s 0005c2: 0b | end 0005c4 func[21] <i16x8_le_u>: - 0005c5: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 0005c5: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 0005ce: e0 03 80 00 00 04 00 00 00 | - 0005d7: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 0005d7: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 0005e0: e0 03 00 00 00 04 81 00 00 | - 0005e9: fd 29 | i16x8.le_u + 0005e9: fd 34 | i16x8.le_u 0005eb: 0b | end 0005ed func[22] <i32x4_le_s>: - 0005ee: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 0005ee: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 0005f7: e0 03 80 00 00 04 00 00 00 | - 000600: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 000600: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 000609: e0 03 00 00 00 04 81 00 00 | - 000612: fd 32 | i32x4.le_s + 000612: fd 3d | i32x4.le_s 000614: 0b | end 000616 func[23] <i32x4_le_u>: - 000617: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 000617: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 000620: e0 03 80 00 00 04 00 00 00 | - 000629: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 000629: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 000632: e0 03 00 00 00 04 81 00 00 | - 00063b: fd 33 | i32x4.le_u + 00063b: fd 3e | i32x4.le_u 00063d: 0b | end 00063f func[24] <f32x4_le_0>: - 000640: fd 02 00 00 00 00 00 00 c0 | v128.const 0x00000000 0xffc00000 0x449a5000 0x449a5000 + 000640: fd 0c 00 00 00 00 00 00 c0 | v128.const 0x00000000 0xffc00000 0x449a5000 0x449a5000 000649: ff 00 50 9a 44 00 50 9a 44 | - 000652: fd 02 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0xffc00000 0x3f800000 + 000652: fd 0c 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0xffc00000 0x3f800000 00065b: ff 00 00 c0 ff 00 00 80 3f | - 000664: fd 44 | f32x4.le + 000664: fd 45 | f32x4.le 000666: 0b | end 000668 func[25] <f64x2_le_0>: - 000669: fd 02 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0xfff80000 + 000669: fd 0c 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0xfff80000 000672: 00 00 00 00 00 00 00 f8 ff | - 00067b: fd 02 00 00 00 00 00 00 00 | v128.const 0x00000000 0x80000000 0x00000000 0xfff80000 + 00067b: fd 0c 00 00 00 00 00 00 00 | v128.const 0x00000000 0x80000000 0x00000000 0xfff80000 000684: 80 00 00 00 00 00 00 f8 ff | - 00068d: fd 4a | f64x2.le + 00068d: fd 4b | f64x2.le 00068f: 0b | end 000691 func[26] <i8x16_gt_s>: - 000692: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 000692: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 00069b: e0 03 80 00 00 04 00 00 00 | - 0006a4: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 0006a4: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 0006ad: e0 03 00 00 00 04 81 00 00 | - 0006b6: fd 1c | i8x16.gt_s + 0006b6: fd 27 | i8x16.gt_s 0006b8: 0b | end 0006ba func[27] <i8x16_gt_u>: - 0006bb: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 0006bb: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 0006c4: e0 03 80 00 00 04 00 00 00 | - 0006cd: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 0006cd: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 0006d6: e0 03 00 00 00 04 81 00 00 | - 0006df: fd 1d | i8x16.gt_u + 0006df: fd 28 | i8x16.gt_u 0006e1: 0b | end 0006e3 func[28] <i16x8_gt_s>: - 0006e4: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 0006e4: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 0006ed: e0 03 80 00 00 04 00 00 00 | - 0006f6: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 0006f6: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 0006ff: e0 03 00 00 00 04 81 00 00 | - 000708: fd 26 | i16x8.gt_s + 000708: fd 31 | i16x8.gt_s 00070a: 0b | end 00070c func[29] <i16x8_gt_u>: - 00070d: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 00070d: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 000716: e0 03 80 00 00 04 00 00 00 | - 00071f: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 00071f: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 000728: e0 03 00 00 00 04 81 00 00 | - 000731: fd 27 | i16x8.gt_u + 000731: fd 32 | i16x8.gt_u 000733: 0b | end 000735 func[30] <i32x4_gt_s>: - 000736: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 000736: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 00073f: e0 03 80 00 00 04 00 00 00 | - 000748: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 000748: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 000751: e0 03 00 00 00 04 81 00 00 | - 00075a: fd 30 | i32x4.gt_s + 00075a: fd 3b | i32x4.gt_s 00075c: 0b | end 00075e func[31] <i32x4_gt_u>: - 00075f: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 00075f: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 000768: e0 03 80 00 00 04 00 00 00 | - 000771: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 000771: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 00077a: e0 03 00 00 00 04 81 00 00 | - 000783: fd 31 | i32x4.gt_u + 000783: fd 3c | i32x4.gt_u 000785: 0b | end 000787 func[32] <f32x4_gt_0>: - 000788: fd 02 00 00 00 00 00 00 c0 | v128.const 0x00000000 0xffc00000 0x449a5000 0x449a5000 + 000788: fd 0c 00 00 00 00 00 00 c0 | v128.const 0x00000000 0xffc00000 0x449a5000 0x449a5000 000791: ff 00 50 9a 44 00 50 9a 44 | - 00079a: fd 02 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0xffc00000 0x3f800000 + 00079a: fd 0c 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0xffc00000 0x3f800000 0007a3: ff 00 00 c0 ff 00 00 80 3f | - 0007ac: fd 43 | f32x4.gt + 0007ac: fd 44 | f32x4.gt 0007ae: 0b | end 0007b0 func[33] <f64x2_gt_0>: - 0007b1: fd 02 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0xfff80000 + 0007b1: fd 0c 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0xfff80000 0007ba: 00 00 00 00 00 00 00 f8 ff | - 0007c3: fd 02 00 00 00 00 00 00 00 | v128.const 0x00000000 0x80000000 0x00000000 0xfff80000 + 0007c3: fd 0c 00 00 00 00 00 00 00 | v128.const 0x00000000 0x80000000 0x00000000 0xfff80000 0007cc: 80 00 00 00 00 00 00 f8 ff | - 0007d5: fd 49 | f64x2.gt + 0007d5: fd 4a | f64x2.gt 0007d7: 0b | end 0007d9 func[34] <i8x16_ge_s>: - 0007da: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 0007da: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 0007e3: e0 03 80 00 00 04 00 00 00 | - 0007ec: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 0007ec: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 0007f5: e0 03 00 00 00 04 81 00 00 | - 0007fe: fd 20 | i8x16.ge_s + 0007fe: fd 2b | i8x16.ge_s 000800: 0b | end 000802 func[35] <i8x16_ge_u>: - 000803: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 000803: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 00080c: e0 03 80 00 00 04 00 00 00 | - 000815: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 000815: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 00081e: e0 03 00 00 00 04 81 00 00 | - 000827: fd 21 | i8x16.ge_u + 000827: fd 2c | i8x16.ge_u 000829: 0b | end 00082b func[36] <i16x8_ge_s>: - 00082c: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 00082c: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 000835: e0 03 80 00 00 04 00 00 00 | - 00083e: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 00083e: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 000847: e0 03 00 00 00 04 81 00 00 | - 000850: fd 2a | i16x8.ge_s + 000850: fd 35 | i16x8.ge_s 000852: 0b | end 000854 func[37] <i16x8_ge_u>: - 000855: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 000855: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 00085e: e0 03 80 00 00 04 00 00 00 | - 000867: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 000867: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 000870: e0 03 00 00 00 04 81 00 00 | - 000879: fd 2b | i16x8.ge_u + 000879: fd 36 | i16x8.ge_u 00087b: 0b | end 00087d func[38] <i32x4_ge_s>: - 00087e: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 00087e: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 000887: e0 03 80 00 00 04 00 00 00 | - 000890: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 000890: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 000899: e0 03 00 00 00 04 81 00 00 | - 0008a2: fd 34 | i32x4.ge_s + 0008a2: fd 3f | i32x4.ge_s 0008a4: 0b | end 0008a6 func[39] <i32x4_ge_u>: - 0008a7: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 + 0008a7: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00008003 0x00000004 0008b0: e0 03 80 00 00 04 00 00 00 | - 0008b9: fd 02 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 + 0008b9: fd 0c 01 00 00 02 02 ff 00 | v128.const 0x02000001 0xe000ff02 0x00000003 0x00008104 0008c2: e0 03 00 00 00 04 81 00 00 | - 0008cb: fd 35 | i32x4.ge_u + 0008cb: fd 40 | i32x4.ge_u 0008cd: 0b | end 0008cf func[40] <f32x4_ge_0>: - 0008d0: fd 02 00 00 00 00 00 00 c0 | v128.const 0x00000000 0xffc00000 0x449a5000 0x449a5000 + 0008d0: fd 0c 00 00 00 00 00 00 c0 | v128.const 0x00000000 0xffc00000 0x449a5000 0x449a5000 0008d9: ff 00 50 9a 44 00 50 9a 44 | - 0008e2: fd 02 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0xffc00000 0x3f800000 + 0008e2: fd 0c 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0xffc00000 0x3f800000 0008eb: ff 00 00 c0 ff 00 00 80 3f | - 0008f4: fd 45 | f32x4.ge + 0008f4: fd 46 | f32x4.ge 0008f6: 0b | end 0008f8 func[41] <f64x2_ge_0>: - 0008f9: fd 02 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0xfff80000 + 0008f9: fd 0c 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0xfff80000 000902: 00 00 00 00 00 00 00 f8 ff | - 00090b: fd 02 00 00 00 00 00 00 00 | v128.const 0x00000000 0x80000000 0x00000000 0xfff80000 + 00090b: fd 0c 00 00 00 00 00 00 00 | v128.const 0x00000000 0x80000000 0x00000000 0xfff80000 000914: 80 00 00 00 00 00 00 f8 ff | - 00091d: fd 4b | f64x2.ge + 00091d: fd 4c | f64x2.ge 00091f: 0b | end ;;; STDOUT ;;) diff --git a/test/dump/simd-lane.txt b/test/dump/simd-lane.txt index fdb9e68b..635fb765 100644 --- a/test/dump/simd-lane.txt +++ b/test/dump/simd-lane.txt @@ -97,94 +97,94 @@ simd-lane.wasm: file format wasm 0x1 Code Disassembly: 0001f9 func[0] <func_i8x16_extract_lane_s_0>: - 0001fa: fd 02 01 00 00 00 0f 00 00 | v128.const 0x00000001 0x0000000f 0x000000ff 0x0000017f + 0001fa: fd 0c 01 00 00 00 0f 00 00 | v128.const 0x00000001 0x0000000f 0x000000ff 0x0000017f 000203: 00 ff 00 00 00 7f 01 00 00 | - 00020c: fd 05 08 | i8x16.extract_lane_s 8 + 00020c: fd 15 08 | i8x16.extract_lane_s 8 00020f: 0b | end 000211 func[1] <func_i8x16_extract_lane_u_0>: - 000212: fd 02 01 00 00 00 0f 00 00 | v128.const 0x00000001 0x0000000f 0x000000ff 0x0000017f + 000212: fd 0c 01 00 00 00 0f 00 00 | v128.const 0x00000001 0x0000000f 0x000000ff 0x0000017f 00021b: 00 ff 00 00 00 7f 01 00 00 | - 000224: fd 06 08 | i8x16.extract_lane_u 8 + 000224: fd 16 08 | i8x16.extract_lane_u 8 000227: 0b | end 000229 func[2] <func_i16x8_extract_lane_s_0>: - 00022a: fd 02 01 00 00 00 0f 00 00 | v128.const 0x00000001 0x0000000f 0x0000ffff 0x0000017f + 00022a: fd 0c 01 00 00 00 0f 00 00 | v128.const 0x00000001 0x0000000f 0x0000ffff 0x0000017f 000233: 00 ff ff 00 00 7f 01 00 00 | - 00023c: fd 09 04 | i16x8.extract_lane_s 4 + 00023c: fd 18 04 | i16x8.extract_lane_s 4 00023f: 0b | end 000241 func[3] <func_i16x8_extract_lane_u_0>: - 000242: fd 02 01 00 00 00 0f 00 00 | v128.const 0x00000001 0x0000000f 0x0000ffff 0x0000017f + 000242: fd 0c 01 00 00 00 0f 00 00 | v128.const 0x00000001 0x0000000f 0x0000ffff 0x0000017f 00024b: 00 ff ff 00 00 7f 01 00 00 | - 000254: fd 0a 04 | i16x8.extract_lane_u 4 + 000254: fd 19 04 | i16x8.extract_lane_u 4 000257: 0b | end 000259 func[4] <func_i32x4_extract_lane_0>: - 00025a: fd 02 01 00 00 00 0f 00 00 | v128.const 0x00000001 0x0000000f 0x0000ffff 0x0000017f + 00025a: fd 0c 01 00 00 00 0f 00 00 | v128.const 0x00000001 0x0000000f 0x0000ffff 0x0000017f 000263: 00 ff ff 00 00 7f 01 00 00 | - 00026c: fd 0d 02 | i32x4.extract_lane 2 + 00026c: fd 1b 02 | i32x4.extract_lane 2 00026f: 0b | end 000271 func[5] <func_i64x2_extract_lane_0>: - 000272: fd 02 0f 00 00 00 00 00 00 | v128.const 0x0000000f 0x00000000 0x0000ffff 0x0000017f + 000272: fd 0c 0f 00 00 00 00 00 00 | v128.const 0x0000000f 0x00000000 0x0000ffff 0x0000017f 00027b: 00 ff ff 00 00 7f 01 00 00 | - 000284: fd 10 00 | i64x2.extract_lane 0 + 000284: fd 1d 00 | i64x2.extract_lane 0 000287: 0b | end 000289 func[6] <func_f32x4_extract_lane_0>: - 00028a: fd 02 01 00 00 00 00 00 c0 | v128.const 0x00000001 0x3fc00000 0x0000ffff 0x0000017f + 00028a: fd 0c 01 00 00 00 00 00 c0 | v128.const 0x00000001 0x3fc00000 0x0000ffff 0x0000017f 000293: 3f ff ff 00 00 7f 01 00 00 | - 00029c: fd 13 01 | f32x4.extract_lane 1 + 00029c: fd 1f 01 | f32x4.extract_lane 1 00029f: 0b | end 0002a1 func[7] <func_f64x2_extract_lane_0>: - 0002a2: fd 02 00 00 00 00 00 00 12 | v128.const 0x00000000 0x40120000 0x0000ffff 0x0000017f + 0002a2: fd 0c 00 00 00 00 00 00 12 | v128.const 0x00000000 0x40120000 0x0000ffff 0x0000017f 0002ab: 40 ff ff 00 00 7f 01 00 00 | - 0002b4: fd 16 00 | f64x2.extract_lane 0 + 0002b4: fd 21 00 | f64x2.extract_lane 0 0002b7: 0b | end 0002b9 func[8] <func_i8x16_replace_lane_0>: - 0002ba: fd 02 01 00 00 00 0f 00 00 | v128.const 0x00000001 0x0000000f 0x000000ff 0x0000017f + 0002ba: fd 0c 01 00 00 00 0f 00 00 | v128.const 0x00000001 0x0000000f 0x000000ff 0x0000017f 0002c3: 00 ff 00 00 00 7f 01 00 00 | 0002cc: 41 e5 01 | i32.const 229 - 0002cf: fd 07 08 | i8x16.replace_lane 8 + 0002cf: fd 17 08 | i8x16.replace_lane 8 0002d2: 0b | end 0002d4 func[9] <func_i16x8_replace_lane_0>: - 0002d5: fd 02 01 00 00 00 0f 00 00 | v128.const 0x00000001 0x0000000f 0x0000ffff 0x0000017f + 0002d5: fd 0c 01 00 00 00 0f 00 00 | v128.const 0x00000001 0x0000000f 0x0000ffff 0x0000017f 0002de: 00 ff ff 00 00 7f 01 00 00 | 0002e7: 41 e6 cb 03 | i32.const 58854 - 0002eb: fd 0b 04 | i16x8.replace_lane 4 + 0002eb: fd 1a 04 | i16x8.replace_lane 4 0002ee: 0b | end 0002f0 func[10] <func_i32x4_replace_lane_0>: - 0002f1: fd 02 01 00 00 00 0f 00 00 | v128.const 0x00000001 0x0000000f 0x0000ffff 0x0000017f + 0002f1: fd 0c 01 00 00 00 0f 00 00 | v128.const 0x00000001 0x0000000f 0x0000ffff 0x0000017f 0002fa: 00 ff ff 00 00 7f 01 00 00 | 000303: 41 f8 ac d1 91 01 | i32.const 305419896 - 000309: fd 0e 02 | i32x4.replace_lane 2 + 000309: fd 1c 02 | i32x4.replace_lane 2 00030c: 0b | end 00030e func[11] <func_i64x2_replace_lane_0>: - 00030f: fd 02 0f 00 00 00 00 00 00 | v128.const 0x0000000f 0x00000000 0x0000ffff 0x0000017f + 00030f: fd 0c 0f 00 00 00 00 00 00 | v128.const 0x0000000f 0x00000000 0x0000ffff 0x0000017f 000318: 00 ff ff 00 00 7f 01 00 00 | 000321: 42 f8 ac 81 80 c0 c6 04 | i64.const 20014547621496 - 000329: fd 11 00 | i64x2.replace_lane 0 + 000329: fd 1e 00 | i64x2.replace_lane 0 00032c: 0b | end 00032e func[12] <func_f32x4_replace_lane_0>: - 00032f: fd 02 01 00 00 00 00 00 00 | v128.const 0x00000001 0x00000000 0x0000ffff 0x0000017f + 00032f: fd 0c 01 00 00 00 00 00 00 | v128.const 0x00000001 0x00000000 0x0000ffff 0x0000017f 000338: 00 ff ff 00 00 7f 01 00 00 | 000341: 43 00 00 c0 3f | f32.const 0x1.8p+0 - 000346: fd 14 01 | f32x4.replace_lane 1 + 000346: fd 20 01 | f32x4.replace_lane 1 000349: 0b | end 00034b func[13] <func_f64x2_replace_lane_0>: - 00034c: fd 02 9a 78 00 00 30 03 88 | v128.const 0x0000789a 0xff880330 0x0000ffff 0x0000017f + 00034c: fd 0c 9a 78 00 00 30 03 88 | v128.const 0x0000789a 0xff880330 0x0000ffff 0x0000017f 000355: ff ff ff 00 00 7f 01 00 00 | 00035e: 44 00 00 00 00 00 00 12 40 | f64.const 0x1.2p+2 - 000367: fd 17 00 | f64x2.replace_lane 0 + 000367: fd 22 00 | f64x2.replace_lane 0 00036a: 0b | end 00036c func[14] <func_v8x16_swizzle_0>: - 00036d: fd 02 44 33 22 11 88 77 66 | v128.const 0x11223344 0x55667788 0x99aabbcc 0xddeeff00 + 00036d: fd 0c 44 33 22 11 88 77 66 | v128.const 0x11223344 0x55667788 0x99aabbcc 0xddeeff00 000376: 55 cc bb aa 99 00 ff ee dd | - 00037f: fd 02 0c 0d 0e 0f 08 09 0a | v128.const 0x0f0e0d0c 0x0b0a0908 0x07060504 0x03020100 + 00037f: fd 0c 0c 0d 0e 0f 08 09 0a | v128.const 0x0f0e0d0c 0x0b0a0908 0x07060504 0x03020100 000388: 0b 04 05 06 07 00 01 02 03 | - 000391: fd c0 01 | v8x16.swizzle - 000394: 0b | end -000396 func[15] <func_v8x16_shuffle_0>: - 000397: fd 02 01 ff 00 ff 0f ff 00 | v128.const 0xff00ff01 0xff00ff0f 0xff00ffff 0xff00ff7f - 0003a0: ff ff ff 00 ff 7f ff 00 ff | - 0003a9: fd 02 55 00 55 00 55 00 55 | v128.const 0x00550055 0x00550055 0x00550055 0x00550155 - 0003b2: 00 55 00 55 00 55 01 55 00 | - 0003bb: fd 03 10 01 12 03 14 05 16 | v8x16.shuffle 0x03120110 0x07160514 0x0b1a0918 0x0f1e0d1c - 0003c4: 07 18 09 1a 0b 1c 0d 1e 0f | - 0003cd: 0b | end + 000391: fd 0e | v8x16.swizzle + 000393: 0b | end +000395 func[15] <func_v8x16_shuffle_0>: + 000396: fd 0c 01 ff 00 ff 0f ff 00 | v128.const 0xff00ff01 0xff00ff0f 0xff00ffff 0xff00ff7f + 00039f: ff ff ff 00 ff 7f ff 00 ff | + 0003a8: fd 0c 55 00 55 00 55 00 55 | v128.const 0x00550055 0x00550055 0x00550055 0x00550155 + 0003b1: 00 55 00 55 00 55 01 55 00 | + 0003ba: fd 0d 10 01 12 03 14 05 16 | v8x16.shuffle 0x03120110 0x07160514 0x0b1a0918 0x0f1e0d1c + 0003c3: 07 18 09 1a 0b 1c 0d 1e 0f | + 0003cc: 0b | end ;;; STDOUT ;;) diff --git a/test/dump/simd-load-store.txt b/test/dump/simd-load-store.txt index e17fe802..ac8568c6 100644 --- a/test/dump/simd-load-store.txt +++ b/test/dump/simd-load-store.txt @@ -63,34 +63,34 @@ Code Disassembly: 0000bb: 0b | end 0000bd func[1] <v128_store_0>: 0000be: 41 04 | i32.const 4 - 0000c0: fd 02 44 33 22 11 88 77 66 | v128.const 0x11223344 0x55667788 0x99aabbcc 0xddeeff00 + 0000c0: fd 0c 44 33 22 11 88 77 66 | v128.const 0x11223344 0x55667788 0x99aabbcc 0xddeeff00 0000c9: 55 cc bb aa 99 00 ff ee dd | - 0000d2: fd 01 04 00 | v128.store 4 0 + 0000d2: fd 0b 04 00 | v128.store 4 0 0000d6: 41 04 | i32.const 4 0000d8: fd 00 04 00 | v128.load 4 0 0000dc: 0b | end 0000de func[2] <i16x8.load8x8_s>: 0000df: 41 00 | i32.const 0 - 0000e1: fd d2 01 03 00 | i16x8.load8x8_s 3 0 - 0000e6: 0b | end -0000e8 func[3] <i16x8.load8x8_u>: - 0000e9: 41 00 | i32.const 0 - 0000eb: fd d3 01 03 00 | i16x8.load8x8_u 3 0 - 0000f0: 0b | end -0000f2 func[4] <i32x4.load16x4_s>: - 0000f3: 41 00 | i32.const 0 - 0000f5: fd d4 01 03 00 | i32x4.load16x4_s 3 0 - 0000fa: 0b | end -0000fc func[5] <i32x4.load16x4_u>: - 0000fd: 41 00 | i32.const 0 - 0000ff: fd d5 01 03 00 | i32x4.load16x4_u 3 0 - 000104: 0b | end -000106 func[6] <i64x2.load32x2_s>: - 000107: 41 00 | i32.const 0 - 000109: fd d6 01 03 00 | i64x2.load32x2_s 3 0 - 00010e: 0b | end -000110 func[7] <i64x2.load32x2_u>: - 000111: 41 00 | i32.const 0 - 000113: fd d7 01 03 00 | i64x2.load32x2_u 3 0 - 000118: 0b | end + 0000e1: fd 01 03 00 | i16x8.load8x8_s 3 0 + 0000e5: 0b | end +0000e7 func[3] <i16x8.load8x8_u>: + 0000e8: 41 00 | i32.const 0 + 0000ea: fd 02 03 00 | i16x8.load8x8_u 3 0 + 0000ee: 0b | end +0000f0 func[4] <i32x4.load16x4_s>: + 0000f1: 41 00 | i32.const 0 + 0000f3: fd 03 03 00 | i32x4.load16x4_s 3 0 + 0000f7: 0b | end +0000f9 func[5] <i32x4.load16x4_u>: + 0000fa: 41 00 | i32.const 0 + 0000fc: fd 04 03 00 | i32x4.load16x4_u 3 0 + 000100: 0b | end +000102 func[6] <i64x2.load32x2_s>: + 000103: 41 00 | i32.const 0 + 000105: fd 05 03 00 | i64x2.load32x2_s 3 0 + 000109: 0b | end +00010b func[7] <i64x2.load32x2_u>: + 00010c: 41 00 | i32.const 0 + 00010e: fd 06 03 00 | i64x2.load32x2_u 3 0 + 000112: 0b | end ;;; STDOUT ;;) diff --git a/test/dump/simd-shift.txt b/test/dump/simd-shift.txt index 1ca73a52..363094ee 100644 --- a/test/dump/simd-shift.txt +++ b/test/dump/simd-shift.txt @@ -73,75 +73,75 @@ simd-shift.wasm: file format wasm 0x1 Code Disassembly: 0000df func[0] <i8x16_shl_0>: - 0000e0: fd 02 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 + 0000e0: fd 0c 01 00 00 ff 02 00 00 | v128.const 0xff000001 0xe0000002 0x00000003 0x00000004 0000e9: e0 03 00 00 00 04 00 00 00 | 0000f2: 41 03 | i32.const 3 - 0000f4: fd 54 | i8x16.shl + 0000f4: fd 6b | i8x16.shl 0000f6: 0b | end 0000f8 func[1] <i16x8_shl_0>: - 0000f9: fd 02 71 00 00 ff 02 07 00 | v128.const 0xff000071 0xe0000702 0x00000003 0x00000004 + 0000f9: fd 0c 71 00 00 ff 02 07 00 | v128.const 0xff000071 0xe0000702 0x00000003 0x00000004 000102: e0 03 00 00 00 04 00 00 00 | 00010b: 41 03 | i32.const 3 - 00010d: fd 65 | i16x8.shl - 00010f: 0b | end -000111 func[2] <i32x4_shl_0>: - 000112: fd 02 71 f0 0f ff 02 77 07 | v128.const 0xff0ff071 0xe0077702 0xe0004003 0x00002004 - 00011b: e0 03 40 00 e0 04 20 00 00 | - 000124: 41 03 | i32.const 3 - 000126: fd 76 | i32x4.shl - 000128: 0b | end -00012a func[3] <i64x2_shl_0>: - 00012b: fd 02 55 00 00 ff 02 07 00 | v128.const 0xff000055 0xe0000702 0xe0004003 0x00002004 - 000134: e0 03 40 00 e0 04 20 00 00 | - 00013d: 41 03 | i32.const 3 - 00013f: fd 87 01 | i64x2.shl - 000142: 0b | end -000144 func[4] <i8x16_shr_s_0>: - 000145: fd 02 0f 00 00 ff 02 70 0f | v128.const 0xff00000f 0xe00f7002 0x0f000003 0x000ff004 - 00014e: e0 03 00 00 0f 04 f0 0f 00 | - 000157: 41 03 | i32.const 3 - 000159: fd 55 | i8x16.shr_s - 00015b: 0b | end -00015d func[5] <i8x16_shr_u_0>: - 00015e: fd 02 0f 00 00 ff 02 70 0f | v128.const 0xff00000f 0xe00f7002 0x0f000003 0x000ff004 - 000167: e0 03 00 00 0f 04 f0 0f 00 | - 000170: 41 03 | i32.const 3 - 000172: fd 56 | i8x16.shr_u - 000174: 0b | end -000176 func[6] <i16x8_shr_s_0>: - 000177: fd 02 0f 00 00 ff 02 70 0f | v128.const 0xff00000f 0xe00f7002 0x0f000003 0x000ff004 - 000180: e0 03 00 00 0f 04 f0 0f 00 | - 000189: 41 03 | i32.const 3 - 00018b: fd 66 | i16x8.shr_s - 00018d: 0b | end -00018f func[7] <i16x8_shr_u_0>: - 000190: fd 02 0f 00 00 ff 02 70 0f | v128.const 0xff00000f 0xe00f7002 0x0f000003 0x000ff004 - 000199: e0 03 00 00 0f 04 f0 0f 00 | - 0001a2: 41 03 | i32.const 3 - 0001a4: fd 67 | i16x8.shr_u - 0001a6: 0b | end -0001a8 func[8] <i32x4_shr_s_0>: - 0001a9: fd 02 0f 00 00 ff 02 70 0f | v128.const 0xff00000f 0xe00f7002 0x0f000003 0x000ff004 - 0001b2: e0 03 00 00 0f 04 f0 0f 00 | - 0001bb: 41 03 | i32.const 3 - 0001bd: fd 77 | i32x4.shr_s - 0001bf: 0b | end -0001c1 func[9] <i32x4_shr_u_0>: - 0001c2: fd 02 0f 00 00 ff 02 70 0f | v128.const 0xff00000f 0xe00f7002 0x0f000003 0x000ff004 - 0001cb: e0 03 00 00 0f 04 f0 0f 00 | - 0001d4: 41 03 | i32.const 3 - 0001d6: fd 78 | i32x4.shr_u - 0001d8: 0b | end -0001da func[10] <i64x2_shr_s_0>: - 0001db: fd 02 0f 00 00 ff 02 70 0f | v128.const 0xff00000f 0xe00f7002 0x0f000003 0x000ff004 - 0001e4: e0 03 00 00 0f 04 f0 0f 00 | - 0001ed: 41 03 | i32.const 3 - 0001ef: fd 88 01 | i64x2.shr_s - 0001f2: 0b | end -0001f4 func[11] <i64x2_shr_u_0>: - 0001f5: fd 02 0f 00 00 ff 02 70 0f | v128.const 0xff00000f 0xe00f7002 0x0f000003 0x000ff004 - 0001fe: e0 03 00 00 0f 04 f0 0f 00 | - 000207: 41 03 | i32.const 3 - 000209: fd 89 01 | i64x2.shr_u - 00020c: 0b | end + 00010d: fd 8b 01 | i16x8.shl + 000110: 0b | end +000112 func[2] <i32x4_shl_0>: + 000113: fd 0c 71 f0 0f ff 02 77 07 | v128.const 0xff0ff071 0xe0077702 0xe0004003 0x00002004 + 00011c: e0 03 40 00 e0 04 20 00 00 | + 000125: 41 03 | i32.const 3 + 000127: fd ab 01 | i32x4.shl + 00012a: 0b | end +00012c func[3] <i64x2_shl_0>: + 00012d: fd 0c 55 00 00 ff 02 07 00 | v128.const 0xff000055 0xe0000702 0xe0004003 0x00002004 + 000136: e0 03 40 00 e0 04 20 00 00 | + 00013f: 41 03 | i32.const 3 + 000141: fd cb 01 | i64x2.shl + 000144: 0b | end +000146 func[4] <i8x16_shr_s_0>: + 000147: fd 0c 0f 00 00 ff 02 70 0f | v128.const 0xff00000f 0xe00f7002 0x0f000003 0x000ff004 + 000150: e0 03 00 00 0f 04 f0 0f 00 | + 000159: 41 03 | i32.const 3 + 00015b: fd 6c | i8x16.shr_s + 00015d: 0b | end +00015f func[5] <i8x16_shr_u_0>: + 000160: fd 0c 0f 00 00 ff 02 70 0f | v128.const 0xff00000f 0xe00f7002 0x0f000003 0x000ff004 + 000169: e0 03 00 00 0f 04 f0 0f 00 | + 000172: 41 03 | i32.const 3 + 000174: fd 6d | i8x16.shr_u + 000176: 0b | end +000178 func[6] <i16x8_shr_s_0>: + 000179: fd 0c 0f 00 00 ff 02 70 0f | v128.const 0xff00000f 0xe00f7002 0x0f000003 0x000ff004 + 000182: e0 03 00 00 0f 04 f0 0f 00 | + 00018b: 41 03 | i32.const 3 + 00018d: fd 8c 01 | i16x8.shr_s + 000190: 0b | end +000192 func[7] <i16x8_shr_u_0>: + 000193: fd 0c 0f 00 00 ff 02 70 0f | v128.const 0xff00000f 0xe00f7002 0x0f000003 0x000ff004 + 00019c: e0 03 00 00 0f 04 f0 0f 00 | + 0001a5: 41 03 | i32.const 3 + 0001a7: fd 8d 01 | i16x8.shr_u + 0001aa: 0b | end +0001ac func[8] <i32x4_shr_s_0>: + 0001ad: fd 0c 0f 00 00 ff 02 70 0f | v128.const 0xff00000f 0xe00f7002 0x0f000003 0x000ff004 + 0001b6: e0 03 00 00 0f 04 f0 0f 00 | + 0001bf: 41 03 | i32.const 3 + 0001c1: fd ac 01 | i32x4.shr_s + 0001c4: 0b | end +0001c6 func[9] <i32x4_shr_u_0>: + 0001c7: fd 0c 0f 00 00 ff 02 70 0f | v128.const 0xff00000f 0xe00f7002 0x0f000003 0x000ff004 + 0001d0: e0 03 00 00 0f 04 f0 0f 00 | + 0001d9: 41 03 | i32.const 3 + 0001db: fd ad 01 | i32x4.shr_u + 0001de: 0b | end +0001e0 func[10] <i64x2_shr_s_0>: + 0001e1: fd 0c 0f 00 00 ff 02 70 0f | v128.const 0xff00000f 0xe00f7002 0x0f000003 0x000ff004 + 0001ea: e0 03 00 00 0f 04 f0 0f 00 | + 0001f3: 41 03 | i32.const 3 + 0001f5: fd cc 01 | i64x2.shr_s + 0001f8: 0b | end +0001fa func[11] <i64x2_shr_u_0>: + 0001fb: fd 0c 0f 00 00 ff 02 70 0f | v128.const 0xff00000f 0xe00f7002 0x0f000003 0x000ff004 + 000204: e0 03 00 00 0f 04 f0 0f 00 | + 00020d: 41 03 | i32.const 3 + 00020f: fd cd 01 | i64x2.shr_u + 000212: 0b | end ;;; STDOUT ;;) diff --git a/test/dump/simd-splat.txt b/test/dump/simd-splat.txt index 51386d7c..01cbaa93 100644 --- a/test/dump/simd-splat.txt +++ b/test/dump/simd-splat.txt @@ -41,27 +41,27 @@ Code Disassembly: 00009d func[0] <func_i8x16_splat_0>: 00009e: 41 ff 00 | i32.const 127 - 0000a1: fd 04 | i8x16.splat + 0000a1: fd 0f | i8x16.splat 0000a3: 0b | end 0000a5 func[1] <func_i16x8_splat_0>: 0000a6: 41 b4 24 | i32.const 4660 - 0000a9: fd 08 | i16x8.splat + 0000a9: fd 10 | i16x8.splat 0000ab: 0b | end 0000ad func[2] <func_i32x4_splat_0>: 0000ae: 41 f8 ac d1 91 01 | i32.const 305419896 - 0000b4: fd 0c | i32x4.splat + 0000b4: fd 11 | i32x4.splat 0000b6: 0b | end 0000b8 func[3] <func_i64x2_splat_0>: 0000b9: 42 80 80 80 80 80 cf 95 9a | i64.const 1311768464867721216 0000c2: 12 | - 0000c3: fd 0f | i64x2.splat + 0000c3: fd 12 | i64x2.splat 0000c5: 0b | end 0000c7 func[4] <func_f32x4_splat_0>: 0000c8: 43 00 00 80 3f | f32.const 0x1p+0 - 0000cd: fd 12 | f32x4.splat + 0000cd: fd 13 | f32x4.splat 0000cf: 0b | end 0000d1 func[5] <func_f64x2_splat_0>: 0000d2: 44 00 00 00 00 00 00 f0 3f | f64.const 0x1p+0 - 0000db: fd 15 | f64x2.splat + 0000db: fd 14 | f64x2.splat 0000dd: 0b | end ;;; STDOUT ;;) diff --git a/test/dump/simd-unary.txt b/test/dump/simd-unary.txt index fb7326a1..b5538018 100644 --- a/test/dump/simd-unary.txt +++ b/test/dump/simd-unary.txt @@ -123,123 +123,123 @@ simd-unary.wasm: file format wasm 0x1 Code Disassembly: 0001db func[0] <i8x16_neg_0>: - 0001dc: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 0001dc: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 0001e5: 00 03 00 00 00 04 00 00 00 | - 0001ee: fd 51 | i8x16.neg + 0001ee: fd 61 | i8x16.neg 0001f0: 0b | end 0001f2 func[1] <i16x8_neg_0>: - 0001f3: fd 02 ff ff 00 00 ff 7f 00 | v128.const 0x0000ffff 0x00007fff 0x00000003 0x00000004 + 0001f3: fd 0c ff ff 00 00 ff 7f 00 | v128.const 0x0000ffff 0x00007fff 0x00000003 0x00000004 0001fc: 00 03 00 00 00 04 00 00 00 | - 000205: fd 62 | i16x8.neg - 000207: 0b | end -000209 func[2] <i32x4_neg_0>: - 00020a: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 000213: 00 03 00 00 00 04 00 00 00 | - 00021c: fd 73 | i32x4.neg - 00021e: 0b | end -000220 func[3] <i64x2_neg_0>: - 000221: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 - 00022a: 00 03 00 00 00 04 00 00 00 | - 000233: fd 84 01 | i64x2.neg - 000236: 0b | end -000238 func[4] <v128_not_0>: - 000239: fd 02 01 00 ff 00 02 00 55 | v128.const 0x00ff0001 0x00550002 0x00000003 0x00000004 - 000242: 00 03 00 00 00 04 00 00 00 | - 00024b: fd 4c | v128.not - 00024d: 0b | end -00024f func[5] <i8x16_any_true_0>: - 000250: fd 02 01 00 ff 00 02 00 55 | v128.const 0x00ff0001 0x00550002 0x00000003 0x00000004 - 000259: 00 03 00 00 00 04 00 00 00 | - 000262: fd 52 | i8x16.any_true - 000264: 0b | end -000266 func[6] <i16x8_any_true_0>: - 000267: fd 02 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0x00000000 - 000270: 00 00 00 00 00 00 00 00 00 | - 000279: fd 63 | i16x8.any_true - 00027b: 0b | end -00027d func[7] <i32x4_any_true_0>: - 00027e: fd 02 01 00 ff 00 02 00 55 | v128.const 0x00ff0001 0x00550002 0x00000003 0x00000004 - 000287: 00 03 00 00 00 04 00 00 00 | - 000290: fd 74 | i32x4.any_true - 000292: 0b | end -000294 func[8] <i8x16_all_true_0>: - 000295: fd 02 04 03 02 01 06 07 05 | v128.const 0x01020304 0x01050706 0x10020403 0x20103004 - 00029e: 01 03 04 02 10 04 30 10 20 | - 0002a7: fd 53 | i8x16.all_true - 0002a9: 0b | end -0002ab func[9] <i16x8_all_true_0>: - 0002ac: fd 02 04 00 04 00 03 00 03 | v128.const 0x00040004 0x00030003 0x00020002 0x00010001 - 0002b5: 00 02 00 02 00 01 00 01 00 | - 0002be: fd 64 | i16x8.all_true - 0002c0: 0b | end -0002c2 func[10] <i32x4_all_true_0>: - 0002c3: fd 02 01 00 ff 00 02 00 55 | v128.const 0x00ff0001 0x00550002 0x00000003 0x00000004 - 0002cc: 00 03 00 00 00 04 00 00 00 | - 0002d5: fd 75 | i32x4.all_true - 0002d7: 0b | end -0002d9 func[11] <f32x4_neg_0>: - 0002da: fd 02 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x449a5000 0xbf800000 - 0002e3: ff 00 50 9a 44 00 00 80 bf | - 0002ec: fd 96 01 | f32x4.neg - 0002ef: 0b | end -0002f1 func[12] <f64x2_neg_0>: - 0002f2: fd 02 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0xfff80000 - 0002fb: 00 00 00 00 00 00 00 f8 ff | - 000304: fd a1 01 | f64x2.neg - 000307: 0b | end -000309 func[13] <f64x2_neg_1>: - 00030a: fd 02 00 00 00 00 00 4a 93 | v128.const 0x00000000 0xc0934a00 0x00000000 0x3ff00000 - 000313: c0 00 00 00 00 00 00 f0 3f | - 00031c: fd a1 01 | f64x2.neg - 00031f: 0b | end -000321 func[14] <f32x4_abs_0>: - 000322: fd 02 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x449a5000 0xbf800000 - 00032b: ff 00 50 9a 44 00 00 80 bf | - 000334: fd 95 01 | f32x4.abs - 000337: 0b | end -000339 func[15] <f64x2_abs_0>: - 00033a: fd 02 00 00 00 00 00 00 00 | v128.const 0x00000000 0x80000000 0x00000000 0xfff80000 - 000343: 80 00 00 00 00 00 00 f8 ff | - 00034c: fd a0 01 | f64x2.abs - 00034f: 0b | end -000351 func[16] <f64x2_abs_1>: - 000352: fd 02 00 00 00 00 00 4a 93 | v128.const 0x00000000 0xc0934a00 0x00000000 0x3ff00000 - 00035b: c0 00 00 00 00 00 00 f0 3f | - 000364: fd a0 01 | f64x2.abs - 000367: 0b | end -000369 func[17] <f32x4_sqrt_0>: - 00036a: fd 02 00 00 80 bf 00 00 c0 | v128.const 0xbf800000 0xffc00000 0x40800000 0x41100000 - 000373: ff 00 00 80 40 00 00 10 41 | - 00037c: fd 97 01 | f32x4.sqrt - 00037f: 0b | end -000381 func[18] <f64x2_sqrt_0>: - 000382: fd 02 00 00 00 00 00 00 f0 | v128.const 0x00000000 0xbff00000 0x00000000 0xfff80000 - 00038b: bf 00 00 00 00 00 00 f8 ff | - 000394: fd a2 01 | f64x2.sqrt - 000397: 0b | end -000399 func[19] <f64x2_sqrt_1>: - 00039a: fd 02 00 00 00 00 00 00 10 | v128.const 0x00000000 0x40100000 0x00000000 0x40220000 - 0003a3: 40 00 00 00 00 00 00 22 40 | - 0003ac: fd a2 01 | f64x2.sqrt - 0003af: 0b | end -0003b1 func[20] <f32x4_convert_i32x4_s_0>: - 0003b2: fd 02 01 00 00 00 ff ff ff | v128.const 0x00000001 0xffffffff 0x00000000 0x00000003 - 0003bb: ff 00 00 00 00 03 00 00 00 | - 0003c4: fd af 01 | f32x4.convert_i32x4_s - 0003c7: 0b | end -0003c9 func[21] <f32x4_convert_i32x4_u_0>: - 0003ca: fd 02 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000000 0x00000003 - 0003d3: 00 00 00 00 00 03 00 00 00 | - 0003dc: fd b0 01 | f32x4.convert_i32x4_u - 0003df: 0b | end -0003e1 func[22] <i32x4_trunc_sat_f32x4_s_0>: - 0003e2: fd 02 00 00 c0 3f 00 00 90 | v128.const 0x3fc00000 0xc0900000 0xffc00000 0x449a599a - 0003eb: c0 00 00 c0 ff 9a 59 9a 44 | - 0003f4: fd ab 01 | i32x4.trunc_sat_f32x4_s - 0003f7: 0b | end -0003f9 func[23] <i32x4_trunc_sat_f32x4_u_0>: - 0003fa: fd 02 00 00 c0 3f 00 00 90 | v128.const 0x3fc00000 0x40900000 0xffc00000 0x449a599a - 000403: 40 00 00 c0 ff 9a 59 9a 44 | - 00040c: fd ac 01 | i32x4.trunc_sat_f32x4_u - 00040f: 0b | end + 000205: fd 81 01 | i16x8.neg + 000208: 0b | end +00020a func[2] <i32x4_neg_0>: + 00020b: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 000214: 00 03 00 00 00 04 00 00 00 | + 00021d: fd a1 01 | i32x4.neg + 000220: 0b | end +000222 func[3] <i64x2_neg_0>: + 000223: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000003 0x00000004 + 00022c: 00 03 00 00 00 04 00 00 00 | + 000235: fd c1 01 | i64x2.neg + 000238: 0b | end +00023a func[4] <v128_not_0>: + 00023b: fd 0c 01 00 ff 00 02 00 55 | v128.const 0x00ff0001 0x00550002 0x00000003 0x00000004 + 000244: 00 03 00 00 00 04 00 00 00 | + 00024d: fd 4d | v128.not + 00024f: 0b | end +000251 func[5] <i8x16_any_true_0>: + 000252: fd 0c 01 00 ff 00 02 00 55 | v128.const 0x00ff0001 0x00550002 0x00000003 0x00000004 + 00025b: 00 03 00 00 00 04 00 00 00 | + 000264: fd 62 | i8x16.any_true + 000266: 0b | end +000268 func[6] <i16x8_any_true_0>: + 000269: fd 0c 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0x00000000 + 000272: 00 00 00 00 00 00 00 00 00 | + 00027b: fd 82 01 | i16x8.any_true + 00027e: 0b | end +000280 func[7] <i32x4_any_true_0>: + 000281: fd 0c 01 00 ff 00 02 00 55 | v128.const 0x00ff0001 0x00550002 0x00000003 0x00000004 + 00028a: 00 03 00 00 00 04 00 00 00 | + 000293: fd a2 01 | i32x4.any_true + 000296: 0b | end +000298 func[8] <i8x16_all_true_0>: + 000299: fd 0c 04 03 02 01 06 07 05 | v128.const 0x01020304 0x01050706 0x10020403 0x20103004 + 0002a2: 01 03 04 02 10 04 30 10 20 | + 0002ab: fd 63 | i8x16.all_true + 0002ad: 0b | end +0002af func[9] <i16x8_all_true_0>: + 0002b0: fd 0c 04 00 04 00 03 00 03 | v128.const 0x00040004 0x00030003 0x00020002 0x00010001 + 0002b9: 00 02 00 02 00 01 00 01 00 | + 0002c2: fd 83 01 | i16x8.all_true + 0002c5: 0b | end +0002c7 func[10] <i32x4_all_true_0>: + 0002c8: fd 0c 01 00 ff 00 02 00 55 | v128.const 0x00ff0001 0x00550002 0x00000003 0x00000004 + 0002d1: 00 03 00 00 00 04 00 00 00 | + 0002da: fd a3 01 | i32x4.all_true + 0002dd: 0b | end +0002df func[11] <f32x4_neg_0>: + 0002e0: fd 0c 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x449a5000 0xbf800000 + 0002e9: ff 00 50 9a 44 00 00 80 bf | + 0002f2: fd e1 01 | f32x4.neg + 0002f5: 0b | end +0002f7 func[12] <f64x2_neg_0>: + 0002f8: fd 0c 00 00 00 00 00 00 00 | v128.const 0x00000000 0x00000000 0x00000000 0xfff80000 + 000301: 00 00 00 00 00 00 00 f8 ff | + 00030a: fd ed 01 | f64x2.neg + 00030d: 0b | end +00030f func[13] <f64x2_neg_1>: + 000310: fd 0c 00 00 00 00 00 4a 93 | v128.const 0x00000000 0xc0934a00 0x00000000 0x3ff00000 + 000319: c0 00 00 00 00 00 00 f0 3f | + 000322: fd ed 01 | f64x2.neg + 000325: 0b | end +000327 func[14] <f32x4_abs_0>: + 000328: fd 0c 00 00 00 80 00 00 c0 | v128.const 0x80000000 0xffc00000 0x449a5000 0xbf800000 + 000331: ff 00 50 9a 44 00 00 80 bf | + 00033a: fd e0 01 | f32x4.abs + 00033d: 0b | end +00033f func[15] <f64x2_abs_0>: + 000340: fd 0c 00 00 00 00 00 00 00 | v128.const 0x00000000 0x80000000 0x00000000 0xfff80000 + 000349: 80 00 00 00 00 00 00 f8 ff | + 000352: fd ec 01 | f64x2.abs + 000355: 0b | end +000357 func[16] <f64x2_abs_1>: + 000358: fd 0c 00 00 00 00 00 4a 93 | v128.const 0x00000000 0xc0934a00 0x00000000 0x3ff00000 + 000361: c0 00 00 00 00 00 00 f0 3f | + 00036a: fd ec 01 | f64x2.abs + 00036d: 0b | end +00036f func[17] <f32x4_sqrt_0>: + 000370: fd 0c 00 00 80 bf 00 00 c0 | v128.const 0xbf800000 0xffc00000 0x40800000 0x41100000 + 000379: ff 00 00 80 40 00 00 10 41 | + 000382: fd e3 01 | f32x4.sqrt + 000385: 0b | end +000387 func[18] <f64x2_sqrt_0>: + 000388: fd 0c 00 00 00 00 00 00 f0 | v128.const 0x00000000 0xbff00000 0x00000000 0xfff80000 + 000391: bf 00 00 00 00 00 00 f8 ff | + 00039a: fd ef 01 | f64x2.sqrt + 00039d: 0b | end +00039f func[19] <f64x2_sqrt_1>: + 0003a0: fd 0c 00 00 00 00 00 00 10 | v128.const 0x00000000 0x40100000 0x00000000 0x40220000 + 0003a9: 40 00 00 00 00 00 00 22 40 | + 0003b2: fd ef 01 | f64x2.sqrt + 0003b5: 0b | end +0003b7 func[20] <f32x4_convert_i32x4_s_0>: + 0003b8: fd 0c 01 00 00 00 ff ff ff | v128.const 0x00000001 0xffffffff 0x00000000 0x00000003 + 0003c1: ff 00 00 00 00 03 00 00 00 | + 0003ca: fd fa 01 | f32x4.convert_i32x4_s + 0003cd: 0b | end +0003cf func[21] <f32x4_convert_i32x4_u_0>: + 0003d0: fd 0c 01 00 00 00 02 00 00 | v128.const 0x00000001 0x00000002 0x00000000 0x00000003 + 0003d9: 00 00 00 00 00 03 00 00 00 | + 0003e2: fd fb 01 | f32x4.convert_i32x4_u + 0003e5: 0b | end +0003e7 func[22] <i32x4_trunc_sat_f32x4_s_0>: + 0003e8: fd 0c 00 00 c0 3f 00 00 90 | v128.const 0x3fc00000 0xc0900000 0xffc00000 0x449a599a + 0003f1: c0 00 00 c0 ff 9a 59 9a 44 | + 0003fa: fd f8 01 | i32x4.trunc_sat_f32x4_s + 0003fd: 0b | end +0003ff func[23] <i32x4_trunc_sat_f32x4_u_0>: + 000400: fd 0c 00 00 c0 3f 00 00 90 | v128.const 0x3fc00000 0x40900000 0xffc00000 0x449a599a + 000409: 40 00 00 c0 ff 9a 59 9a 44 | + 000412: fd f9 01 | i32x4.trunc_sat_f32x4_u + 000415: 0b | end ;;; STDOUT ;;) diff --git a/test/spec/simd/simd_align.txt b/test/spec/simd/simd_align.txt index 41c77e1f..0ccd62ef 100644 --- a/test/spec/simd/simd_align.txt +++ b/test/spec/simd/simd_align.txt @@ -10,34 +10,34 @@ out/test/spec/simd/simd_align.wast:58: assert_invalid passed: 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 + 0000023: 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 + 0000023: 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 + 0000023: 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 + 0000023: 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 + 0000023: 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 + 0000023: 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 + 0000023: 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 + 0000023: 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 + 0000023: 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 + 0000023: 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)))) diff --git a/test/spec/simd/simd_bit_shift.txt b/test/spec/simd/simd_bit_shift.txt index 2ad5b03b..dc8dc25c 100644 --- a/test/spec/simd/simd_bit_shift.txt +++ b/test/spec/simd/simd_bit_shift.txt @@ -13,22 +13,22 @@ out/test/spec/simd/simd_bit_shift.wast:978: assert_invalid passed: 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 + 000001f: 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 + 000001f: 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 + 000001f: 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 + 000001f: 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 + 000001f: 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 + 000001f: 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 @@ -109,22 +109,22 @@ out/test/spec/simd/simd_bit_shift.wast:1026: assert_invalid passed: 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 + 000001d: 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 + 000002d: 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 + 000001b: 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 + 000001d: 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 + 000002d: 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 + 000001b: 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 diff --git a/test/spec/simd/simd_bitwise.txt b/test/spec/simd/simd_bitwise.txt index ac3b66ec..bcb21078 100644 --- a/test/spec/simd/simd_bitwise.txt +++ b/test/spec/simd/simd_bitwise.txt @@ -43,13 +43,13 @@ out/test/spec/simd/simd_bitwise.wast:421: assert_invalid passed: 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 + 000002e: 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 + 000002e: 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 + 000001e: 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 @@ -73,10 +73,10 @@ out/test/spec/simd/simd_bitwise.wast:766: assert_invalid passed: 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 + 000002c: 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 + 000001a: 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 diff --git a/test/spec/simd/simd_boolean.txt b/test/spec/simd/simd_boolean.txt index 11d05553..b93a1b6f 100644 --- a/test/spec/simd/simd_boolean.txt +++ b/test/spec/simd/simd_boolean.txt @@ -10,16 +10,16 @@ out/test/spec/simd/simd_boolean.wast:953: assert_invalid passed: 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 + 000001d: 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 + 000001d: 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 + 000001d: 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 + 000001d: 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))) @@ -44,15 +44,15 @@ out/test/spec/simd/simd_boolean.wast:977: assert_invalid passed: 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 + 000001b: 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 + 000001b: 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 + 000001b: 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 + 000001b: 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 index b02fb172..4896e4ed 100644 --- a/test/spec/simd/simd_const.txt +++ b/test/spec/simd/simd_const.txt @@ -2,6 +2,7 @@ ;;; 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 +;;; SKIP: unskip when spec test is updated (;; 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" diff --git a/test/spec/simd/simd_conversions.txt b/test/spec/simd/simd_conversions.txt index 0a36aa62..e67f82b5 100644 --- a/test/spec/simd/simd_conversions.txt +++ b/test/spec/simd/simd_conversions.txt @@ -148,10 +148,10 @@ out/test/spec/simd/simd_conversions.wast:1092: assert_invalid passed: 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 + 000001e: 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 + 000001e: 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 @@ -196,16 +196,16 @@ out/test/spec/simd/simd_conversions.wast:1241: assert_invalid passed: 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 + 000002c: 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 + 000001a: 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 + 000002c: 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 + 000001a: 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 diff --git a/test/spec/simd/simd_i16x8_arith.txt b/test/spec/simd/simd_i16x8_arith.txt index f99d06e6..768105a1 100644 --- a/test/spec/simd/simd_i16x8_arith.txt +++ b/test/spec/simd/simd_i16x8_arith.txt @@ -4,36 +4,36 @@ (;; 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 + 000001d: 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 + 0000022: 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 + 0000022: 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 + 0000022: 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 + 000001b: 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 + 000002d: 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 + 000001b: 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 + 000002d: 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 + 000001b: 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 + 000002d: 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 + 000001b: 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 index 67507216..5dae3514 100644 --- a/test/spec/simd/simd_i16x8_arith2.txt +++ b/test/spec/simd/simd_i16x8_arith2.txt @@ -16,16 +16,16 @@ out/test/spec/simd/simd_i16x8_arith2.wast:339: assert_malformed passed: ^^^^^^^^^ out/test/spec/simd/simd_i16x8_arith2.wast:342: assert_invalid passed: error: type mismatch in i16x8.min_s, expected [v128, v128] but got [i32, f32] - 0000021: error: OnBinaryExpr callback failed + 0000022: error: OnBinaryExpr callback failed out/test/spec/simd/simd_i16x8_arith2.wast:343: assert_invalid passed: error: type mismatch in i16x8.min_u, expected [v128, v128] but got [i32, f32] - 0000021: error: OnBinaryExpr callback failed + 0000022: error: OnBinaryExpr callback failed out/test/spec/simd/simd_i16x8_arith2.wast:344: assert_invalid passed: error: type mismatch in i16x8.max_s, expected [v128, v128] but got [i32, f32] - 0000021: error: OnBinaryExpr callback failed + 0000022: error: OnBinaryExpr callback failed out/test/spec/simd/simd_i16x8_arith2.wast:345: assert_invalid passed: error: type mismatch in i16x8.max_u, expected [v128, v128] but got [i32, f32] - 0000021: error: OnBinaryExpr callback failed + 0000022: error: OnBinaryExpr callback failed out/test/spec/simd/simd_i16x8_arith2.wast:346: assert_invalid passed: error: type mismatch in i16x8.avgr_u, expected [v128, v128] but got [i32, f32] 0000022: error: OnBinaryExpr callback failed @@ -34,28 +34,28 @@ out/test/spec/simd/simd_i16x8_arith2.wast:347: assert_invalid passed: 0000020: error: OnUnaryExpr callback failed out/test/spec/simd/simd_i16x8_arith2.wast:352: assert_invalid passed: error: type mismatch in i16x8.min_s, expected [v128, v128] but got [v128] - 000002c: error: OnBinaryExpr callback failed + 000002d: error: OnBinaryExpr callback failed out/test/spec/simd/simd_i16x8_arith2.wast:360: assert_invalid passed: error: type mismatch in i16x8.min_s, expected [v128, v128] but got [] - 000001a: error: OnBinaryExpr callback failed + 000001b: error: OnBinaryExpr callback failed out/test/spec/simd/simd_i16x8_arith2.wast:368: assert_invalid passed: error: type mismatch in i16x8.min_u, expected [v128, v128] but got [v128] - 000002c: error: OnBinaryExpr callback failed + 000002d: error: OnBinaryExpr callback failed out/test/spec/simd/simd_i16x8_arith2.wast:376: assert_invalid passed: error: type mismatch in i16x8.min_u, expected [v128, v128] but got [] - 000001a: error: OnBinaryExpr callback failed + 000001b: error: OnBinaryExpr callback failed out/test/spec/simd/simd_i16x8_arith2.wast:384: assert_invalid passed: error: type mismatch in i16x8.max_s, expected [v128, v128] but got [v128] - 000002c: error: OnBinaryExpr callback failed + 000002d: error: OnBinaryExpr callback failed out/test/spec/simd/simd_i16x8_arith2.wast:392: assert_invalid passed: error: type mismatch in i16x8.max_s, expected [v128, v128] but got [] - 000001a: error: OnBinaryExpr callback failed + 000001b: error: OnBinaryExpr callback failed out/test/spec/simd/simd_i16x8_arith2.wast:400: assert_invalid passed: error: type mismatch in i16x8.max_u, expected [v128, v128] but got [v128] - 000002c: error: OnBinaryExpr callback failed + 000002d: error: OnBinaryExpr callback failed out/test/spec/simd/simd_i16x8_arith2.wast:408: assert_invalid passed: error: type mismatch in i16x8.max_u, expected [v128, v128] but got [] - 000001a: error: OnBinaryExpr callback failed + 000001b: error: OnBinaryExpr callback failed out/test/spec/simd/simd_i16x8_arith2.wast:416: assert_invalid passed: error: type mismatch in i16x8.avgr_u, expected [v128, v128] but got [v128] 000002d: error: OnBinaryExpr callback failed diff --git a/test/spec/simd/simd_i16x8_sat_arith.txt b/test/spec/simd/simd_i16x8_sat_arith.txt index ea463299..955243f9 100644 --- a/test/spec/simd/simd_i16x8_sat_arith.txt +++ b/test/spec/simd/simd_i16x8_sat_arith.txt @@ -20,39 +20,39 @@ out/test/spec/simd/simd_i16x8_sat_arith.wast:618: assert_malformed passed: ^^^^^^^^^^^^^^^^^^ 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 + 0000022: 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 + 0000022: 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 + 0000022: 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 + 0000022: 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 + 000002d: 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 + 000001b: 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 + 000002d: 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 + 000001b: 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 + 000002d: 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 + 000001b: 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 + 000002d: 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 + 000001b: 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 index 13bb4c61..4fda19f1 100644 --- a/test/spec/simd/simd_i32x4_arith.txt +++ b/test/spec/simd/simd_i32x4_arith.txt @@ -4,36 +4,36 @@ (;; 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 + 000001d: 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 + 0000022: 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 + 0000022: 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 + 0000022: 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 + 000001b: 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 + 000002d: 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 + 000001b: 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 + 000002d: 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 + 000001b: 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 + 000002d: 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 + 000001b: error: OnBinaryExpr callback failed 192/192 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/simd/simd_i8x16_arith2.txt b/test/spec/simd/simd_i8x16_arith2.txt index f1a93168..d0ba6b92 100644 --- a/test/spec/simd/simd_i8x16_arith2.txt +++ b/test/spec/simd/simd_i8x16_arith2.txt @@ -40,10 +40,10 @@ out/test/spec/simd/simd_i8x16_arith2.wast:348: assert_invalid passed: 0000021: error: OnBinaryExpr callback failed out/test/spec/simd/simd_i8x16_arith2.wast:349: assert_invalid passed: error: type mismatch in i8x16.avgr_u, expected [v128, v128] but got [i32, f32] - 0000022: error: OnBinaryExpr callback failed + 0000021: error: OnBinaryExpr callback failed out/test/spec/simd/simd_i8x16_arith2.wast:350: assert_invalid passed: error: type mismatch in i8x16.abs, expected [v128] but got [f32] - 0000020: error: OnUnaryExpr callback failed + 000001f: error: OnUnaryExpr callback failed out/test/spec/simd/simd_i8x16_arith2.wast:355: assert_invalid passed: error: type mismatch in i8x16.min_s, expected [v128, v128] but got [v128] 000002c: error: OnBinaryExpr callback failed @@ -70,12 +70,12 @@ out/test/spec/simd/simd_i8x16_arith2.wast:411: assert_invalid passed: 000001a: error: OnBinaryExpr callback failed out/test/spec/simd/simd_i8x16_arith2.wast:419: assert_invalid passed: error: type mismatch in i8x16.avgr_u, expected [v128, v128] but got [v128] - 000002d: error: OnBinaryExpr callback failed + 000002c: error: OnBinaryExpr callback failed out/test/spec/simd/simd_i8x16_arith2.wast:427: assert_invalid passed: error: type mismatch in i8x16.avgr_u, expected [v128, v128] but got [] - 000001b: error: OnBinaryExpr callback failed + 000001a: error: OnBinaryExpr callback failed out/test/spec/simd/simd_i8x16_arith2.wast:435: assert_invalid passed: error: type mismatch in i8x16.abs, expected [v128] but got [] - 000001b: error: OnUnaryExpr callback failed + 000001a: error: OnUnaryExpr callback failed 174/174 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/simd/simd_lane.txt b/test/spec/simd/simd_lane.txt index bd954222..3f54f91c 100644 --- a/test/spec/simd/simd_lane.txt +++ b/test/spec/simd/simd_lane.txt @@ -380,10 +380,10 @@ out/test/spec/simd/simd_lane.wast:497: assert_invalid passed: 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 + 000002e: 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 + 000002e: 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 diff --git a/test/spec/simd/simd_load_extend.txt b/test/spec/simd/simd_load_extend.txt index 764a485e..0f8eae33 100644 --- a/test/spec/simd/simd_load_extend.txt +++ b/test/spec/simd/simd_load_extend.txt @@ -10,40 +10,40 @@ out/test/spec/simd/simd_load_extend.wast:212: assert_trap passed: out of bounds 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 + 0000026: 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 + 0000026: 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 + 000002a: 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 + 000002a: 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 + 0000033: 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 + 0000033: 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 + 0000021: 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 + 0000021: 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 + 0000021: 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 + 0000021: 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 + 0000021: 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 + 0000021: 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)))) diff --git a/test/spec/simd/simd_load_splat.txt b/test/spec/simd/simd_load_splat.txt index 2b6b4b7c..bea685af 100644 --- a/test/spec/simd/simd_load_splat.txt +++ b/test/spec/simd/simd_load_splat.txt @@ -32,16 +32,16 @@ out/test/spec/simd/simd_load_splat.wast:147: assert_trap passed: out of bounds m 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 + 0000033: 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 + 0000033: 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 + 0000033: 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 + 0000033: 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)))) @@ -72,15 +72,15 @@ out/test/spec/simd/simd_load_splat.wast:220: assert_malformed passed: ^ 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 + 0000021: 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 + 0000021: 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 + 0000021: 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 + 0000021: error: OnLoadSplatExpr callback failed 120/120 tests passed. ;;; STDOUT ;;) |