Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
opcodes.cpp
Go to the documentation of this file.
1
#include "
barretenberg/vm2/common/opcodes.hpp
"
2
3
#include <ostream>
4
#include <string>
5
6
namespace
bb::avm2
{
7
8
std::ostream&
operator<<
(std::ostream& os,
const
WireOpCode
& op)
9
{
10
switch
(op) {
11
case
WireOpCode::ADD_8
:
12
os <<
"ADD_8"
;
13
break
;
14
case
WireOpCode::ADD_16
:
15
os <<
"ADD_16"
;
16
break
;
17
case
WireOpCode::SUB_8
:
18
os <<
"SUB_8"
;
19
break
;
20
case
WireOpCode::SUB_16
:
21
os <<
"SUB_16"
;
22
break
;
23
case
WireOpCode::MUL_8
:
24
os <<
"MUL_8"
;
25
break
;
26
case
WireOpCode::MUL_16
:
27
os <<
"MUL_16"
;
28
break
;
29
case
WireOpCode::DIV_8
:
30
os <<
"DIV_8"
;
31
break
;
32
case
WireOpCode::DIV_16
:
33
os <<
"DIV_16"
;
34
break
;
35
case
WireOpCode::FDIV_8
:
36
os <<
"FDIV_8"
;
37
break
;
38
case
WireOpCode::FDIV_16
:
39
os <<
"FDIV_16"
;
40
break
;
41
case
WireOpCode::EQ_8
:
42
os <<
"EQ_8"
;
43
break
;
44
case
WireOpCode::EQ_16
:
45
os <<
"EQ_16"
;
46
break
;
47
case
WireOpCode::LT_8
:
48
os <<
"LT_8"
;
49
break
;
50
case
WireOpCode::LT_16
:
51
os <<
"LT_16"
;
52
break
;
53
case
WireOpCode::LTE_8
:
54
os <<
"LTE_8"
;
55
break
;
56
case
WireOpCode::LTE_16
:
57
os <<
"LTE_16"
;
58
break
;
59
case
WireOpCode::AND_8
:
60
os <<
"AND_8"
;
61
break
;
62
case
WireOpCode::AND_16
:
63
os <<
"AND_16"
;
64
break
;
65
case
WireOpCode::OR_8
:
66
os <<
"OR_8"
;
67
break
;
68
case
WireOpCode::OR_16
:
69
os <<
"OR_16"
;
70
break
;
71
case
WireOpCode::XOR_8
:
72
os <<
"XOR_8"
;
73
break
;
74
case
WireOpCode::XOR_16
:
75
os <<
"XOR_16"
;
76
break
;
77
case
WireOpCode::NOT_8
:
78
os <<
"NOT_8"
;
79
break
;
80
case
WireOpCode::NOT_16
:
81
os <<
"NOT_16"
;
82
break
;
83
case
WireOpCode::SHL_8
:
84
os <<
"SHL_8"
;
85
break
;
86
case
WireOpCode::SHL_16
:
87
os <<
"SHL_16"
;
88
break
;
89
case
WireOpCode::SHR_8
:
90
os <<
"SHR_8"
;
91
break
;
92
case
WireOpCode::SHR_16
:
93
os <<
"SHR_16"
;
94
break
;
95
case
WireOpCode::CAST_8
:
96
os <<
"CAST_8"
;
97
break
;
98
case
WireOpCode::CAST_16
:
99
os <<
"CAST_16"
;
100
break
;
101
case
WireOpCode::GETENVVAR_16
:
102
os <<
"GETENVVAR_16"
;
103
break
;
104
case
WireOpCode::CALLDATACOPY
:
105
os <<
"CALLDATACOPY"
;
106
break
;
107
case
WireOpCode::SUCCESSCOPY
:
108
os <<
"SUCCESSCOPY"
;
109
break
;
110
case
WireOpCode::RETURNDATASIZE
:
111
os <<
"RETURNDATASIZE"
;
112
break
;
113
case
WireOpCode::RETURNDATACOPY
:
114
os <<
"RETURNDATACOPY"
;
115
break
;
116
case
WireOpCode::JUMP_32
:
117
os <<
"JUMP_32"
;
118
break
;
119
case
WireOpCode::JUMPI_32
:
120
os <<
"JUMPI_32"
;
121
break
;
122
case
WireOpCode::INTERNALCALL
:
123
os <<
"INTERNALCALL"
;
124
break
;
125
case
WireOpCode::INTERNALRETURN
:
126
os <<
"INTERNALRETURN"
;
127
break
;
128
case
WireOpCode::SET_8
:
129
os <<
"SET_8"
;
130
break
;
131
case
WireOpCode::SET_16
:
132
os <<
"SET_16"
;
133
break
;
134
case
WireOpCode::SET_32
:
135
os <<
"SET_32"
;
136
break
;
137
case
WireOpCode::SET_64
:
138
os <<
"SET_64"
;
139
break
;
140
case
WireOpCode::SET_128
:
141
os <<
"SET_128"
;
142
break
;
143
case
WireOpCode::SET_FF
:
144
os <<
"SET_FF"
;
145
break
;
146
case
WireOpCode::MOV_8
:
147
os <<
"MOV_8"
;
148
break
;
149
case
WireOpCode::MOV_16
:
150
os <<
"MOV_16"
;
151
break
;
152
case
WireOpCode::SLOAD
:
153
os <<
"SLOAD"
;
154
break
;
155
case
WireOpCode::SSTORE
:
156
os <<
"SSTORE"
;
157
break
;
158
case
WireOpCode::NOTEHASHEXISTS
:
159
os <<
"NOTEHASHEXISTS"
;
160
break
;
161
case
WireOpCode::EMITNOTEHASH
:
162
os <<
"EMITNOTEHASH"
;
163
break
;
164
case
WireOpCode::NULLIFIEREXISTS
:
165
os <<
"NULLIFIEREXISTS"
;
166
break
;
167
case
WireOpCode::EMITNULLIFIER
:
168
os <<
"EMITNULLIFIER"
;
169
break
;
170
case
WireOpCode::L1TOL2MSGEXISTS
:
171
os <<
"L1TOL2MSGEXISTS"
;
172
break
;
173
case
WireOpCode::GETCONTRACTINSTANCE
:
174
os <<
"GETCONTRACTINSTANCE"
;
175
break
;
176
case
WireOpCode::EMITUNENCRYPTEDLOG
:
177
os <<
"EMITUNENCRYPTEDLOG"
;
178
break
;
179
case
WireOpCode::SENDL2TOL1MSG
:
180
os <<
"SENDL2TOL1MSG"
;
181
break
;
182
case
WireOpCode::CALL
:
183
os <<
"CALL"
;
184
break
;
185
case
WireOpCode::STATICCALL
:
186
os <<
"STATICCALL"
;
187
break
;
188
case
WireOpCode::RETURN
:
189
os <<
"RETURN"
;
190
break
;
191
case
WireOpCode::REVERT_8
:
192
os <<
"REVERT_8"
;
193
break
;
194
case
WireOpCode::REVERT_16
:
195
os <<
"REVERT_16"
;
196
break
;
197
case
WireOpCode::DEBUGLOG
:
198
os <<
"DEBUGLOG"
;
199
break
;
200
case
WireOpCode::POSEIDON2PERM
:
201
os <<
"POSEIDON2PERM"
;
202
break
;
203
case
WireOpCode::SHA256COMPRESSION
:
204
os <<
"SHA256COMPRESSION"
;
205
break
;
206
case
WireOpCode::KECCAKF1600
:
207
os <<
"KECCAKF1600"
;
208
break
;
209
case
WireOpCode::ECADD
:
210
os <<
"ECADD"
;
211
break
;
212
case
WireOpCode::TORADIXBE
:
213
os <<
"TORADIXBE"
;
214
break
;
215
case
WireOpCode::LAST_OPCODE_SENTINEL
:
216
os <<
"LAST_OPCODE_SENTINEL"
;
217
break
;
218
}
219
return
os;
220
}
221
222
std::ostream&
operator<<
(std::ostream& os,
const
ExecutionOpCode
& op)
223
{
224
switch
(op) {
225
case
ExecutionOpCode::ADD
:
226
os <<
"ADD"
;
227
break
;
228
case
ExecutionOpCode::SUB
:
229
os <<
"SUB"
;
230
break
;
231
case
ExecutionOpCode::MUL
:
232
os <<
"MUL"
;
233
break
;
234
case
ExecutionOpCode::DIV
:
235
os <<
"DIV"
;
236
break
;
237
case
ExecutionOpCode::FDIV
:
238
os <<
"FDIV"
;
239
break
;
240
case
ExecutionOpCode::EQ
:
241
os <<
"EQ"
;
242
break
;
243
case
ExecutionOpCode::LT
:
244
os <<
"LT"
;
245
break
;
246
case
ExecutionOpCode::LTE
:
247
os <<
"LTE"
;
248
break
;
249
case
ExecutionOpCode::AND
:
250
os <<
"AND"
;
251
break
;
252
case
ExecutionOpCode::OR
:
253
os <<
"OR"
;
254
break
;
255
case
ExecutionOpCode::XOR
:
256
os <<
"XOR"
;
257
break
;
258
case
ExecutionOpCode::NOT
:
259
os <<
"NOT"
;
260
break
;
261
case
ExecutionOpCode::SHL
:
262
os <<
"SHL"
;
263
break
;
264
case
ExecutionOpCode::SHR
:
265
os <<
"SHR"
;
266
break
;
267
case
ExecutionOpCode::CAST
:
268
os <<
"CAST"
;
269
break
;
270
case
ExecutionOpCode::GETENVVAR
:
271
os <<
"GETENVVAR"
;
272
break
;
273
case
ExecutionOpCode::CALLDATACOPY
:
274
os <<
"CALLDATACOPY"
;
275
break
;
276
case
ExecutionOpCode::SUCCESSCOPY
:
277
os <<
"SUCCESSCOPY"
;
278
break
;
279
case
ExecutionOpCode::RETURNDATASIZE
:
280
os <<
"RETURNDATASIZE"
;
281
break
;
282
case
ExecutionOpCode::RETURNDATACOPY
:
283
os <<
"RETURNDATACOPY"
;
284
break
;
285
case
ExecutionOpCode::JUMP
:
286
os <<
"JUMP"
;
287
break
;
288
case
ExecutionOpCode::JUMPI
:
289
os <<
"JUMPI"
;
290
break
;
291
case
ExecutionOpCode::INTERNALCALL
:
292
os <<
"INTERNALCALL"
;
293
break
;
294
case
ExecutionOpCode::INTERNALRETURN
:
295
os <<
"INTERNALRETURN"
;
296
break
;
297
case
ExecutionOpCode::SET
:
298
os <<
"SET"
;
299
break
;
300
case
ExecutionOpCode::MOV
:
301
os <<
"MOV"
;
302
break
;
303
case
ExecutionOpCode::SLOAD
:
304
os <<
"SLOAD"
;
305
break
;
306
case
ExecutionOpCode::SSTORE
:
307
os <<
"SSTORE"
;
308
break
;
309
case
ExecutionOpCode::NOTEHASHEXISTS
:
310
os <<
"NOTEHASHEXISTS"
;
311
break
;
312
case
ExecutionOpCode::EMITNOTEHASH
:
313
os <<
"EMITNOTEHASH"
;
314
break
;
315
case
ExecutionOpCode::NULLIFIEREXISTS
:
316
os <<
"NULLIFIEREXISTS"
;
317
break
;
318
case
ExecutionOpCode::EMITNULLIFIER
:
319
os <<
"EMITNULLIFIER"
;
320
break
;
321
case
ExecutionOpCode::L1TOL2MSGEXISTS
:
322
os <<
"L1TOL2MSGEXISTS"
;
323
break
;
324
case
ExecutionOpCode::GETCONTRACTINSTANCE
:
325
os <<
"GETCONTRACTINSTANCE"
;
326
break
;
327
case
ExecutionOpCode::EMITUNENCRYPTEDLOG
:
328
os <<
"EMITUNENCRYPTEDLOG"
;
329
break
;
330
case
ExecutionOpCode::SENDL2TOL1MSG
:
331
os <<
"SENDL2TOL1MSG"
;
332
break
;
333
case
ExecutionOpCode::CALL
:
334
os <<
"CALL"
;
335
break
;
336
case
ExecutionOpCode::STATICCALL
:
337
os <<
"STATICCALL"
;
338
break
;
339
case
ExecutionOpCode::RETURN
:
340
os <<
"RETURN"
;
341
break
;
342
case
ExecutionOpCode::REVERT
:
343
os <<
"REVERT"
;
344
break
;
345
case
ExecutionOpCode::DEBUGLOG
:
346
os <<
"DEBUGLOG"
;
347
break
;
348
case
ExecutionOpCode::POSEIDON2PERM
:
349
os <<
"POSEIDON2PERM"
;
350
break
;
351
case
ExecutionOpCode::SHA256COMPRESSION
:
352
os <<
"SHA256COMPRESSION"
;
353
break
;
354
case
ExecutionOpCode::KECCAKF1600
:
355
os <<
"KECCAKF1600"
;
356
break
;
357
case
ExecutionOpCode::ECADD
:
358
os <<
"ECADD"
;
359
break
;
360
case
ExecutionOpCode::TORADIXBE
:
361
os <<
"TORADIXBE"
;
362
break
;
363
}
364
return
os;
365
}
366
367
}
// namespace bb::avm2
bb::avm2
Definition
flavor.hpp:472
bb::avm2::ExecutionOpCode
ExecutionOpCode
Definition
opcodes.hpp:106
bb::avm2::ExecutionOpCode::SHR
@ SHR
bb::avm2::ExecutionOpCode::NOT
@ NOT
bb::avm2::ExecutionOpCode::JUMPI
@ JUMPI
bb::avm2::ExecutionOpCode::SSTORE
@ SSTORE
bb::avm2::ExecutionOpCode::MOV
@ MOV
bb::avm2::ExecutionOpCode::SLOAD
@ SLOAD
bb::avm2::ExecutionOpCode::OR
@ OR
bb::avm2::ExecutionOpCode::SENDL2TOL1MSG
@ SENDL2TOL1MSG
bb::avm2::ExecutionOpCode::SUB
@ SUB
bb::avm2::ExecutionOpCode::CAST
@ CAST
bb::avm2::ExecutionOpCode::DIV
@ DIV
bb::avm2::ExecutionOpCode::MUL
@ MUL
bb::avm2::ExecutionOpCode::EQ
@ EQ
bb::avm2::ExecutionOpCode::RETURNDATACOPY
@ RETURNDATACOPY
bb::avm2::ExecutionOpCode::GETENVVAR
@ GETENVVAR
bb::avm2::ExecutionOpCode::JUMP
@ JUMP
bb::avm2::ExecutionOpCode::INTERNALRETURN
@ INTERNALRETURN
bb::avm2::ExecutionOpCode::AND
@ AND
bb::avm2::ExecutionOpCode::EMITNULLIFIER
@ EMITNULLIFIER
bb::avm2::ExecutionOpCode::NULLIFIEREXISTS
@ NULLIFIEREXISTS
bb::avm2::ExecutionOpCode::POSEIDON2PERM
@ POSEIDON2PERM
bb::avm2::ExecutionOpCode::SET
@ SET
bb::avm2::ExecutionOpCode::L1TOL2MSGEXISTS
@ L1TOL2MSGEXISTS
bb::avm2::ExecutionOpCode::RETURNDATASIZE
@ RETURNDATASIZE
bb::avm2::ExecutionOpCode::EMITNOTEHASH
@ EMITNOTEHASH
bb::avm2::ExecutionOpCode::XOR
@ XOR
bb::avm2::ExecutionOpCode::INTERNALCALL
@ INTERNALCALL
bb::avm2::ExecutionOpCode::ADD
@ ADD
bb::avm2::ExecutionOpCode::RETURN
@ RETURN
bb::avm2::ExecutionOpCode::GETCONTRACTINSTANCE
@ GETCONTRACTINSTANCE
bb::avm2::ExecutionOpCode::DEBUGLOG
@ DEBUGLOG
bb::avm2::ExecutionOpCode::EMITUNENCRYPTEDLOG
@ EMITUNENCRYPTEDLOG
bb::avm2::ExecutionOpCode::ECADD
@ ECADD
bb::avm2::ExecutionOpCode::NOTEHASHEXISTS
@ NOTEHASHEXISTS
bb::avm2::ExecutionOpCode::REVERT
@ REVERT
bb::avm2::ExecutionOpCode::CALLDATACOPY
@ CALLDATACOPY
bb::avm2::ExecutionOpCode::SHL
@ SHL
bb::avm2::ExecutionOpCode::FDIV
@ FDIV
bb::avm2::ExecutionOpCode::LT
@ LT
bb::avm2::ExecutionOpCode::CALL
@ CALL
bb::avm2::ExecutionOpCode::LTE
@ LTE
bb::avm2::ExecutionOpCode::KECCAKF1600
@ KECCAKF1600
bb::avm2::ExecutionOpCode::SHA256COMPRESSION
@ SHA256COMPRESSION
bb::avm2::ExecutionOpCode::STATICCALL
@ STATICCALL
bb::avm2::ExecutionOpCode::TORADIXBE
@ TORADIXBE
bb::avm2::ExecutionOpCode::SUCCESSCOPY
@ SUCCESSCOPY
bb::avm2::WireOpCode
WireOpCode
Definition
opcodes.hpp:8
bb::avm2::WireOpCode::SET_32
@ SET_32
bb::avm2::WireOpCode::AND_8
@ AND_8
bb::avm2::WireOpCode::SET_8
@ SET_8
bb::avm2::WireOpCode::SSTORE
@ SSTORE
bb::avm2::WireOpCode::JUMP_32
@ JUMP_32
bb::avm2::WireOpCode::SLOAD
@ SLOAD
bb::avm2::WireOpCode::SHR_8
@ SHR_8
bb::avm2::WireOpCode::SET_16
@ SET_16
bb::avm2::WireOpCode::SENDL2TOL1MSG
@ SENDL2TOL1MSG
bb::avm2::WireOpCode::DIV_16
@ DIV_16
bb::avm2::WireOpCode::LAST_OPCODE_SENTINEL
@ LAST_OPCODE_SENTINEL
bb::avm2::WireOpCode::RETURNDATACOPY
@ RETURNDATACOPY
bb::avm2::WireOpCode::SET_FF
@ SET_FF
bb::avm2::WireOpCode::SET_64
@ SET_64
bb::avm2::WireOpCode::REVERT_16
@ REVERT_16
bb::avm2::WireOpCode::SHL_8
@ SHL_8
bb::avm2::WireOpCode::LT_8
@ LT_8
bb::avm2::WireOpCode::ADD_8
@ ADD_8
bb::avm2::WireOpCode::NOT_8
@ NOT_8
bb::avm2::WireOpCode::INTERNALRETURN
@ INTERNALRETURN
bb::avm2::WireOpCode::LTE_16
@ LTE_16
bb::avm2::WireOpCode::EMITNULLIFIER
@ EMITNULLIFIER
bb::avm2::WireOpCode::EQ_16
@ EQ_16
bb::avm2::WireOpCode::NULLIFIEREXISTS
@ NULLIFIEREXISTS
bb::avm2::WireOpCode::SHL_16
@ SHL_16
bb::avm2::WireOpCode::CAST_16
@ CAST_16
bb::avm2::WireOpCode::MOV_8
@ MOV_8
bb::avm2::WireOpCode::ADD_16
@ ADD_16
bb::avm2::WireOpCode::JUMPI_32
@ JUMPI_32
bb::avm2::WireOpCode::AND_16
@ AND_16
bb::avm2::WireOpCode::SUB_16
@ SUB_16
bb::avm2::WireOpCode::POSEIDON2PERM
@ POSEIDON2PERM
bb::avm2::WireOpCode::L1TOL2MSGEXISTS
@ L1TOL2MSGEXISTS
bb::avm2::WireOpCode::RETURNDATASIZE
@ RETURNDATASIZE
bb::avm2::WireOpCode::EMITNOTEHASH
@ EMITNOTEHASH
bb::avm2::WireOpCode::SHR_16
@ SHR_16
bb::avm2::WireOpCode::INTERNALCALL
@ INTERNALCALL
bb::avm2::WireOpCode::LTE_8
@ LTE_8
bb::avm2::WireOpCode::RETURN
@ RETURN
bb::avm2::WireOpCode::GETCONTRACTINSTANCE
@ GETCONTRACTINSTANCE
bb::avm2::WireOpCode::DEBUGLOG
@ DEBUGLOG
bb::avm2::WireOpCode::EMITUNENCRYPTEDLOG
@ EMITUNENCRYPTEDLOG
bb::avm2::WireOpCode::ECADD
@ ECADD
bb::avm2::WireOpCode::FDIV_8
@ FDIV_8
bb::avm2::WireOpCode::OR_16
@ OR_16
bb::avm2::WireOpCode::NOTEHASHEXISTS
@ NOTEHASHEXISTS
bb::avm2::WireOpCode::FDIV_16
@ FDIV_16
bb::avm2::WireOpCode::CALLDATACOPY
@ CALLDATACOPY
bb::avm2::WireOpCode::DIV_8
@ DIV_8
bb::avm2::WireOpCode::REVERT_8
@ REVERT_8
bb::avm2::WireOpCode::MUL_16
@ MUL_16
bb::avm2::WireOpCode::CALL
@ CALL
bb::avm2::WireOpCode::SET_128
@ SET_128
bb::avm2::WireOpCode::NOT_16
@ NOT_16
bb::avm2::WireOpCode::KECCAKF1600
@ KECCAKF1600
bb::avm2::WireOpCode::XOR_16
@ XOR_16
bb::avm2::WireOpCode::OR_8
@ OR_8
bb::avm2::WireOpCode::MUL_8
@ MUL_8
bb::avm2::WireOpCode::XOR_8
@ XOR_8
bb::avm2::WireOpCode::MOV_16
@ MOV_16
bb::avm2::WireOpCode::SHA256COMPRESSION
@ SHA256COMPRESSION
bb::avm2::WireOpCode::EQ_8
@ EQ_8
bb::avm2::WireOpCode::STATICCALL
@ STATICCALL
bb::avm2::WireOpCode::GETENVVAR_16
@ GETENVVAR_16
bb::avm2::WireOpCode::SUB_8
@ SUB_8
bb::avm2::WireOpCode::LT_16
@ LT_16
bb::avm2::WireOpCode::CAST_8
@ CAST_8
bb::avm2::WireOpCode::TORADIXBE
@ TORADIXBE
bb::avm2::WireOpCode::SUCCESSCOPY
@ SUCCESSCOPY
bb::avm2::operator<<
std::ostream & operator<<(std::ostream &os, const WireOpCode &op)
Definition
opcodes.cpp:8
opcodes.hpp
src
barretenberg
vm2
common
opcodes.cpp
Generated by
1.9.8