diff options
author | Ben Smith <binji@chromium.org> | 2018-03-19 22:28:22 -0700 |
---|---|---|
committer | Ben Smith <binji@chromium.org> | 2018-03-19 22:28:22 -0700 |
commit | 7badabdac38a7fc7e47a88f11c523ca8b4fd6c1b (patch) | |
tree | d9c6f8c1d71a30a449540ae83d73c5d386c68895 /src | |
parent | 000b062de17637814c46ef9e8d15f83dd268fc70 (diff) | |
download | wabt-7badabdac38a7fc7e47a88f11c523ca8b4fd6c1b.tar.gz wabt-7badabdac38a7fc7e47a88f11c523ca8b4fd6c1b.tar.bz2 wabt-7badabdac38a7fc7e47a88f11c523ca8b4fd6c1b.zip |
Realign opcode table
Non-functional change.
Diffstat (limited to 'src')
-rw-r--r-- | src/opcode.def | 811 |
1 files changed, 406 insertions, 405 deletions
diff --git a/src/opcode.def b/src/opcode.def index 17e4aa8e..607547c2 100644 --- a/src/opcode.def +++ b/src/opcode.def @@ -31,416 +31,417 @@ * Name: used to generate the opcode enum * text: a string of the opcode name in the text format * - * tr t1 t2 t3 m prefix code Name text + * tr t1 t2 t3 m prefix code Name text * ========================================================== */ -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x00, Unreachable, "unreachable") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x01, Nop, "nop") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x02, Block, "block") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x03, Loop, "loop") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x04, If, "if") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x05, Else, "else") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x06, Try, "try") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x07, Catch, "catch") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x08, Throw, "throw") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x09, Rethrow, "rethrow") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x0a, IfExcept, "if_except") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x0b, End, "end") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x0c, Br, "br") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x0d, BrIf, "br_if") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x0e, BrTable, "br_table") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x0f, Return, "return") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x10, Call, "call") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x11, CallIndirect, "call_indirect") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x1a, Drop, "drop") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x1b, Select, "select") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x20, GetLocal, "get_local") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x21, SetLocal, "set_local") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x22, TeeLocal, "tee_local") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x23, GetGlobal, "get_global") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x24, SetGlobal, "set_global") -WABT_OPCODE(I32, I32, ___, ___, 4, 0, 0x28, I32Load, "i32.load") -WABT_OPCODE(I64, I32, ___, ___, 8, 0, 0x29, I64Load, "i64.load") -WABT_OPCODE(F32, I32, ___, ___, 4, 0, 0x2a, F32Load, "f32.load") -WABT_OPCODE(F64, I32, ___, ___, 8, 0, 0x2b, F64Load, "f64.load") -WABT_OPCODE(I32, I32, ___, ___, 1, 0, 0x2c, I32Load8S, "i32.load8_s") -WABT_OPCODE(I32, I32, ___, ___, 1, 0, 0x2d, I32Load8U, "i32.load8_u") -WABT_OPCODE(I32, I32, ___, ___, 2, 0, 0x2e, I32Load16S, "i32.load16_s") -WABT_OPCODE(I32, I32, ___, ___, 2, 0, 0x2f, I32Load16U, "i32.load16_u") -WABT_OPCODE(I64, I32, ___, ___, 1, 0, 0x30, I64Load8S, "i64.load8_s") -WABT_OPCODE(I64, I32, ___, ___, 1, 0, 0x31, I64Load8U, "i64.load8_u") -WABT_OPCODE(I64, I32, ___, ___, 2, 0, 0x32, I64Load16S, "i64.load16_s") -WABT_OPCODE(I64, I32, ___, ___, 2, 0, 0x33, I64Load16U, "i64.load16_u") -WABT_OPCODE(I64, I32, ___, ___, 4, 0, 0x34, I64Load32S, "i64.load32_s") -WABT_OPCODE(I64, I32, ___, ___, 4, 0, 0x35, I64Load32U, "i64.load32_u") -WABT_OPCODE(___, I32, I32, ___, 4, 0, 0x36, I32Store, "i32.store") -WABT_OPCODE(___, I32, I64, ___, 8, 0, 0x37, I64Store, "i64.store") -WABT_OPCODE(___, I32, F32, ___, 4, 0, 0x38, F32Store, "f32.store") -WABT_OPCODE(___, I32, F64, ___, 8, 0, 0x39, F64Store, "f64.store") -WABT_OPCODE(___, I32, I32, ___, 1, 0, 0x3a, I32Store8, "i32.store8") -WABT_OPCODE(___, I32, I32, ___, 2, 0, 0x3b, I32Store16, "i32.store16") -WABT_OPCODE(___, I32, I64, ___, 1, 0, 0x3c, I64Store8, "i64.store8") -WABT_OPCODE(___, I32, I64, ___, 2, 0, 0x3d, I64Store16, "i64.store16") -WABT_OPCODE(___, I32, I64, ___, 4, 0, 0x3e, I64Store32, "i64.store32") -WABT_OPCODE(I32, ___, ___, ___, 0, 0, 0x3f, CurrentMemory, "current_memory") -WABT_OPCODE(I32, I32, ___, ___, 0, 0, 0x40, GrowMemory, "grow_memory") -WABT_OPCODE(I32, ___, ___, ___, 0, 0, 0x41, I32Const, "i32.const") -WABT_OPCODE(I64, ___, ___, ___, 0, 0, 0x42, I64Const, "i64.const") -WABT_OPCODE(F32, ___, ___, ___, 0, 0, 0x43, F32Const, "f32.const") -WABT_OPCODE(F64, ___, ___, ___, 0, 0, 0x44, F64Const, "f64.const") -WABT_OPCODE(I32, I32, ___, ___, 0, 0, 0x45, I32Eqz, "i32.eqz") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x46, I32Eq, "i32.eq") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x47, I32Ne, "i32.ne") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x48, I32LtS, "i32.lt_s") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x49, I32LtU, "i32.lt_u") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x4a, I32GtS, "i32.gt_s") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x4b, I32GtU, "i32.gt_u") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x4c, I32LeS, "i32.le_s") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x4d, I32LeU, "i32.le_u") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x4e, I32GeS, "i32.ge_s") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x4f, I32GeU, "i32.ge_u") -WABT_OPCODE(I32, I64, ___, ___, 0, 0, 0x50, I64Eqz, "i64.eqz") -WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x51, I64Eq, "i64.eq") -WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x52, I64Ne, "i64.ne") -WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x53, I64LtS, "i64.lt_s") -WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x54, I64LtU, "i64.lt_u") -WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x55, I64GtS, "i64.gt_s") -WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x56, I64GtU, "i64.gt_u") -WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x57, I64LeS, "i64.le_s") -WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x58, I64LeU, "i64.le_u") -WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x59, I64GeS, "i64.ge_s") -WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x5a, I64GeU, "i64.ge_u") -WABT_OPCODE(I32, F32, F32, ___, 0, 0, 0x5b, F32Eq, "f32.eq") -WABT_OPCODE(I32, F32, F32, ___, 0, 0, 0x5c, F32Ne, "f32.ne") -WABT_OPCODE(I32, F32, F32, ___, 0, 0, 0x5d, F32Lt, "f32.lt") -WABT_OPCODE(I32, F32, F32, ___, 0, 0, 0x5e, F32Gt, "f32.gt") -WABT_OPCODE(I32, F32, F32, ___, 0, 0, 0x5f, F32Le, "f32.le") -WABT_OPCODE(I32, F32, F32, ___, 0, 0, 0x60, F32Ge, "f32.ge") -WABT_OPCODE(I32, F64, F64, ___, 0, 0, 0x61, F64Eq, "f64.eq") -WABT_OPCODE(I32, F64, F64, ___, 0, 0, 0x62, F64Ne, "f64.ne") -WABT_OPCODE(I32, F64, F64, ___, 0, 0, 0x63, F64Lt, "f64.lt") -WABT_OPCODE(I32, F64, F64, ___, 0, 0, 0x64, F64Gt, "f64.gt") -WABT_OPCODE(I32, F64, F64, ___, 0, 0, 0x65, F64Le, "f64.le") -WABT_OPCODE(I32, F64, F64, ___, 0, 0, 0x66, F64Ge, "f64.ge") -WABT_OPCODE(I32, I32, ___, ___, 0, 0, 0x67, I32Clz, "i32.clz") -WABT_OPCODE(I32, I32, ___, ___, 0, 0, 0x68, I32Ctz, "i32.ctz") -WABT_OPCODE(I32, I32, ___, ___, 0, 0, 0x69, I32Popcnt, "i32.popcnt") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x6a, I32Add, "i32.add") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x6b, I32Sub, "i32.sub") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x6c, I32Mul, "i32.mul") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x6d, I32DivS, "i32.div_s") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x6e, I32DivU, "i32.div_u") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x6f, I32RemS, "i32.rem_s") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x70, I32RemU, "i32.rem_u") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x71, I32And, "i32.and") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x72, I32Or, "i32.or") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x73, I32Xor, "i32.xor") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x74, I32Shl, "i32.shl") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x75, I32ShrS, "i32.shr_s") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x76, I32ShrU, "i32.shr_u") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x77, I32Rotl, "i32.rotl") -WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x78, I32Rotr, "i32.rotr") -WABT_OPCODE(I64, I64, ___, ___, 0, 0, 0x79, I64Clz, "i64.clz") -WABT_OPCODE(I64, I64, ___, ___, 0, 0, 0x7a, I64Ctz, "i64.ctz") -WABT_OPCODE(I64, I64, ___, ___, 0, 0, 0x7b, I64Popcnt, "i64.popcnt") -WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x7c, I64Add, "i64.add") -WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x7d, I64Sub, "i64.sub") -WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x7e, I64Mul, "i64.mul") -WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x7f, I64DivS, "i64.div_s") -WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x80, I64DivU, "i64.div_u") -WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x81, I64RemS, "i64.rem_s") -WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x82, I64RemU, "i64.rem_u") -WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x83, I64And, "i64.and") -WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x84, I64Or, "i64.or") -WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x85, I64Xor, "i64.xor") -WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x86, I64Shl, "i64.shl") -WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x87, I64ShrS, "i64.shr_s") -WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x88, I64ShrU, "i64.shr_u") -WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x89, I64Rotl, "i64.rotl") -WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x8a, I64Rotr, "i64.rotr") -WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x8b, F32Abs, "f32.abs") -WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x8c, F32Neg, "f32.neg") -WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x8d, F32Ceil, "f32.ceil") -WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x8e, F32Floor, "f32.floor") -WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x8f, F32Trunc, "f32.trunc") -WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x90, F32Nearest, "f32.nearest") -WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x91, F32Sqrt, "f32.sqrt") -WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x92, F32Add, "f32.add") -WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x93, F32Sub, "f32.sub") -WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x94, F32Mul, "f32.mul") -WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x95, F32Div, "f32.div") -WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x96, F32Min, "f32.min") -WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x97, F32Max, "f32.max") -WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x98, F32Copysign, "f32.copysign") -WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0x99, F64Abs, "f64.abs") -WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0x9a, F64Neg, "f64.neg") -WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0x9b, F64Ceil, "f64.ceil") -WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0x9c, F64Floor, "f64.floor") -WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0x9d, F64Trunc, "f64.trunc") -WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0x9e, F64Nearest, "f64.nearest") -WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0x9f, F64Sqrt, "f64.sqrt") -WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0xa0, F64Add, "f64.add") -WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0xa1, F64Sub, "f64.sub") -WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0xa2, F64Mul, "f64.mul") -WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0xa3, F64Div, "f64.div") -WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0xa4, F64Min, "f64.min") -WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0xa5, F64Max, "f64.max") -WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0xa6, F64Copysign, "f64.copysign") -WABT_OPCODE(I32, I64, ___, ___, 0, 0, 0xa7, I32WrapI64, "i32.wrap/i64") -WABT_OPCODE(I32, F32, ___, ___, 0, 0, 0xa8, I32TruncSF32, "i32.trunc_s/f32") -WABT_OPCODE(I32, F32, ___, ___, 0, 0, 0xa9, I32TruncUF32, "i32.trunc_u/f32") -WABT_OPCODE(I32, F64, ___, ___, 0, 0, 0xaa, I32TruncSF64, "i32.trunc_s/f64") -WABT_OPCODE(I32, F64, ___, ___, 0, 0, 0xab, I32TruncUF64, "i32.trunc_u/f64") -WABT_OPCODE(I64, I32, ___, ___, 0, 0, 0xac, I64ExtendSI32, "i64.extend_s/i32") -WABT_OPCODE(I64, I32, ___, ___, 0, 0, 0xad, I64ExtendUI32, "i64.extend_u/i32") -WABT_OPCODE(I64, F32, ___, ___, 0, 0, 0xae, I64TruncSF32, "i64.trunc_s/f32") -WABT_OPCODE(I64, F32, ___, ___, 0, 0, 0xaf, I64TruncUF32, "i64.trunc_u/f32") -WABT_OPCODE(I64, F64, ___, ___, 0, 0, 0xb0, I64TruncSF64, "i64.trunc_s/f64") -WABT_OPCODE(I64, F64, ___, ___, 0, 0, 0xb1, I64TruncUF64, "i64.trunc_u/f64") -WABT_OPCODE(F32, I32, ___, ___, 0, 0, 0xb2, F32ConvertSI32, "f32.convert_s/i32") -WABT_OPCODE(F32, I32, ___, ___, 0, 0, 0xb3, F32ConvertUI32, "f32.convert_u/i32") -WABT_OPCODE(F32, I64, ___, ___, 0, 0, 0xb4, F32ConvertSI64, "f32.convert_s/i64") -WABT_OPCODE(F32, I64, ___, ___, 0, 0, 0xb5, F32ConvertUI64, "f32.convert_u/i64") -WABT_OPCODE(F32, F64, ___, ___, 0, 0, 0xb6, F32DemoteF64, "f32.demote/f64") -WABT_OPCODE(F64, I32, ___, ___, 0, 0, 0xb7, F64ConvertSI32, "f64.convert_s/i32") -WABT_OPCODE(F64, I32, ___, ___, 0, 0, 0xb8, F64ConvertUI32, "f64.convert_u/i32") -WABT_OPCODE(F64, I64, ___, ___, 0, 0, 0xb9, F64ConvertSI64, "f64.convert_s/i64") -WABT_OPCODE(F64, I64, ___, ___, 0, 0, 0xba, F64ConvertUI64, "f64.convert_u/i64") -WABT_OPCODE(F64, F32, ___, ___, 0, 0, 0xbb, F64PromoteF32, "f64.promote/f32") -WABT_OPCODE(I32, F32, ___, ___, 0, 0, 0xbc, I32ReinterpretF32, "i32.reinterpret/f32") -WABT_OPCODE(I64, F64, ___, ___, 0, 0, 0xbd, I64ReinterpretF64, "i64.reinterpret/f64") -WABT_OPCODE(F32, I32, ___, ___, 0, 0, 0xbe, F32ReinterpretI32, "f32.reinterpret/i32") -WABT_OPCODE(F64, I64, ___, ___, 0, 0, 0xbf, F64ReinterpretI64, "f64.reinterpret/i64") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x00, Unreachable, "unreachable") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x01, Nop, "nop") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x02, Block, "block") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x03, Loop, "loop") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x04, If, "if") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x05, Else, "else") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x06, Try, "try") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x07, Catch, "catch") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x08, Throw, "throw") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x09, Rethrow, "rethrow") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x0a, IfExcept, "if_except") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x0b, End, "end") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x0c, Br, "br") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x0d, BrIf, "br_if") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x0e, BrTable, "br_table") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x0f, Return, "return") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x10, Call, "call") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x11, CallIndirect, "call_indirect") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x1a, Drop, "drop") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x1b, Select, "select") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x20, GetLocal, "get_local") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x21, SetLocal, "set_local") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x22, TeeLocal, "tee_local") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x23, GetGlobal, "get_global") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x24, SetGlobal, "set_global") +WABT_OPCODE(I32, I32, ___, ___, 4, 0, 0x28, I32Load, "i32.load") +WABT_OPCODE(I64, I32, ___, ___, 8, 0, 0x29, I64Load, "i64.load") +WABT_OPCODE(F32, I32, ___, ___, 4, 0, 0x2a, F32Load, "f32.load") +WABT_OPCODE(F64, I32, ___, ___, 8, 0, 0x2b, F64Load, "f64.load") +WABT_OPCODE(I32, I32, ___, ___, 1, 0, 0x2c, I32Load8S, "i32.load8_s") +WABT_OPCODE(I32, I32, ___, ___, 1, 0, 0x2d, I32Load8U, "i32.load8_u") +WABT_OPCODE(I32, I32, ___, ___, 2, 0, 0x2e, I32Load16S, "i32.load16_s") +WABT_OPCODE(I32, I32, ___, ___, 2, 0, 0x2f, I32Load16U, "i32.load16_u") +WABT_OPCODE(I64, I32, ___, ___, 1, 0, 0x30, I64Load8S, "i64.load8_s") +WABT_OPCODE(I64, I32, ___, ___, 1, 0, 0x31, I64Load8U, "i64.load8_u") +WABT_OPCODE(I64, I32, ___, ___, 2, 0, 0x32, I64Load16S, "i64.load16_s") +WABT_OPCODE(I64, I32, ___, ___, 2, 0, 0x33, I64Load16U, "i64.load16_u") +WABT_OPCODE(I64, I32, ___, ___, 4, 0, 0x34, I64Load32S, "i64.load32_s") +WABT_OPCODE(I64, I32, ___, ___, 4, 0, 0x35, I64Load32U, "i64.load32_u") +WABT_OPCODE(___, I32, I32, ___, 4, 0, 0x36, I32Store, "i32.store") +WABT_OPCODE(___, I32, I64, ___, 8, 0, 0x37, I64Store, "i64.store") +WABT_OPCODE(___, I32, F32, ___, 4, 0, 0x38, F32Store, "f32.store") +WABT_OPCODE(___, I32, F64, ___, 8, 0, 0x39, F64Store, "f64.store") +WABT_OPCODE(___, I32, I32, ___, 1, 0, 0x3a, I32Store8, "i32.store8") +WABT_OPCODE(___, I32, I32, ___, 2, 0, 0x3b, I32Store16, "i32.store16") +WABT_OPCODE(___, I32, I64, ___, 1, 0, 0x3c, I64Store8, "i64.store8") +WABT_OPCODE(___, I32, I64, ___, 2, 0, 0x3d, I64Store16, "i64.store16") +WABT_OPCODE(___, I32, I64, ___, 4, 0, 0x3e, I64Store32, "i64.store32") +WABT_OPCODE(I32, ___, ___, ___, 0, 0, 0x3f, CurrentMemory, "current_memory") +WABT_OPCODE(I32, I32, ___, ___, 0, 0, 0x40, GrowMemory, "grow_memory") +WABT_OPCODE(I32, ___, ___, ___, 0, 0, 0x41, I32Const, "i32.const") +WABT_OPCODE(I64, ___, ___, ___, 0, 0, 0x42, I64Const, "i64.const") +WABT_OPCODE(F32, ___, ___, ___, 0, 0, 0x43, F32Const, "f32.const") +WABT_OPCODE(F64, ___, ___, ___, 0, 0, 0x44, F64Const, "f64.const") +WABT_OPCODE(I32, I32, ___, ___, 0, 0, 0x45, I32Eqz, "i32.eqz") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x46, I32Eq, "i32.eq") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x47, I32Ne, "i32.ne") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x48, I32LtS, "i32.lt_s") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x49, I32LtU, "i32.lt_u") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x4a, I32GtS, "i32.gt_s") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x4b, I32GtU, "i32.gt_u") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x4c, I32LeS, "i32.le_s") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x4d, I32LeU, "i32.le_u") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x4e, I32GeS, "i32.ge_s") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x4f, I32GeU, "i32.ge_u") +WABT_OPCODE(I32, I64, ___, ___, 0, 0, 0x50, I64Eqz, "i64.eqz") +WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x51, I64Eq, "i64.eq") +WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x52, I64Ne, "i64.ne") +WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x53, I64LtS, "i64.lt_s") +WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x54, I64LtU, "i64.lt_u") +WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x55, I64GtS, "i64.gt_s") +WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x56, I64GtU, "i64.gt_u") +WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x57, I64LeS, "i64.le_s") +WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x58, I64LeU, "i64.le_u") +WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x59, I64GeS, "i64.ge_s") +WABT_OPCODE(I32, I64, I64, ___, 0, 0, 0x5a, I64GeU, "i64.ge_u") +WABT_OPCODE(I32, F32, F32, ___, 0, 0, 0x5b, F32Eq, "f32.eq") +WABT_OPCODE(I32, F32, F32, ___, 0, 0, 0x5c, F32Ne, "f32.ne") +WABT_OPCODE(I32, F32, F32, ___, 0, 0, 0x5d, F32Lt, "f32.lt") +WABT_OPCODE(I32, F32, F32, ___, 0, 0, 0x5e, F32Gt, "f32.gt") +WABT_OPCODE(I32, F32, F32, ___, 0, 0, 0x5f, F32Le, "f32.le") +WABT_OPCODE(I32, F32, F32, ___, 0, 0, 0x60, F32Ge, "f32.ge") +WABT_OPCODE(I32, F64, F64, ___, 0, 0, 0x61, F64Eq, "f64.eq") +WABT_OPCODE(I32, F64, F64, ___, 0, 0, 0x62, F64Ne, "f64.ne") +WABT_OPCODE(I32, F64, F64, ___, 0, 0, 0x63, F64Lt, "f64.lt") +WABT_OPCODE(I32, F64, F64, ___, 0, 0, 0x64, F64Gt, "f64.gt") +WABT_OPCODE(I32, F64, F64, ___, 0, 0, 0x65, F64Le, "f64.le") +WABT_OPCODE(I32, F64, F64, ___, 0, 0, 0x66, F64Ge, "f64.ge") +WABT_OPCODE(I32, I32, ___, ___, 0, 0, 0x67, I32Clz, "i32.clz") +WABT_OPCODE(I32, I32, ___, ___, 0, 0, 0x68, I32Ctz, "i32.ctz") +WABT_OPCODE(I32, I32, ___, ___, 0, 0, 0x69, I32Popcnt, "i32.popcnt") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x6a, I32Add, "i32.add") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x6b, I32Sub, "i32.sub") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x6c, I32Mul, "i32.mul") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x6d, I32DivS, "i32.div_s") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x6e, I32DivU, "i32.div_u") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x6f, I32RemS, "i32.rem_s") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x70, I32RemU, "i32.rem_u") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x71, I32And, "i32.and") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x72, I32Or, "i32.or") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x73, I32Xor, "i32.xor") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x74, I32Shl, "i32.shl") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x75, I32ShrS, "i32.shr_s") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x76, I32ShrU, "i32.shr_u") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x77, I32Rotl, "i32.rotl") +WABT_OPCODE(I32, I32, I32, ___, 0, 0, 0x78, I32Rotr, "i32.rotr") +WABT_OPCODE(I64, I64, ___, ___, 0, 0, 0x79, I64Clz, "i64.clz") +WABT_OPCODE(I64, I64, ___, ___, 0, 0, 0x7a, I64Ctz, "i64.ctz") +WABT_OPCODE(I64, I64, ___, ___, 0, 0, 0x7b, I64Popcnt, "i64.popcnt") +WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x7c, I64Add, "i64.add") +WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x7d, I64Sub, "i64.sub") +WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x7e, I64Mul, "i64.mul") +WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x7f, I64DivS, "i64.div_s") +WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x80, I64DivU, "i64.div_u") +WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x81, I64RemS, "i64.rem_s") +WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x82, I64RemU, "i64.rem_u") +WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x83, I64And, "i64.and") +WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x84, I64Or, "i64.or") +WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x85, I64Xor, "i64.xor") +WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x86, I64Shl, "i64.shl") +WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x87, I64ShrS, "i64.shr_s") +WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x88, I64ShrU, "i64.shr_u") +WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x89, I64Rotl, "i64.rotl") +WABT_OPCODE(I64, I64, I64, ___, 0, 0, 0x8a, I64Rotr, "i64.rotr") +WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x8b, F32Abs, "f32.abs") +WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x8c, F32Neg, "f32.neg") +WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x8d, F32Ceil, "f32.ceil") +WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x8e, F32Floor, "f32.floor") +WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x8f, F32Trunc, "f32.trunc") +WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x90, F32Nearest, "f32.nearest") +WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x91, F32Sqrt, "f32.sqrt") +WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x92, F32Add, "f32.add") +WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x93, F32Sub, "f32.sub") +WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x94, F32Mul, "f32.mul") +WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x95, F32Div, "f32.div") +WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x96, F32Min, "f32.min") +WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x97, F32Max, "f32.max") +WABT_OPCODE(F32, F32, F32, ___, 0, 0, 0x98, F32Copysign, "f32.copysign") +WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0x99, F64Abs, "f64.abs") +WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0x9a, F64Neg, "f64.neg") +WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0x9b, F64Ceil, "f64.ceil") +WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0x9c, F64Floor, "f64.floor") +WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0x9d, F64Trunc, "f64.trunc") +WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0x9e, F64Nearest, "f64.nearest") +WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0x9f, F64Sqrt, "f64.sqrt") +WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0xa0, F64Add, "f64.add") +WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0xa1, F64Sub, "f64.sub") +WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0xa2, F64Mul, "f64.mul") +WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0xa3, F64Div, "f64.div") +WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0xa4, F64Min, "f64.min") +WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0xa5, F64Max, "f64.max") +WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0xa6, F64Copysign, "f64.copysign") +WABT_OPCODE(I32, I64, ___, ___, 0, 0, 0xa7, I32WrapI64, "i32.wrap/i64") +WABT_OPCODE(I32, F32, ___, ___, 0, 0, 0xa8, I32TruncSF32, "i32.trunc_s/f32") +WABT_OPCODE(I32, F32, ___, ___, 0, 0, 0xa9, I32TruncUF32, "i32.trunc_u/f32") +WABT_OPCODE(I32, F64, ___, ___, 0, 0, 0xaa, I32TruncSF64, "i32.trunc_s/f64") +WABT_OPCODE(I32, F64, ___, ___, 0, 0, 0xab, I32TruncUF64, "i32.trunc_u/f64") +WABT_OPCODE(I64, I32, ___, ___, 0, 0, 0xac, I64ExtendSI32, "i64.extend_s/i32") +WABT_OPCODE(I64, I32, ___, ___, 0, 0, 0xad, I64ExtendUI32, "i64.extend_u/i32") +WABT_OPCODE(I64, F32, ___, ___, 0, 0, 0xae, I64TruncSF32, "i64.trunc_s/f32") +WABT_OPCODE(I64, F32, ___, ___, 0, 0, 0xaf, I64TruncUF32, "i64.trunc_u/f32") +WABT_OPCODE(I64, F64, ___, ___, 0, 0, 0xb0, I64TruncSF64, "i64.trunc_s/f64") +WABT_OPCODE(I64, F64, ___, ___, 0, 0, 0xb1, I64TruncUF64, "i64.trunc_u/f64") +WABT_OPCODE(F32, I32, ___, ___, 0, 0, 0xb2, F32ConvertSI32, "f32.convert_s/i32") +WABT_OPCODE(F32, I32, ___, ___, 0, 0, 0xb3, F32ConvertUI32, "f32.convert_u/i32") +WABT_OPCODE(F32, I64, ___, ___, 0, 0, 0xb4, F32ConvertSI64, "f32.convert_s/i64") +WABT_OPCODE(F32, I64, ___, ___, 0, 0, 0xb5, F32ConvertUI64, "f32.convert_u/i64") +WABT_OPCODE(F32, F64, ___, ___, 0, 0, 0xb6, F32DemoteF64, "f32.demote/f64") +WABT_OPCODE(F64, I32, ___, ___, 0, 0, 0xb7, F64ConvertSI32, "f64.convert_s/i32") +WABT_OPCODE(F64, I32, ___, ___, 0, 0, 0xb8, F64ConvertUI32, "f64.convert_u/i32") +WABT_OPCODE(F64, I64, ___, ___, 0, 0, 0xb9, F64ConvertSI64, "f64.convert_s/i64") +WABT_OPCODE(F64, I64, ___, ___, 0, 0, 0xba, F64ConvertUI64, "f64.convert_u/i64") +WABT_OPCODE(F64, F32, ___, ___, 0, 0, 0xbb, F64PromoteF32, "f64.promote/f32") +WABT_OPCODE(I32, F32, ___, ___, 0, 0, 0xbc, I32ReinterpretF32, "i32.reinterpret/f32") +WABT_OPCODE(I64, F64, ___, ___, 0, 0, 0xbd, I64ReinterpretF64, "i64.reinterpret/f64") +WABT_OPCODE(F32, I32, ___, ___, 0, 0, 0xbe, F32ReinterpretI32, "f32.reinterpret/i32") +WABT_OPCODE(F64, I64, ___, ___, 0, 0, 0xbf, F64ReinterpretI64, "f64.reinterpret/i64") -WABT_OPCODE(I32, I32, ___, ___, 0, 0, 0xC0, I32Extend8S, "i32.extend8_s") -WABT_OPCODE(I32, I32, ___, ___, 0, 0, 0xC1, I32Extend16S, "i32.extend16_s") -WABT_OPCODE(I64, I64, ___, ___, 0, 0, 0xC2, I64Extend8S, "i64.extend8_s") -WABT_OPCODE(I64, I64, ___, ___, 0, 0, 0xC3, I64Extend16S, "i64.extend16_s") -WABT_OPCODE(I64, I64, ___, ___, 0, 0, 0xC4, I64Extend32S, "i64.extend32_s") +/* Sign-extension opcodes (--enable-sign-extension) */ +WABT_OPCODE(I32, I32, ___, ___, 0, 0, 0xC0, I32Extend8S, "i32.extend8_s") +WABT_OPCODE(I32, I32, ___, ___, 0, 0, 0xC1, I32Extend16S, "i32.extend16_s") +WABT_OPCODE(I64, I64, ___, ___, 0, 0, 0xC2, I64Extend8S, "i64.extend8_s") +WABT_OPCODE(I64, I64, ___, ___, 0, 0, 0xC3, I64Extend16S, "i64.extend16_s") +WABT_OPCODE(I64, I64, ___, ___, 0, 0, 0xC3, I64Extend32S, "i64.extend32_s") /* Interpreter-only opcodes */ -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0xe0, InterpAlloca, "alloca") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0xe1, InterpBrUnless, "br_unless") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0xe2, InterpCallHost, "call_host") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0xe3, InterpData, "data") -WABT_OPCODE(___, ___, ___, ___, 0, 0, 0xe4, InterpDropKeep, "drop_keep") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0xe0, InterpAlloca, "alloca") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0xe1, InterpBrUnless, "br_unless") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0xe2, InterpCallHost, "call_host") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0xe3, InterpData, "data") +WABT_OPCODE(___, ___, ___, ___, 0, 0, 0xe4, InterpDropKeep, "drop_keep") -WABT_OPCODE(I32, F32, ___, ___, 0, 0xfc, 0x00, I32TruncSSatF32, "i32.trunc_s:sat/f32") -WABT_OPCODE(I32, F32, ___, ___, 0, 0xfc, 0x01, I32TruncUSatF32, "i32.trunc_u:sat/f32") -WABT_OPCODE(I32, F64, ___, ___, 0, 0xfc, 0x02, I32TruncSSatF64, "i32.trunc_s:sat/f64") -WABT_OPCODE(I32, F64, ___, ___, 0, 0xfc, 0x03, I32TruncUSatF64, "i32.trunc_u:sat/f64") -WABT_OPCODE(I64, F32, ___, ___, 0, 0xfc, 0x04, I64TruncSSatF32, "i64.trunc_s:sat/f32") -WABT_OPCODE(I64, F32, ___, ___, 0, 0xfc, 0x05, I64TruncUSatF32, "i64.trunc_u:sat/f32") -WABT_OPCODE(I64, F64, ___, ___, 0, 0xfc, 0x06, I64TruncSSatF64, "i64.trunc_s:sat/f64") -WABT_OPCODE(I64, F64, ___, ___, 0, 0xfc, 0x07, I64TruncUSatF64, "i64.trunc_u:sat/f64") +/* Saturating float-to-int opcodes (--enable-saturating-float-to-int) */ +WABT_OPCODE(I32, F32, ___, ___, 0, 0xfc, 0x00, I32TruncSSatF32, "i32.trunc_s:sat/f32") +WABT_OPCODE(I32, F32, ___, ___, 0, 0xfc, 0x01, I32TruncUSatF32, "i32.trunc_u:sat/f32") +WABT_OPCODE(I32, F64, ___, ___, 0, 0xfc, 0x02, I32TruncSSatF64, "i32.trunc_s:sat/f64") +WABT_OPCODE(I32, F64, ___, ___, 0, 0xfc, 0x03, I32TruncUSatF64, "i32.trunc_u:sat/f64") +WABT_OPCODE(I64, F32, ___, ___, 0, 0xfc, 0x04, I64TruncSSatF32, "i64.trunc_s:sat/f32") +WABT_OPCODE(I64, F32, ___, ___, 0, 0xfc, 0x05, I64TruncUSatF32, "i64.trunc_u:sat/f32") +WABT_OPCODE(I64, F64, ___, ___, 0, 0xfc, 0x06, I64TruncSSatF64, "i64.trunc_s:sat/f64") +WABT_OPCODE(I64, F64, ___, ___, 0, 0xfc, 0x07, I64TruncUSatF64, "i64.trunc_u:sat/f64") +/* Simd opcodes (--enable-simd) */ +WABT_OPCODE(V128, ___, ___, ___, 0, 0xfd, 0x00, V128Const, "v128.const") +WABT_OPCODE(V128, I32, ___, ___, 16, 0xfd, 0x01, V128Load, "v128.load") +WABT_OPCODE(___, I32, V128, ___, 16, 0xfd, 0x02, V128Store, "v128.store") +WABT_OPCODE(V128, I32, ___, ___, 0, 0xfd, 0x03, I8X16Splat, "i8x16.splat") +WABT_OPCODE(V128, I32, ___, ___, 0, 0xfd, 0x04, I16X8Splat, "i16x8.splat") +WABT_OPCODE(V128, I32, ___, ___, 0, 0xfd, 0x05, I32X4Splat, "i32x4.splat") +WABT_OPCODE(V128, I64, ___, ___, 0, 0xfd, 0x06, I64X2Splat, "i64x2.splat") +WABT_OPCODE(V128, F32, ___, ___, 0, 0xfd, 0x07, F32X4Splat, "f32x4.splat") +WABT_OPCODE(V128, F64, ___, ___, 0, 0xfd, 0x08, F64X2Splat, "f64x2.splat") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x09, I8X16ExtractLaneS, "i8x16.extract_lane_s") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x0a, I8X16ExtractLaneU, "i8x16.extract_lane_u") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x0b, I16X8ExtractLaneS, "i16x8.extract_lane_s") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x0c, I16X8ExtractLaneU, "i16x8.extract_lane_u") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x0d, I32X4ExtractLane, "i32x4.extract_lane") +WABT_OPCODE(I64, V128, ___, ___, 0, 0xfd, 0x0e, I64X2ExtractLane, "i64x2.extract_lane") +WABT_OPCODE(F32, V128, ___, ___, 0, 0xfd, 0x0f, F32X4ExtractLane, "f32x4.extract_lane") +WABT_OPCODE(F64, V128, ___, ___, 0, 0xfd, 0x10, F64X2ExtractLane, "f64x2.extract_lane") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x11, I8X16ReplaceLane, "i8x16.replace_lane") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x12, I16X8ReplaceLane, "i16x8.replace_lane") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x13, I32X4ReplaceLane, "i32x4.replace_lane") +WABT_OPCODE(V128, V128, I64, ___, 0, 0xfd, 0x14, I64X2ReplaceLane, "i64x2.replace_lane") +WABT_OPCODE(V128, V128, F32, ___, 0, 0xfd, 0x15, F32X4ReplaceLane, "f32x4.replace_lane") +WABT_OPCODE(V128, V128, F64, ___, 0, 0xfd, 0x16, F64X2ReplaceLane, "f64x2.replace_lane") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x17, V8X16Shuffle, "v8x16.shuffle") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x18, I8X16Add, "i8x16.add") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x19, I16X8Add, "i16x8.add") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1a, I32X4Add, "i32x4.add") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1b, I64X2Add, "i64x2.add") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1c, I8X16Sub, "i8x16.sub") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1d, I16X8Sub, "i16x8.sub") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1e, I32X4Sub, "i32x4.sub") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1f, I64X2Sub, "i64x2.sub") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x20, I8X16Mul, "i8x16.mul") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x21, I16X8Mul, "i16x8.mul") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x22, I32X4Mul, "i32x4.mul") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x23, I8X16Neg, "i8x16.neg") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x24, I16X8Neg, "i16x8.neg") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x25, I32X4Neg, "i32x4.neg") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x26, I64X2Neg, "i64x2.neg") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x27, I8X16AddSaturateS, "i8x16.add_saturate_s") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x28, I8X16AddSaturateU, "i8x16.add_saturate_u") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x29, I16X8AddSaturateS, "i16x8.add_saturate_s") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2a, I16X8AddSaturateU, "i16x8.add_saturate_u") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2b, I8X16SubSaturateS, "i8x16.sub_saturate_s") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2c, I8X16SubSaturateU, "i8x16.sub_saturate_u") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2d, I16X8SubSaturateS, "i16x8.sub_saturate_s") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2e, I16X8SubSaturateU, "i16x8.sub_saturate_u") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x2f, I8X16Shl, "i8x16.shl") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x30, I16X8Shl, "i16x8.shl") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x31, I32X4Shl, "i32x4.shl") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x32, I64X2Shl, "i64x2.shl") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x33, I8X16ShrS, "i8x16.shr_s") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x34, I8X16ShrU, "i8x16.shr_u") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x35, I16X8ShrS, "i16x8.shr_s") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x36, I16X8ShrU, "i16x8.shr_u") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x37, I32X4ShrS, "i32x4.shr_s") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x38, I32X4ShrU, "i32x4.shr_u") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x39, I64X2ShrS, "i64x2.shr_s") +WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x3a, I64X2ShrU, "i64x2.shr_u") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x3b, V128And, "v128.and") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x3c, V128Or, "v128.or") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x3d, V128Xor, "v128.xor") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x3e, V128Not, "v128.not") +WABT_OPCODE(V128, V128, V128, V128, 0, 0xfd, 0x3f, V128BitSelect, "v128.bitselect") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x40, I8X16AnyTrue, "i8x16.any_true") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x41, I16X8AnyTrue, "i16x8.any_true") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x42, I32X4AnyTrue, "i32x4.any_true") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x43, I64X2AnyTrue, "i64x2.any_true") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x44, I8X16AllTrue, "i8x16.all_true") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x45, I16X8AllTrue, "i16x8.all_true") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x46, I32X4AllTrue, "i32x4.all_true") +WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x47, I64X2AllTrue, "i64x2.all_true") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x48, I8X16Eq, "i8x16.eq") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x49, I16X8Eq, "i16x8.eq") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4a, I32X4Eq, "i32x4.eq") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4b, F32X4Eq, "f32x4.eq") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4c, F64X2Eq, "f64x2.eq") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4d, I8X16Ne, "i8x16.ne") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4e, I16X8Ne, "i16x8.ne") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4f, I32X4Ne, "i32x4.ne") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x50, F32X4Ne, "f32x4.ne") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x51, F64X2Ne, "f64x2.ne") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x52, I8X16LtS, "i8x16.lt_s") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x53, I8X16LtU, "i8x16.lt_u") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x54, I16X8LtS, "i16x8.lt_s") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x55, I16X8LtU, "i16x8.lt_u") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x56, I32X4LtS, "i32x4.lt_s") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x57, I32X4LtU, "i32x4.lt_u") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x58, F32X4Lt, "f32x4.lt") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x59, F64X2Lt, "f64x2.lt") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x5a, I8X16LeS, "i8x16.le_s") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x5b, I8X16LeU, "i8x16.le_u") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x5c, I16X8LeS, "i16x8.le_s") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x5d, I16X8LeU, "i16x8.le_u") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x5e, I32X4LeS, "i32x4.le_s") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x5f, I32X4LeU, "i32x4.le_u") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x60, F32X4Le, "f32x4.le") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x61, F64X2Le, "f64x2.le") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x62, I8X16GtS, "i8x16.gt_s") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x63, I8X16GtU, "i8x16.gt_u") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x64, I16X8GtS, "i16x8.gt_s") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x65, I16X8GtU, "i16x8.gt_u") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x66, I32X4GtS, "i32x4.gt_s") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x67, I32X4GtU, "i32x4.gt_u") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x68, F32X4Gt, "f32x4.gt") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x69, F64X2Gt, "f64x2.gt") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6a, I8X16GeS, "i8x16.ge_s") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6b, I8X16GeU, "i8x16.ge_u") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6c, I16X8GeS, "i16x8.ge_s") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6d, I16X8GeU, "i16x8.ge_u") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6e, I32X4GeS, "i32x4.ge_s") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6f, I32X4GeU, "i32x4.ge_u") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x70, F32X4Ge, "f32x4.ge") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x71, F64X2Ge, "f64x2.ge") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x72, F32X4Neg, "f32x4.neg") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x73, F64X2Neg, "f64x2.neg") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x74, F32X4Abs, "f32x4.abs") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x75, F64X2Abs, "f64x2.abs") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x76, F32X4Min, "f32x4.min") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x77, F64X2Min, "f64x2.min") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x78, F32X4Max, "f32x4.max") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x79, F64X2Max, "f64x2.max") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x7a, F32X4Add, "f32x4.add") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x7b, F64X2Add, "f64x2.add") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x7c, F32X4Sub, "f32x4.sub") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x7d, F64X2Sub, "f64x2.sub") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x7e, F32X4Div, "f32x4.div") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x7f, F64X2Div, "f64x2.div") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x80, F32X4Mul, "f32x4.mul") +WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x81, F64X2Mul, "f64x2.mul") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x82, F32X4Sqrt, "f32x4.sqrt") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x83, F64X2Sqrt, "f64x2.sqrt") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x84, F32X4ConvertSI32X4, "f32x4.convert_s/i32x4") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x85, F32X4ConvertUI32X4, "f32x4.convert_u/i32x4") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x86, F64X2ConvertSI64X2, "f64x2.convert_s/i64x2") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x87, F64X2ConvertUI64X2, "f64x2.convert_u/i64x2") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x88, I32X4TruncSF32X4Sat,"i32x4.trunc_s/f32x4:sat") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x89, I32X4TruncUF32X4Sat,"i32x4.trunc_u/f32x4:sat") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x8a, I64X2TruncSF64X2Sat,"i64x2.trunc_s/f64x2:sat") +WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x8b, I64X2TruncUF64X2Sat,"i64x2.trunc_u/f64x2:sat") -/* Simd opcodes */ -WABT_OPCODE(V128, ___, ___, ___, 0, 0xfd, 0x00, V128Const, "v128.const") -WABT_OPCODE(V128, I32, ___, ___,16, 0xfd, 0x01, V128Load, "v128.load") -WABT_OPCODE(___, I32, V128,___,16, 0xfd, 0x02, V128Store, "v128.store") -WABT_OPCODE(V128, I32, ___, ___, 0, 0xfd, 0x03, I8X16Splat, "i8x16.splat") -WABT_OPCODE(V128, I32, ___, ___, 0, 0xfd, 0x04, I16X8Splat, "i16x8.splat") -WABT_OPCODE(V128, I32, ___, ___, 0, 0xfd, 0x05, I32X4Splat, "i32x4.splat") -WABT_OPCODE(V128, I64, ___, ___, 0, 0xfd, 0x06, I64X2Splat, "i64x2.splat") -WABT_OPCODE(V128, F32, ___, ___, 0, 0xfd, 0x07, F32X4Splat, "f32x4.splat") -WABT_OPCODE(V128, F64, ___, ___, 0, 0xfd, 0x08, F64X2Splat, "f64x2.splat") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x09, I8X16ExtractLaneS, "i8x16.extract_lane_s") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x0a, I8X16ExtractLaneU, "i8x16.extract_lane_u") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x0b, I16X8ExtractLaneS, "i16x8.extract_lane_s") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x0c, I16X8ExtractLaneU, "i16x8.extract_lane_u") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x0d, I32X4ExtractLane, "i32x4.extract_lane") -WABT_OPCODE(I64, V128, ___, ___, 0, 0xfd, 0x0e, I64X2ExtractLane, "i64x2.extract_lane") -WABT_OPCODE(F32, V128, ___, ___, 0, 0xfd, 0x0f, F32X4ExtractLane, "f32x4.extract_lane") -WABT_OPCODE(F64, V128, ___, ___, 0, 0xfd, 0x10, F64X2ExtractLane, "f64x2.extract_lane") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x11, I8X16ReplaceLane, "i8x16.replace_lane") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x12, I16X8ReplaceLane, "i16x8.replace_lane") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x13, I32X4ReplaceLane, "i32x4.replace_lane") -WABT_OPCODE(V128, V128, I64, ___, 0, 0xfd, 0x14, I64X2ReplaceLane, "i64x2.replace_lane") -WABT_OPCODE(V128, V128, F32, ___, 0, 0xfd, 0x15, F32X4ReplaceLane, "f32x4.replace_lane") -WABT_OPCODE(V128, V128, F64, ___, 0, 0xfd, 0x16, F64X2ReplaceLane, "f64x2.replace_lane") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x17, V8X16Shuffle, "v8x16.shuffle") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x18, I8X16Add, "i8x16.add") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x19, I16X8Add, "i16x8.add") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1a, I32X4Add, "i32x4.add") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1b, I64X2Add, "i64x2.add") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1c, I8X16Sub, "i8x16.sub") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1d, I16X8Sub, "i16x8.sub") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1e, I32X4Sub, "i32x4.sub") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x1f, I64X2Sub, "i64x2.sub") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x20, I8X16Mul, "i8x16.mul") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x21, I16X8Mul, "i16x8.mul") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x22, I32X4Mul, "i32x4.mul") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x23, I8X16Neg, "i8x16.neg") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x24, I16X8Neg, "i16x8.neg") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x25, I32X4Neg, "i32x4.neg") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x26, I64X2Neg, "i64x2.neg") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x27, I8X16AddSaturateS, "i8x16.add_saturate_s") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x28, I8X16AddSaturateU, "i8x16.add_saturate_u") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x29, I16X8AddSaturateS, "i16x8.add_saturate_s") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2a, I16X8AddSaturateU, "i16x8.add_saturate_u") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2b, I8X16SubSaturateS, "i8x16.sub_saturate_s") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2c, I8X16SubSaturateU, "i8x16.sub_saturate_u") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2d, I16X8SubSaturateS, "i16x8.sub_saturate_s") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x2e, I16X8SubSaturateU, "i16x8.sub_saturate_u") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x2f, I8X16Shl, "i8x16.shl") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x30, I16X8Shl, "i16x8.shl") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x31, I32X4Shl, "i32x4.shl") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x32, I64X2Shl, "i64x2.shl") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x33, I8X16ShrS, "i8x16.shr_s") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x34, I8X16ShrU, "i8x16.shr_u") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x35, I16X8ShrS, "i16x8.shr_s") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x36, I16X8ShrU, "i16x8.shr_u") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x37, I32X4ShrS, "i32x4.shr_s") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x38, I32X4ShrU, "i32x4.shr_u") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x39, I64X2ShrS, "i64x2.shr_s") -WABT_OPCODE(V128, V128, I32, ___, 0, 0xfd, 0x3a, I64X2ShrU, "i64x2.shr_u") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x3b, V128And, "v128.and") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x3c, V128Or, "v128.or") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x3d, V128Xor, "v128.xor") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x3e, V128Not, "v128.not") -WABT_OPCODE(V128, V128, V128, V128, 0, 0xfd, 0x3f, V128BitSelect, "v128.bitselect") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x40, I8X16AnyTrue, "i8x16.any_true") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x41, I16X8AnyTrue, "i16x8.any_true") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x42, I32X4AnyTrue, "i32x4.any_true") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x43, I64X2AnyTrue, "i64x2.any_true") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x44, I8X16AllTrue, "i8x16.all_true") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x45, I16X8AllTrue, "i16x8.all_true") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x46, I32X4AllTrue, "i32x4.all_true") -WABT_OPCODE(I32, V128, ___, ___, 0, 0xfd, 0x47, I64X2AllTrue, "i64x2.all_true") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x48, I8X16Eq, "i8x16.eq") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x49, I16X8Eq, "i16x8.eq") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4a, I32X4Eq, "i32x4.eq") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4b, F32X4Eq, "f32x4.eq") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4c, F64X2Eq, "f64x2.eq") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4d, I8X16Ne, "i8x16.ne") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4e, I16X8Ne, "i16x8.ne") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x4f, I32X4Ne, "i32x4.ne") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x50, F32X4Ne, "f32x4.ne") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x51, F64X2Ne, "f64x2.ne") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x52, I8X16LtS, "i8x16.lt_s") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x53, I8X16LtU, "i8x16.lt_u") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x54, I16X8LtS, "i16x8.lt_s") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x55, I16X8LtU, "i16x8.lt_u") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x56, I32X4LtS, "i32x4.lt_s") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x57, I32X4LtU, "i32x4.lt_u") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x58, F32X4Lt, "f32x4.lt") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x59, F64X2Lt, "f64x2.lt") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x5a, I8X16LeS, "i8x16.le_s") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x5b, I8X16LeU, "i8x16.le_u") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x5c, I16X8LeS, "i16x8.le_s") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x5d, I16X8LeU, "i16x8.le_u") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x5e, I32X4LeS, "i32x4.le_s") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x5f, I32X4LeU, "i32x4.le_u") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x60, F32X4Le, "f32x4.le") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x61, F64X2Le, "f64x2.le") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x62, I8X16GtS, "i8x16.gt_s") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x63, I8X16GtU, "i8x16.gt_u") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x64, I16X8GtS, "i16x8.gt_s") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x65, I16X8GtU, "i16x8.gt_u") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x66, I32X4GtS, "i32x4.gt_s") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x67, I32X4GtU, "i32x4.gt_u") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x68, F32X4Gt, "f32x4.gt") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x69, F64X2Gt, "f64x2.gt") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6a, I8X16GeS, "i8x16.ge_s") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6b, I8X16GeU, "i8x16.ge_u") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6c, I16X8GeS, "i16x8.ge_s") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6d, I16X8GeU, "i16x8.ge_u") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6e, I32X4GeS, "i32x4.ge_s") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x6f, I32X4GeU, "i32x4.ge_u") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x70, F32X4Ge, "f32x4.ge") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x71, F64X2Ge, "f64x2.ge") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x72, F32X4Neg, "f32x4.neg") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x73, F64X2Neg, "f64x2.neg") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x74, F32X4Abs, "f32x4.abs") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x75, F64X2Abs, "f64x2.abs") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x76, F32X4Min, "f32x4.min") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x77, F64X2Min, "f64x2.min") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x78, F32X4Max, "f32x4.max") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x79, F64X2Max, "f64x2.max") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x7a, F32X4Add, "f32x4.add") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x7b, F64X2Add, "f64x2.add") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x7c, F32X4Sub, "f32x4.sub") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x7d, F64X2Sub, "f64x2.sub") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x7e, F32X4Div, "f32x4.div") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x7f, F64X2Div, "f64x2.div") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x80, F32X4Mul, "f32x4.mul") -WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0x81, F64X2Mul, "f64x2.mul") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x82, F32X4Sqrt, "f32x4.sqrt") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x83, F64X2Sqrt, "f64x2.sqrt") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x84, F32X4ConvertSI32X4, "f32x4.convert_s/i32x4") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x85, F32X4ConvertUI32X4, "f32x4.convert_u/i32x4") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x86, F64X2ConvertSI64X2, "f64x2.convert_s/i64x2") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x87, F64X2ConvertUI64X2, "f64x2.convert_u/i64x2") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x88, I32X4TruncSF32X4Sat,"i32x4.trunc_s/f32x4:sat") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x89, I32X4TruncUF32X4Sat,"i32x4.trunc_u/f32x4:sat") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x8a, I64X2TruncSF64X2Sat,"i64x2.trunc_s/f64x2:sat") -WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0x8b, I64X2TruncUF64X2Sat,"i64x2.trunc_u/f64x2:sat") - - -WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x00, AtomicWake, "atomic.wake") -WABT_OPCODE(I32, I32, I32, I64, 4, 0xfe, 0x01, I32AtomicWait, "i32.atomic.wait") -WABT_OPCODE(I32, I32, I64, I64, 8, 0xfe, 0x02, I64AtomicWait, "i64.atomic.wait") -WABT_OPCODE(I32, I32, ___, ___, 4, 0xfe, 0x10, I32AtomicLoad, "i32.atomic.load") -WABT_OPCODE(I64, I32, ___, ___, 8, 0xfe, 0x11, I64AtomicLoad, "i64.atomic.load") -WABT_OPCODE(I32, I32, ___, ___, 1, 0xfe, 0x12, I32AtomicLoad8U, "i32.atomic.load8_u") -WABT_OPCODE(I32, I32, ___, ___, 2, 0xfe, 0x13, I32AtomicLoad16U, "i32.atomic.load16_u") -WABT_OPCODE(I64, I32, ___, ___, 1, 0xfe, 0x14, I64AtomicLoad8U, "i64.atomic.load8_u") -WABT_OPCODE(I64, I32, ___, ___, 2, 0xfe, 0x15, I64AtomicLoad16U, "i64.atomic.load16_u") -WABT_OPCODE(I64, I32, ___, ___, 4, 0xfe, 0x16, I64AtomicLoad32U, "i64.atomic.load32_u") -WABT_OPCODE(___, I32, I32, ___, 4, 0xfe, 0x17, I32AtomicStore, "i32.atomic.store") -WABT_OPCODE(___, I32, I64, ___, 8, 0xfe, 0x18, I64AtomicStore, "i64.atomic.store") -WABT_OPCODE(___, I32, I32, ___, 1, 0xfe, 0x19, I32AtomicStore8, "i32.atomic.store8") -WABT_OPCODE(___, I32, I32, ___, 2, 0xfe, 0x1a, I32AtomicStore16, "i32.atomic.store16") -WABT_OPCODE(___, I32, I64, ___, 1, 0xfe, 0x1b, I64AtomicStore8, "i64.atomic.store8") -WABT_OPCODE(___, I32, I64, ___, 2, 0xfe, 0x1c, I64AtomicStore16, "i64.atomic.store16") -WABT_OPCODE(___, I32, I64, ___, 4, 0xfe, 0x1d, I64AtomicStore32, "i64.atomic.store32") -WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x1e, I32AtomicRmwAdd, "i32.atomic.rmw.add") -WABT_OPCODE(I64, I32, I64, ___, 8, 0xfe, 0x1f, I64AtomicRmwAdd, "i64.atomic.rmw.add") -WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x20, I32AtomicRmw8UAdd, "i32.atomic.rmw8_u.add") -WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x21, I32AtomicRmw16UAdd, "i32.atomic.rmw16_u.add") -WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x22, I64AtomicRmw8UAdd, "i64.atomic.rmw8_u.add") -WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x23, I64AtomicRmw16UAdd, "i64.atomic.rmw16_u.add") -WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x24, I64AtomicRmw32UAdd, "i64.atomic.rmw32_u.add") -WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x25, I32AtomicRmwSub, "i32.atomic.rmw.sub") -WABT_OPCODE(I64, I32, I64, ___, 8, 0xfe, 0x26, I64AtomicRmwSub, "i64.atomic.rmw.sub") -WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x27, I32AtomicRmw8USub, "i32.atomic.rmw8_u.sub") -WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x28, I32AtomicRmw16USub, "i32.atomic.rmw16_u.sub") -WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x29, I64AtomicRmw8USub, "i64.atomic.rmw8_u.sub") -WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x2a, I64AtomicRmw16USub, "i64.atomic.rmw16_u.sub") -WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x2b, I64AtomicRmw32USub, "i64.atomic.rmw32_u.sub") -WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x2c, I32AtomicRmwAnd, "i32.atomic.rmw.and") -WABT_OPCODE(I64, I32, I64, ___, 8, 0xfe, 0x2d, I64AtomicRmwAnd, "i64.atomic.rmw.and") -WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x2e, I32AtomicRmw8UAnd, "i32.atomic.rmw8_u.and") -WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x2f, I32AtomicRmw16UAnd, "i32.atomic.rmw16_u.and") -WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x30, I64AtomicRmw8UAnd, "i64.atomic.rmw8_u.and") -WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x31, I64AtomicRmw16UAnd, "i64.atomic.rmw16_u.and") -WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x32, I64AtomicRmw32UAnd, "i64.atomic.rmw32_u.and") -WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x33, I32AtomicRmwOr, "i32.atomic.rmw.or") -WABT_OPCODE(I64, I32, I64, ___, 8, 0xfe, 0x34, I64AtomicRmwOr, "i64.atomic.rmw.or") -WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x35, I32AtomicRmw8UOr, "i32.atomic.rmw8_u.or") -WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x36, I32AtomicRmw16UOr, "i32.atomic.rmw16_u.or") -WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x37, I64AtomicRmw8UOr, "i64.atomic.rmw8_u.or") -WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x38, I64AtomicRmw16UOr, "i64.atomic.rmw16_u.or") -WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x39, I64AtomicRmw32UOr, "i64.atomic.rmw32_u.or") -WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x3a, I32AtomicRmwXor, "i32.atomic.rmw.xor") -WABT_OPCODE(I64, I32, I64, ___, 8, 0xfe, 0x3b, I64AtomicRmwXor, "i64.atomic.rmw.xor") -WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x3c, I32AtomicRmw8UXor, "i32.atomic.rmw8_u.xor") -WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x3d, I32AtomicRmw16UXor, "i32.atomic.rmw16_u.xor") -WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x3e, I64AtomicRmw8UXor, "i64.atomic.rmw8_u.xor") -WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x3f, I64AtomicRmw16UXor, "i64.atomic.rmw16_u.xor") -WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x40, I64AtomicRmw32UXor, "i64.atomic.rmw32_u.xor") -WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x41, I32AtomicRmwXchg, "i32.atomic.rmw.xchg") -WABT_OPCODE(I64, I32, I64, ___, 8, 0xfe, 0x42, I64AtomicRmwXchg, "i64.atomic.rmw.xchg") -WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x43, I32AtomicRmw8UXchg, "i32.atomic.rmw8_u.xchg") -WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x44, I32AtomicRmw16UXchg, "i32.atomic.rmw16_u.xchg") -WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x45, I64AtomicRmw8UXchg, "i64.atomic.rmw8_u.xchg") -WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x46, I64AtomicRmw16UXchg, "i64.atomic.rmw16_u.xchg") -WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x47, I64AtomicRmw32UXchg, "i64.atomic.rmw32_u.xchg") -WABT_OPCODE(I32, I32, I32, I32, 4, 0xfe, 0x48, I32AtomicRmwCmpxchg, "i32.atomic.rmw.cmpxchg") -WABT_OPCODE(I64, I32, I64, I64, 8, 0xfe, 0x49, I64AtomicRmwCmpxchg, "i64.atomic.rmw.cmpxchg") -WABT_OPCODE(I32, I32, I32, I32, 1, 0xfe, 0x4a, I32AtomicRmw8UCmpxchg, "i32.atomic.rmw8_u.cmpxchg") -WABT_OPCODE(I32, I32, I32, I32, 2, 0xfe, 0x4b, I32AtomicRmw16UCmpxchg, "i32.atomic.rmw16_u.cmpxchg") -WABT_OPCODE(I64, I32, I64, I64, 1, 0xfe, 0x4c, I64AtomicRmw8UCmpxchg, "i64.atomic.rmw8_u.cmpxchg") -WABT_OPCODE(I64, I32, I64, I64, 2, 0xfe, 0x4d, I64AtomicRmw16UCmpxchg, "i64.atomic.rmw16_u.cmpxchg") -WABT_OPCODE(I64, I32, I64, I64, 4, 0xfe, 0x4e, I64AtomicRmw32UCmpxchg, "i64.atomic.rmw32_u.cmpxchg") +/* Thread opcodes (--enable-threads) */ +WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x00, AtomicWake, "atomic.wake") +WABT_OPCODE(I32, I32, I32, I64, 4, 0xfe, 0x01, I32AtomicWait, "i32.atomic.wait") +WABT_OPCODE(I32, I32, I64, I64, 8, 0xfe, 0x02, I64AtomicWait, "i64.atomic.wait") +WABT_OPCODE(I32, I32, ___, ___, 4, 0xfe, 0x10, I32AtomicLoad, "i32.atomic.load") +WABT_OPCODE(I64, I32, ___, ___, 8, 0xfe, 0x11, I64AtomicLoad, "i64.atomic.load") +WABT_OPCODE(I32, I32, ___, ___, 1, 0xfe, 0x12, I32AtomicLoad8U, "i32.atomic.load8_u") +WABT_OPCODE(I32, I32, ___, ___, 2, 0xfe, 0x13, I32AtomicLoad16U, "i32.atomic.load16_u") +WABT_OPCODE(I64, I32, ___, ___, 1, 0xfe, 0x14, I64AtomicLoad8U, "i64.atomic.load8_u") +WABT_OPCODE(I64, I32, ___, ___, 2, 0xfe, 0x15, I64AtomicLoad16U, "i64.atomic.load16_u") +WABT_OPCODE(I64, I32, ___, ___, 4, 0xfe, 0x16, I64AtomicLoad32U, "i64.atomic.load32_u") +WABT_OPCODE(___, I32, I32, ___, 4, 0xfe, 0x17, I32AtomicStore, "i32.atomic.store") +WABT_OPCODE(___, I32, I64, ___, 8, 0xfe, 0x18, I64AtomicStore, "i64.atomic.store") +WABT_OPCODE(___, I32, I32, ___, 1, 0xfe, 0x19, I32AtomicStore8, "i32.atomic.store8") +WABT_OPCODE(___, I32, I32, ___, 2, 0xfe, 0x1a, I32AtomicStore16, "i32.atomic.store16") +WABT_OPCODE(___, I32, I64, ___, 1, 0xfe, 0x1b, I64AtomicStore8, "i64.atomic.store8") +WABT_OPCODE(___, I32, I64, ___, 2, 0xfe, 0x1c, I64AtomicStore16, "i64.atomic.store16") +WABT_OPCODE(___, I32, I64, ___, 4, 0xfe, 0x1d, I64AtomicStore32, "i64.atomic.store32") +WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x1e, I32AtomicRmwAdd, "i32.atomic.rmw.add") +WABT_OPCODE(I64, I32, I64, ___, 8, 0xfe, 0x1f, I64AtomicRmwAdd, "i64.atomic.rmw.add") +WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x20, I32AtomicRmw8UAdd, "i32.atomic.rmw8_u.add") +WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x21, I32AtomicRmw16UAdd, "i32.atomic.rmw16_u.add") +WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x22, I64AtomicRmw8UAdd, "i64.atomic.rmw8_u.add") +WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x23, I64AtomicRmw16UAdd, "i64.atomic.rmw16_u.add") +WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x24, I64AtomicRmw32UAdd, "i64.atomic.rmw32_u.add") +WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x25, I32AtomicRmwSub, "i32.atomic.rmw.sub") +WABT_OPCODE(I64, I32, I64, ___, 8, 0xfe, 0x26, I64AtomicRmwSub, "i64.atomic.rmw.sub") +WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x27, I32AtomicRmw8USub, "i32.atomic.rmw8_u.sub") +WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x28, I32AtomicRmw16USub, "i32.atomic.rmw16_u.sub") +WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x29, I64AtomicRmw8USub, "i64.atomic.rmw8_u.sub") +WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x2a, I64AtomicRmw16USub, "i64.atomic.rmw16_u.sub") +WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x2b, I64AtomicRmw32USub, "i64.atomic.rmw32_u.sub") +WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x2c, I32AtomicRmwAnd, "i32.atomic.rmw.and") +WABT_OPCODE(I64, I32, I64, ___, 8, 0xfe, 0x2d, I64AtomicRmwAnd, "i64.atomic.rmw.and") +WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x2e, I32AtomicRmw8UAnd, "i32.atomic.rmw8_u.and") +WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x2f, I32AtomicRmw16UAnd, "i32.atomic.rmw16_u.and") +WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x30, I64AtomicRmw8UAnd, "i64.atomic.rmw8_u.and") +WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x31, I64AtomicRmw16UAnd, "i64.atomic.rmw16_u.and") +WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x32, I64AtomicRmw32UAnd, "i64.atomic.rmw32_u.and") +WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x33, I32AtomicRmwOr, "i32.atomic.rmw.or") +WABT_OPCODE(I64, I32, I64, ___, 8, 0xfe, 0x34, I64AtomicRmwOr, "i64.atomic.rmw.or") +WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x35, I32AtomicRmw8UOr, "i32.atomic.rmw8_u.or") +WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x36, I32AtomicRmw16UOr, "i32.atomic.rmw16_u.or") +WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x37, I64AtomicRmw8UOr, "i64.atomic.rmw8_u.or") +WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x38, I64AtomicRmw16UOr, "i64.atomic.rmw16_u.or") +WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x39, I64AtomicRmw32UOr, "i64.atomic.rmw32_u.or") +WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x3a, I32AtomicRmwXor, "i32.atomic.rmw.xor") +WABT_OPCODE(I64, I32, I64, ___, 8, 0xfe, 0x3b, I64AtomicRmwXor, "i64.atomic.rmw.xor") +WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x3c, I32AtomicRmw8UXor, "i32.atomic.rmw8_u.xor") +WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x3d, I32AtomicRmw16UXor, "i32.atomic.rmw16_u.xor") +WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x3e, I64AtomicRmw8UXor, "i64.atomic.rmw8_u.xor") +WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x3f, I64AtomicRmw16UXor, "i64.atomic.rmw16_u.xor") +WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x40, I64AtomicRmw32UXor, "i64.atomic.rmw32_u.xor") +WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x41, I32AtomicRmwXchg, "i32.atomic.rmw.xchg") +WABT_OPCODE(I64, I32, I64, ___, 8, 0xfe, 0x42, I64AtomicRmwXchg, "i64.atomic.rmw.xchg") +WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x43, I32AtomicRmw8UXchg, "i32.atomic.rmw8_u.xchg") +WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x44, I32AtomicRmw16UXchg, "i32.atomic.rmw16_u.xchg") +WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x45, I64AtomicRmw8UXchg, "i64.atomic.rmw8_u.xchg") +WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x46, I64AtomicRmw16UXchg, "i64.atomic.rmw16_u.xchg") +WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x47, I64AtomicRmw32UXchg, "i64.atomic.rmw32_u.xchg") +WABT_OPCODE(I32, I32, I32, I32, 4, 0xfe, 0x48, I32AtomicRmwCmpxchg, "i32.atomic.rmw.cmpxchg") +WABT_OPCODE(I64, I32, I64, I64, 8, 0xfe, 0x49, I64AtomicRmwCmpxchg, "i64.atomic.rmw.cmpxchg") +WABT_OPCODE(I32, I32, I32, I32, 1, 0xfe, 0x4a, I32AtomicRmw8UCmpxchg, "i32.atomic.rmw8_u.cmpxchg") +WABT_OPCODE(I32, I32, I32, I32, 2, 0xfe, 0x4b, I32AtomicRmw16UCmpxchg, "i32.atomic.rmw16_u.cmpxchg") +WABT_OPCODE(I64, I32, I64, I64, 1, 0xfe, 0x4c, I64AtomicRmw8UCmpxchg, "i64.atomic.rmw8_u.cmpxchg") +WABT_OPCODE(I64, I32, I64, I64, 2, 0xfe, 0x4d, I64AtomicRmw16UCmpxchg, "i64.atomic.rmw16_u.cmpxchg") +WABT_OPCODE(I64, I32, I64, I64, 4, 0xfe, 0x4e, I64AtomicRmw32UCmpxchg, "i64.atomic.rmw32_u.cmpxchg") |