#[repr(u8)] #[derive(Clone, Copy, Debug, PartialEq, Eq)] pub enum OpCode { UNREACHABLE = 0x00, NOP = 0x01, BLOCK = 0x02, LOOP = 0x03, IF = 0x04, ELSE = 0x05, END = 0x0b, BR = 0x0c, BRIF = 0x0d, BRTABLE = 0x0e, RETURN = 0x0f, CALL = 0x10, CALLINDIRECT = 0x11, DROP = 0x1a, SELECT = 0x1b, GETLOCAL = 0x20, SETLOCAL = 0x21, TEELOCAL = 0x22, GETGLOBAL = 0x23, SETGLOBAL = 0x24, I32LOAD = 0x28, I64LOAD = 0x29, F32LOAD = 0x2a, F64LOAD = 0x2b, I32LOAD8S = 0x2c, I32LOAD8U = 0x2d, I32LOAD16S = 0x2e, I32LOAD16U = 0x2f, I64LOAD8S = 0x30, I64LOAD8U = 0x31, I64LOAD16S = 0x32, I64LOAD16U = 0x33, I64LOAD32S = 0x34, I64LOAD32U = 0x35, I32STORE = 0x36, I64STORE = 0x37, F32STORE = 0x38, F64STORE = 0x39, I32STORE8 = 0x3a, I32STORE16 = 0x3b, I64STORE8 = 0x3c, I64STORE16 = 0x3d, I64STORE32 = 0x3e, CURRENTMEMORY = 0x3f, GROWMEMORY = 0x40, I32CONST = 0x41, I64CONST = 0x42, F32CONST = 0x43, F64CONST = 0x44, I32EQZ = 0x45, I32EQ = 0x46, I32NE = 0x47, I32LTS = 0x48, I32LTU = 0x49, I32GTS = 0x4a, I32GTU = 0x4b, I32LES = 0x4c, I32LEU = 0x4d, I32GES = 0x4e, I32GEU = 0x4f, I64EQZ = 0x50, I64EQ = 0x51, I64NE = 0x52, I64LTS = 0x53, I64LTU = 0x54, I64GTS = 0x55, I64GTU = 0x56, I64LES = 0x57, I64LEU = 0x58, I64GES = 0x59, I64GEU = 0x5a, F32EQ = 0x5b, F32NE = 0x5c, F32LT = 0x5d, F32GT = 0x5e, F32LE = 0x5f, F32GE = 0x60, F64EQ = 0x61, F64NE = 0x62, F64LT = 0x63, F64GT = 0x64, F64LE = 0x65, F64GE = 0x66, I32CLZ = 0x67, I32CTZ = 0x68, I32POPCNT = 0x69, I32ADD = 0x6a, I32SUB = 0x6b, I32MUL = 0x6c, I32DIVS = 0x6d, I32DIVU = 0x6e, I32REMS = 0x6f, I32REMU = 0x70, I32AND = 0x71, I32OR = 0x72, I32XOR = 0x73, I32SHL = 0x74, I32SHRS = 0x75, I32SHRU = 0x76, I32ROTL = 0x77, I32ROTR = 0x78, I64CLZ = 0x79, I64CTZ = 0x7a, I64POPCNT = 0x7b, I64ADD = 0x7c, I64SUB = 0x7d, I64MUL = 0x7e, I64DIVS = 0x7f, I64DIVU = 0x80, I64REMS = 0x81, I64REMU = 0x82, I64AND = 0x83, I64OR = 0x84, I64XOR = 0x85, I64SHL = 0x86, I64SHRS = 0x87, I64SHRU = 0x88, I64ROTL = 0x89, I64ROTR = 0x8a, F32ABS = 0x8b, F32NEG = 0x8c, F32CEIL = 0x8d, F32FLOOR = 0x8e, F32TRUNC = 0x8f, F32NEAREST = 0x90, F32SQRT = 0x91, F32ADD = 0x92, F32SUB = 0x93, F32MUL = 0x94, F32DIV = 0x95, F32MIN = 0x96, F32MAX = 0x97, F32COPYSIGN = 0x98, F64ABS = 0x99, F64NEG = 0x9a, F64CEIL = 0x9b, F64FLOOR = 0x9c, F64TRUNC = 0x9d, F64NEAREST = 0x9e, F64SQRT = 0x9f, F64ADD = 0xa0, F64SUB = 0xa1, F64MUL = 0xa2, F64DIV = 0xa3, F64MIN = 0xa4, F64MAX = 0xa5, F64COPYSIGN = 0xa6, I32WRAPI64 = 0xa7, I32TRUNCSF32 = 0xa8, I32TRUNCUF32 = 0xa9, I32TRUNCSF64 = 0xaa, I32TRUNCUF64 = 0xab, I64EXTENDSI32 = 0xac, I64EXTENDUI32 = 0xad, I64TRUNCSF32 = 0xae, I64TRUNCUF32 = 0xaf, I64TRUNCSF64 = 0xb0, I64TRUNCUF64 = 0xb1, F32CONVERTSI32 = 0xb2, F32CONVERTUI32 = 0xb3, F32CONVERTSI64 = 0xb4, F32CONVERTUI64 = 0xb5, F32DEMOTEF64 = 0xb6, F64CONVERTSI32 = 0xb7, F64CONVERTUI32 = 0xb8, F64CONVERTSI64 = 0xb9, F64CONVERTUI64 = 0xba, F64PROMOTEF32 = 0xbb, I32REINTERPRETF32 = 0xbc, I64REINTERPRETF64 = 0xbd, F32REINTERPRETI32 = 0xbe, F64REINTERPRETI64 = 0xbf, }