diff --git a/src/elements/ops.rs b/src/elements/ops.rs index 13b97cf..1832ab2 100644 --- a/src/elements/ops.rs +++ b/src/elements/ops.rs @@ -726,141 +726,136 @@ impl Serialize for Opcode { F64Const(def) => op!(writer, 0x44, { Uint64::from(def).serialize(writer)?; }), - - // 0x45 => I32Eqz, - // 0x46 => I32Eq, - // 0x47 => I32Ne, - // 0x48 => I32LtS, - // 0x49 => I32LtU, - // 0x4a => I32GtS, - // 0x4b => I32GtU, - // 0x4c => I32LeS, - // 0x4d => I32LeU, - // 0x4e => I32GeS, - // 0x4f => I32GeU, + I32Eqz => op!(writer, 0x45), + I32Eq => op!(writer, 0x46), + I32Ne => op!(writer, 0x47), + I32LtS => op!(writer, 0x48), + I32LtU => op!(writer, 0x49), + I32GtS => op!(writer, 0x4a), + I32GtU => op!(writer, 0x4b), + I32LeS => op!(writer, 0x4c), + I32LeU => op!(writer, 0x4d), + I32GeS => op!(writer, 0x4e), + I32GeU => op!(writer, 0x4f), - // 0x50 => I64Eqz, - // 0x51 => I64Eq, - // 0x52 => I64Ne, - // 0x53 => I64LtS, - // 0x54 => I64LtU, - // 0x55 => I64GtS, - // 0x56 => I64GtU, - // 0x57 => I64LeS, - // 0x58 => I64LeU, - // 0x59 => I64GeS, - // 0x5a => I64GeU, + I64Eqz => op!(writer, 0x50), + I64Eq => op!(writer, 0x51), + I64Ne => op!(writer, 0x52), + I64LtS => op!(writer, 0x53), + I64LtU => op!(writer, 0x54), + I64GtS => op!(writer, 0x55), + I64GtU => op!(writer, 0x56), + I64LeS => op!(writer, 0x57), + I64LeU => op!(writer, 0x58), + I64GeS => op!(writer, 0x59), + I64GeU => op!(writer, 0x5a), - // 0x5b => F32Eq, - // 0x5c => F32Ne, - // 0x5d => F32Lt, - // 0x5e => F32Gt, - // 0x5f => F32Le, - // 0x60 => F32Ge, + F32Eq => op!(writer, 0x5b), + F32Ne => op!(writer, 0x5c), + F32Lt => op!(writer, 0x5d), + F32Gt => op!(writer, 0x5e), + F32Le => op!(writer, 0x5f), + F32Ge => op!(writer, 0x60), - // 0x61 => F64Eq, - // 0x62 => F64Ne, - // 0x63 => F64Lt, - // 0x64 => F64Gt, - // 0x65 => F64Le, - // 0x66 => F64Ge, + F64Eq => op!(writer, 0x61), + F64Ne => op!(writer, 0x62), + F64Lt => op!(writer, 0x63), + F64Gt => op!(writer, 0x64), + F64Le => op!(writer, 0x65), + F64Ge => op!(writer, 0x66), - // 0x67 => I32Clz, - // 0x68 => I32Ctz, - // 0x69 => I32Popcnt, - // 0x6a => I32Add, - // 0x6b => I32Sub, - // 0x6c => I32Mul, - // 0x6d => I32DivS, - // 0x6e => I32DivU, - // 0x6f => I32RemS, - // 0x70 => I32RemU, - // 0x71 => I32And, - // 0x72 => I32Or, - // 0x73 => I32Xor, - // 0x74 => I32Shl, - // 0x75 => I32ShlS, - // 0x76 => I32ShrU, - // 0x77 => I32Rotl, - // 0x78 => I32Rotr, + I32Clz => op!(writer, 0x67), + I32Ctz => op!(writer, 0x68), + I32Popcnt => op!(writer, 0x69), + I32Add => op!(writer, 0x6a), + I32Sub => op!(writer, 0x6b), + I32Mul => op!(writer, 0x6c), + I32DivS => op!(writer, 0x6d), + I32DivU => op!(writer, 0x6e), + I32RemS => op!(writer, 0x6f), + I32RemU => op!(writer, 0x70), + I32And => op!(writer, 0x71), + I32Or => op!(writer, 0x72), + I32Xor => op!(writer, 0x73), + I32Shl => op!(writer, 0x74), + I32ShlS => op!(writer, 0x75), + I32ShrU => op!(writer, 0x76), + I32Rotl => op!(writer, 0x77), + I32Rotr => op!(writer, 0x78), - // 0x79 => I64Clz, - // 0x7a => I64Ctz, - // 0x7b => I64Popcnt, - // 0x7c => I64Add, - // 0x7d => I64Sub, - // 0x7e => I64Mul, - // 0x7f => I64DivS, - // 0x80 => I64DivU, - // 0x81 => I64RemS, - // 0x82 => I64RemU, - // 0x83 => I64And, - // 0x84 => I64Or, - // 0x85 => I64Xor, - // 0x86 => I64Shl, - // 0x87 => I64ShrS, - // 0x88 => I64ShrU, - // 0x89 => I64Rotl, - // 0x8a => I64Rotr, - // 0x8b => F32Abs, - // 0x8c => F32Neg, - // 0x8d => F32Ceil, - // 0x8e => F32Floor, - // 0x8f => F32Trunc, - // 0x90 => F32Nearest, - // 0x91 => F32Sqrt, - // 0x92 => F32Add, - // 0x93 => F32Sub, - // 0x94 => F32Mul, - // 0x95 => F32Div, - // 0x96 => F32Min, - // 0x97 => F32Max, - // 0x98 => F32Copysign, - // 0x99 => F64Abs, - // 0x9a => F64Neg, - // 0x9b => F64Ceil, - // 0x9c => F64Floor, - // 0x9d => F64Trunc, - // 0x9e => F64Nearest, - // 0x9f => F64Sqrt, - // 0xa0 => F64Add, - // 0xa1 => F64Sub, - // 0xa2 => F64Mul, - // 0xa3 => F64Div, - // 0xa4 => F64Min, - // 0xa5 => F64Max, - // 0xa6 => F64Copysign, + I64Clz => op!(writer, 0x79), + I64Ctz => op!(writer, 0x7a), + I64Popcnt => op!(writer, 0x7b), + I64Add => op!(writer, 0x7c), + I64Sub => op!(writer, 0x7d), + I64Mul => op!(writer, 0x7e), + I64DivS => op!(writer, 0x7f), + I64DivU => op!(writer, 0x80), + I64RemS => op!(writer, 0x81), + I64RemU => op!(writer, 0x82), + I64And => op!(writer, 0x83), + I64Or => op!(writer, 0x84), + I64Xor => op!(writer, 0x85), + I64Shl => op!(writer, 0x86), + I64ShrS => op!(writer, 0x87), + I64ShrU => op!(writer, 0x88), + I64Rotl => op!(writer, 0x89), + I64Rotr => op!(writer, 0x8a), + F32Abs => op!(writer, 0x8b), + F32Neg => op!(writer, 0x8c), + F32Ceil => op!(writer, 0x8d), + F32Floor => op!(writer, 0x8e), + F32Trunc => op!(writer, 0x8f), + F32Nearest => op!(writer, 0x90), + F32Sqrt => op!(writer, 0x91), + F32Add => op!(writer, 0x92), + F32Sub => op!(writer, 0x93), + F32Mul => op!(writer, 0x94), + F32Div => op!(writer, 0x95), + F32Min => op!(writer, 0x96), + F32Max => op!(writer, 0x97), + F32Copysign => op!(writer, 0x98), + F64Abs => op!(writer, 0x99), + F64Neg => op!(writer, 0x9a), + F64Ceil => op!(writer, 0x9b), + F64Floor => op!(writer, 0x9c), + F64Trunc => op!(writer, 0x9d), + F64Nearest => op!(writer, 0x9e), + F64Sqrt => op!(writer, 0x9f), + F64Add => op!(writer, 0xa0), + F64Sub => op!(writer, 0xa1), + F64Mul => op!(writer, 0xa2), + F64Div => op!(writer, 0xa3), + F64Min => op!(writer, 0xa4), + F64Max => op!(writer, 0xa5), + F64Copysign => op!(writer, 0xa6), - // 0xa7 => I32WarpI64, - // 0xa8 => I32TruncSF32, - // 0xa9 => I32TruncUF32, - // 0xaa => I32TruncSF64, - // 0xab => I32TruncUF64, - // 0xac => I64ExtendSI32, - // 0xad => I64ExtendUI32, - // 0xae => I64TruncSF32, - // 0xaf => I64TruncUF32, - // 0xb0 => I64TruncSF64, - // 0xb1 => I64TruncUF64, - // 0xb2 => F32ConvertSI32, - // 0xb3 => F32ConvertUI32, - // 0xb4 => F32ConvertSI64, - // 0xb5 => F32ConvertUI64, - // 0xb6 => F32DemoteF64, - // 0xb7 => F64ConvertSI32, - // 0xb8 => F64ConvertUI32, - // 0xb9 => F64ConvertSI64, - // 0xba => F64ConvertUI64, - // 0xbb => F64PromoteF32, + I32WarpI64 => op!(writer, 0xa7), + I32TruncSF32 => op!(writer, 0xa8), + I32TruncUF32 => op!(writer, 0xa9), + I32TruncSF64 => op!(writer, 0xaa), + I32TruncUF64 => op!(writer, 0xab), + I64ExtendSI32 => op!(writer, 0xac), + I64ExtendUI32 => op!(writer, 0xad), + I64TruncSF32 => op!(writer, 0xae), + I64TruncUF32 => op!(writer, 0xaf), + I64TruncSF64 => op!(writer, 0xb0), + I64TruncUF64 => op!(writer, 0xb1), + F32ConvertSI32 => op!(writer, 0xb2), + F32ConvertUI32 => op!(writer, 0xb3), + F32ConvertSI64 => op!(writer, 0xb4), + F32ConvertUI64 => op!(writer, 0xb5), + F32DemoteF64 => op!(writer, 0xb6), + F64ConvertSI32 => op!(writer, 0xb7), + F64ConvertUI32 => op!(writer, 0xb8), + F64ConvertSI64 => op!(writer, 0xb9), + F64ConvertUI64 => op!(writer, 0xba), + F64PromoteF32 => op!(writer, 0xbb), - // 0xbc => I32ReinterpretF32, - // 0xbd => I64ReinterpretF64, - // 0xbe => F32ReinterpretI32, - // 0xbf => F64ReinterpretI64, - - - // End => op!(writer, 0x0b), - _ => unreachable!(), + I32ReinterpretF32 => op!(writer, 0xbc), + I64ReinterpretF64 => op!(writer, 0xbd), + F32ReinterpretI32 => op!(writer, 0xbe), + F64ReinterpretI64 => op!(writer, 0xbf), } Ok(())