@@ -20,79 +20,10 @@ struct WasmBinaryEncoding {
20
20
// / Byte encodings for Wasm instructions.
21
21
struct OpCode {
22
22
// Locals, globals, constants.
23
- static constexpr std::byte localGet{0x20 };
24
- static constexpr std::byte localSet{0x21 };
25
- static constexpr std::byte localTee{0x22 };
26
- static constexpr std::byte globalGet{0x23 };
27
23
static constexpr std::byte constI32{0x41 };
28
24
static constexpr std::byte constI64{0x42 };
29
25
static constexpr std::byte constFP32{0x43 };
30
26
static constexpr std::byte constFP64{0x44 };
31
-
32
- // Numeric operations.
33
- static constexpr std::byte clzI32{0x67 };
34
- static constexpr std::byte ctzI32{0x68 };
35
- static constexpr std::byte popcntI32{0x69 };
36
- static constexpr std::byte addI32{0x6A };
37
- static constexpr std::byte subI32{0x6B };
38
- static constexpr std::byte mulI32{0x6C };
39
- static constexpr std::byte divSI32{0x6d };
40
- static constexpr std::byte divUI32{0x6e };
41
- static constexpr std::byte remSI32{0x6f };
42
- static constexpr std::byte remUI32{0x70 };
43
- static constexpr std::byte andI32{0x71 };
44
- static constexpr std::byte orI32{0x72 };
45
- static constexpr std::byte xorI32{0x73 };
46
- static constexpr std::byte shlI32{0x74 };
47
- static constexpr std::byte shrSI32{0x75 };
48
- static constexpr std::byte shrUI32{0x76 };
49
- static constexpr std::byte rotlI32{0x77 };
50
- static constexpr std::byte rotrI32{0x78 };
51
- static constexpr std::byte clzI64{0x79 };
52
- static constexpr std::byte ctzI64{0x7A };
53
- static constexpr std::byte popcntI64{0x7B };
54
- static constexpr std::byte addI64{0x7C };
55
- static constexpr std::byte subI64{0x7D };
56
- static constexpr std::byte mulI64{0x7E };
57
- static constexpr std::byte divSI64{0x7F };
58
- static constexpr std::byte divUI64{0x80 };
59
- static constexpr std::byte remSI64{0x81 };
60
- static constexpr std::byte remUI64{0x82 };
61
- static constexpr std::byte andI64{0x83 };
62
- static constexpr std::byte orI64{0x84 };
63
- static constexpr std::byte xorI64{0x85 };
64
- static constexpr std::byte shlI64{0x86 };
65
- static constexpr std::byte shrSI64{0x87 };
66
- static constexpr std::byte shrUI64{0x88 };
67
- static constexpr std::byte rotlI64{0x89 };
68
- static constexpr std::byte rotrI64{0x8A };
69
- static constexpr std::byte absF32{0x8B };
70
- static constexpr std::byte negF32{0x8C };
71
- static constexpr std::byte ceilF32{0x8D };
72
- static constexpr std::byte floorF32{0x8E };
73
- static constexpr std::byte truncF32{0x8F };
74
- static constexpr std::byte sqrtF32{0x91 };
75
- static constexpr std::byte addF32{0x92 };
76
- static constexpr std::byte subF32{0x93 };
77
- static constexpr std::byte mulF32{0x94 };
78
- static constexpr std::byte divF32{0x95 };
79
- static constexpr std::byte minF32{0x96 };
80
- static constexpr std::byte maxF32{0x97 };
81
- static constexpr std::byte copysignF32{0x98 };
82
- static constexpr std::byte absF64{0x99 };
83
- static constexpr std::byte negF64{0x9A };
84
- static constexpr std::byte ceilF64{0x9B };
85
- static constexpr std::byte floorF64{0x9C };
86
- static constexpr std::byte truncF64{0x9D };
87
- static constexpr std::byte sqrtF64{0x9F };
88
- static constexpr std::byte addF64{0xA0 };
89
- static constexpr std::byte subF64{0xA1 };
90
- static constexpr std::byte mulF64{0xA2 };
91
- static constexpr std::byte divF64{0xA3 };
92
- static constexpr std::byte minF64{0xA4 };
93
- static constexpr std::byte maxF64{0xA5 };
94
- static constexpr std::byte copysignF64{0xA6 };
95
- static constexpr std::byte wrap{0xA7 };
96
27
};
97
28
98
29
// / Byte encodings of types in Wasm binaries
0 commit comments