mirror of
https://github.com/fluencelabs/parity-wasm
synced 2025-06-29 14:42:02 +00:00
the rest of ops
This commit is contained in:
@ -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(())
|
||||
|
Reference in New Issue
Block a user