@@ -194,6 +194,8 @@ pub enum Instruction {
194194 BinOpLocalLocalTee64 ( BinOp , LocalAddr , LocalAddr , LocalAddr ) ,
195195 BinOpLocalLocalTee128 ( BinOp128 , LocalAddr , LocalAddr , LocalAddr ) ,
196196 BinOpLocalConst32 ( BinOp , LocalAddr , i32 ) , BinOpLocalConst64 ( BinOp , LocalAddr , i64 ) ,
197+ BinOpGlobalConst32 ( BinOp , GlobalAddr , i32 ) , BinOpGlobalConst64 ( BinOp , GlobalAddr , i64 ) ,
198+ BinOpGlobalConst128 ( BinOp128 , GlobalAddr , ConstIdx ) ,
197199 BinOpLocalConst128 ( BinOp128 , LocalAddr , ConstIdx ) ,
198200 BinOpLocalConstSet32 ( BinOp , LocalAddr , i32 , LocalAddr ) ,
199201 BinOpLocalConstSet64 ( BinOp , LocalAddr , i64 , LocalAddr ) ,
@@ -258,7 +260,13 @@ pub enum Instruction {
258260 JumpCmpStackConst64 { target_ip : u32 , imm : i64 , op : CmpOp } ,
259261 JumpCmpStackLocal32 { target_ip : u32 , local : LocalAddr , op : CmpOp } ,
260262 JumpCmpStackLocal64 { target_ip : u32 , local : LocalAddr , op : CmpOp } ,
263+ BinOpLocalConstJump32 { target_ip : u32 , local : LocalAddr , imm : i32 , op : BinOp , on_zero : bool } ,
264+ BinOpLocalConstJumpCmpLocal32 { target_ip : u32 , local : LocalAddr , imm : i32 , binop : BinOp , right : LocalAddr , cmp : CmpOp } ,
265+ BinOpStackConstTeeLocalJump32 { target_ip : u32 , local : LocalAddr , imm : i32 , op : BinOp , on_zero : bool } ,
266+ BinOpGlobalConstJump32 { target_ip : u32 , global : GlobalAddr , imm : i32 , op : BinOp , on_zero : bool } ,
261267 IncLocalJump32 { target_ip : u32 , local : LocalAddr , delta : i32 , on_zero : bool } ,
268+ IncStackTeeLocalJump32 { target_ip : u32 , local : LocalAddr , delta : i32 , on_zero : bool } ,
269+ IncGlobalJump32 { target_ip : u32 , global : GlobalAddr , delta : i32 , on_zero : bool } ,
262270 IncLocalJumpCmpLocal32 { target_ip : u32 , local : LocalAddr , delta : i32 , right : LocalAddr , op : CmpOp } ,
263271 JumpCmpLocalConst32 { target_ip : u32 , local : LocalAddr , imm : i32 , op : CmpOp } ,
264272 JumpCmpLocalConst64 { target_ip : u32 , local : LocalAddr , imm : i32 , op : CmpOp } ,
@@ -291,9 +299,9 @@ pub enum Instruction {
291299
292300 // > Variable Instructions
293301 // See <https://webassembly.github.io/spec/core/binary/instructions.html#variable-instructions>
294- GlobalGet32 ( GlobalAddr ) , LocalGet32 ( LocalAddr ) , LocalSet32 ( LocalAddr ) , LocalTee32 ( LocalAddr ) , GlobalSet32 ( GlobalAddr ) ,
295- GlobalGet64 ( GlobalAddr ) , LocalGet64 ( LocalAddr ) , LocalSet64 ( LocalAddr ) , LocalTee64 ( LocalAddr ) , GlobalSet64 ( GlobalAddr ) ,
296- GlobalGet128 ( GlobalAddr ) , LocalGet128 ( LocalAddr ) , LocalSet128 ( LocalAddr ) , LocalTee128 ( LocalAddr ) , GlobalSet128 ( GlobalAddr ) ,
302+ GlobalGet32 ( GlobalAddr ) , GlobalSet32 ( GlobalAddr ) , GlobalTee32 ( GlobalAddr ) , LocalGet32 ( LocalAddr ) , LocalSet32 ( LocalAddr ) , LocalTee32 ( LocalAddr ) ,
303+ GlobalGet64 ( GlobalAddr ) , GlobalSet64 ( GlobalAddr ) , GlobalTee64 ( GlobalAddr ) , LocalGet64 ( LocalAddr ) , LocalSet64 ( LocalAddr ) , LocalTee64 ( LocalAddr ) ,
304+ GlobalGet128 ( GlobalAddr ) , GlobalSet128 ( GlobalAddr ) , GlobalTee128 ( GlobalAddr ) , LocalGet128 ( LocalAddr ) , LocalSet128 ( LocalAddr ) , LocalTee128 ( LocalAddr ) ,
297305
298306 // > Memory Instructions
299307 I32Load ( MemoryArg ) ,
0 commit comments