@@ -108,31 +108,31 @@ def Instruction(name, opcode, type=None, validation=None, execution=None, operat
108
108
Instruction (r'\TABLEGET~x' , r'\hex{25}' , r'[\I32] \to [t]' , r'valid-table.get' , r'exec-table.get' ),
109
109
Instruction (r'\TABLESET~x' , r'\hex{26}' , r'[\I32~t] \to []' , r'valid-table.set' , r'exec-table.set' ),
110
110
Instruction (None , r'\hex{27}' ),
111
- Instruction (r'\I32.\LOAD~\memarg' , r'\hex{28}' , r'[\I32] \to [\I32]' , r'valid-load' , r'exec-load' ),
112
- Instruction (r'\I64.\LOAD~\memarg' , r'\hex{29}' , r'[\I32] \to [\I64]' , r'valid-load' , r'exec-load' ),
113
- Instruction (r'\F32.\LOAD~\memarg' , r'\hex{2A}' , r'[\I32] \to [\F32]' , r'valid-load' , r'exec-load' ),
114
- Instruction (r'\F64.\LOAD~\memarg' , r'\hex{2B}' , r'[\I32] \to [\F64]' , r'valid-load' , r'exec-load' ),
115
- Instruction (r'\I32.\LOAD\K{8\_s}~\memarg' , r'\hex{2C}' , r'[\I32] \to [\I32]' , r'valid-loadn' , r'exec-loadn' ),
116
- Instruction (r'\I32.\LOAD\K{8\_u}~\memarg' , r'\hex{2D}' , r'[\I32] \to [\I32]' , r'valid-loadn' , r'exec-loadn' ),
117
- Instruction (r'\I32.\LOAD\K{16\_s}~\memarg' , r'\hex{2E}' , r'[\I32] \to [\I32]' , r'valid-loadn' , r'exec-loadn' ),
118
- Instruction (r'\I32.\LOAD\K{16\_u}~\memarg' , r'\hex{2F}' , r'[\I32] \to [\I32]' , r'valid-loadn' , r'exec-loadn' ),
119
- Instruction (r'\I64.\LOAD\K{8\_s}~\memarg' , r'\hex{30}' , r'[\I32] \to [\I64]' , r'valid-loadn' , r'exec-loadn' ),
120
- Instruction (r'\I64.\LOAD\K{8\_u}~\memarg' , r'\hex{31}' , r'[\I32] \to [\I64]' , r'valid-loadn' , r'exec-loadn' ),
121
- Instruction (r'\I64.\LOAD\K{16\_s}~\memarg' , r'\hex{32}' , r'[\I32] \to [\I64]' , r'valid-loadn' , r'exec-loadn' ),
122
- Instruction (r'\I64.\LOAD\K{16\_u}~\memarg' , r'\hex{33}' , r'[\I32] \to [\I64]' , r'valid-loadn' , r'exec-loadn' ),
123
- Instruction (r'\I64.\LOAD\K{32\_s}~\memarg' , r'\hex{34}' , r'[\I32] \to [\I64]' , r'valid-loadn' , r'exec-loadn' ),
124
- Instruction (r'\I64.\LOAD\K{32\_u}~\memarg' , r'\hex{35}' , r'[\I32] \to [\I64]' , r'valid-loadn' , r'exec-loadn' ),
125
- Instruction (r'\I32.\STORE~\memarg' , r'\hex{36}' , r'[\I32~\I32] \to []' , r'valid-store' , r'exec-store' ),
126
- Instruction (r'\I64.\STORE~\memarg' , r'\hex{37}' , r'[\I32~\I64] \to []' , r'valid-store' , r'exec-store' ),
127
- Instruction (r'\F32.\STORE~\memarg' , r'\hex{38}' , r'[\I32~\F32] \to []' , r'valid-store' , r'exec-store' ),
128
- Instruction (r'\F64.\STORE~\memarg' , r'\hex{39}' , r'[\I32~\F64] \to []' , r'valid-store' , r'exec-store' ),
129
- Instruction (r'\I32.\STORE\K{8}~\memarg' , r'\hex{3A}' , r'[\I32~\I32] \to []' , r'valid-storen' , r'exec-storen' ),
130
- Instruction (r'\I32.\STORE\K{16}~\memarg' , r'\hex{3B}' , r'[\I32~\I32] \to []' , r'valid-storen' , r'exec-storen' ),
131
- Instruction (r'\I64.\STORE\K{8}~\memarg' , r'\hex{3C}' , r'[\I32~\I64] \to []' , r'valid-storen' , r'exec-storen' ),
132
- Instruction (r'\I64.\STORE\K{16}~\memarg' , r'\hex{3D}' , r'[\I32~\I64] \to []' , r'valid-storen' , r'exec-storen' ),
133
- Instruction (r'\I64.\STORE\K{32}~\memarg' , r'\hex{3E}' , r'[\I32~\I64] \to []' , r'valid-storen' , r'exec-storen' ),
134
- Instruction (r'\MEMORYSIZE' , r'\hex{3F}' , r'[] \to [\I32]' , r'valid-memory.size' , r'exec-memory.size' ),
135
- Instruction (r'\MEMORYGROW' , r'\hex{40}' , r'[\I32] \to [\I32]' , r'valid-memory.grow' , r'exec-memory.grow' ),
111
+ Instruction (r'\I32.\LOAD~x~ \memarg' , r'\hex{28}' , r'[\I32] \to [\I32]' , r'valid-load' , r'exec-load' ),
112
+ Instruction (r'\I64.\LOAD~x~ \memarg' , r'\hex{29}' , r'[\I32] \to [\I64]' , r'valid-load' , r'exec-load' ),
113
+ Instruction (r'\F32.\LOAD~x~ \memarg' , r'\hex{2A}' , r'[\I32] \to [\F32]' , r'valid-load' , r'exec-load' ),
114
+ Instruction (r'\F64.\LOAD~x~ \memarg' , r'\hex{2B}' , r'[\I32] \to [\F64]' , r'valid-load' , r'exec-load' ),
115
+ Instruction (r'\I32.\LOAD\K{8\_s}~x~ \memarg' , r'\hex{2C}' , r'[\I32] \to [\I32]' , r'valid-loadn' , r'exec-loadn' ),
116
+ Instruction (r'\I32.\LOAD\K{8\_u}~x~ \memarg' , r'\hex{2D}' , r'[\I32] \to [\I32]' , r'valid-loadn' , r'exec-loadn' ),
117
+ Instruction (r'\I32.\LOAD\K{16\_s}~x~ \memarg' , r'\hex{2E}' , r'[\I32] \to [\I32]' , r'valid-loadn' , r'exec-loadn' ),
118
+ Instruction (r'\I32.\LOAD\K{16\_u}~x~ \memarg' , r'\hex{2F}' , r'[\I32] \to [\I32]' , r'valid-loadn' , r'exec-loadn' ),
119
+ Instruction (r'\I64.\LOAD\K{8\_s}~x~ \memarg' , r'\hex{30}' , r'[\I32] \to [\I64]' , r'valid-loadn' , r'exec-loadn' ),
120
+ Instruction (r'\I64.\LOAD\K{8\_u}~x~ \memarg' , r'\hex{31}' , r'[\I32] \to [\I64]' , r'valid-loadn' , r'exec-loadn' ),
121
+ Instruction (r'\I64.\LOAD\K{16\_s}~x~ \memarg' , r'\hex{32}' , r'[\I32] \to [\I64]' , r'valid-loadn' , r'exec-loadn' ),
122
+ Instruction (r'\I64.\LOAD\K{16\_u}~x~ \memarg' , r'\hex{33}' , r'[\I32] \to [\I64]' , r'valid-loadn' , r'exec-loadn' ),
123
+ Instruction (r'\I64.\LOAD\K{32\_s}~x~ \memarg' , r'\hex{34}' , r'[\I32] \to [\I64]' , r'valid-loadn' , r'exec-loadn' ),
124
+ Instruction (r'\I64.\LOAD\K{32\_u}~x~ \memarg' , r'\hex{35}' , r'[\I32] \to [\I64]' , r'valid-loadn' , r'exec-loadn' ),
125
+ Instruction (r'\I32.\STORE~x~ \memarg' , r'\hex{36}' , r'[\I32~\I32] \to []' , r'valid-store' , r'exec-store' ),
126
+ Instruction (r'\I64.\STORE~x~ \memarg' , r'\hex{37}' , r'[\I32~\I64] \to []' , r'valid-store' , r'exec-store' ),
127
+ Instruction (r'\F32.\STORE~x~ \memarg' , r'\hex{38}' , r'[\I32~\F32] \to []' , r'valid-store' , r'exec-store' ),
128
+ Instruction (r'\F64.\STORE~x~ \memarg' , r'\hex{39}' , r'[\I32~\F64] \to []' , r'valid-store' , r'exec-store' ),
129
+ Instruction (r'\I32.\STORE\K{8}~x~ \memarg' , r'\hex{3A}' , r'[\I32~\I32] \to []' , r'valid-storen' , r'exec-storen' ),
130
+ Instruction (r'\I32.\STORE\K{16}~x~ \memarg' , r'\hex{3B}' , r'[\I32~\I32] \to []' , r'valid-storen' , r'exec-storen' ),
131
+ Instruction (r'\I64.\STORE\K{8}~x~ \memarg' , r'\hex{3C}' , r'[\I32~\I64] \to []' , r'valid-storen' , r'exec-storen' ),
132
+ Instruction (r'\I64.\STORE\K{16}~x~ \memarg' , r'\hex{3D}' , r'[\I32~\I64] \to []' , r'valid-storen' , r'exec-storen' ),
133
+ Instruction (r'\I64.\STORE\K{32}~x~ \memarg' , r'\hex{3E}' , r'[\I32~\I64] \to []' , r'valid-storen' , r'exec-storen' ),
134
+ Instruction (r'\MEMORYSIZE~x ' , r'\hex{3F}' , r'[] \to [\I32]' , r'valid-memory.size' , r'exec-memory.size' ),
135
+ Instruction (r'\MEMORYGROW~x ' , r'\hex{40}' , r'[\I32] \to [\I32]' , r'valid-memory.grow' , r'exec-memory.grow' ),
136
136
Instruction (r'\I32.\CONST~\i32' , r'\hex{41}' , r'[] \to [\I32]' , r'valid-const' , r'exec-const' ),
137
137
Instruction (r'\I64.\CONST~\i64' , r'\hex{42}' , r'[] \to [\I64]' , r'valid-const' , r'exec-const' ),
138
138
Instruction (r'\F32.\CONST~\f32' , r'\hex{43}' , r'[] \to [\F32]' , r'valid-const' , r'exec-const' ),
@@ -359,29 +359,29 @@ def Instruction(name, opcode, type=None, validation=None, execution=None, operat
359
359
Instruction (r'\I64.\TRUNC\K{\_sat\_}\F32\K{\_u}' , r'\hex{FC}~\hex{05}' , r'[\F32] \to [\I64]' , r'valid-cvtop' , r'exec-cvtop' , r'op-trunc_sat_u' ),
360
360
Instruction (r'\I64.\TRUNC\K{\_sat\_}\F64\K{\_s}' , r'\hex{FC}~\hex{06}' , r'[\F64] \to [\I64]' , r'valid-cvtop' , r'exec-cvtop' , r'op-trunc_sat_s' ),
361
361
Instruction (r'\I64.\TRUNC\K{\_sat\_}\F64\K{\_u}' , r'\hex{FC}~\hex{07}' , r'[\F64] \to [\I64]' , r'valid-cvtop' , r'exec-cvtop' , r'op-trunc_sat_u' ),
362
- Instruction (r'\MEMORYINIT~x' , r'\hex{FC}~\hex{08}' , r'[\I32~\I32~\I32] \to []' , r'valid-memory.init' , r'exec-memory.init' ),
362
+ Instruction (r'\MEMORYINIT~x~y ' , r'\hex{FC}~\hex{08}' , r'[\I32~\I32~\I32] \to []' , r'valid-memory.init' , r'exec-memory.init' ),
363
363
Instruction (r'\DATADROP~x' , r'\hex{FC}~\hex{09}' , r'[] \to []' , r'valid-data.drop' , r'exec-data.drop' ),
364
- Instruction (r'\MEMORYCOPY' , r'\hex{FC}~\hex{0A}' , r'[\I32~\I32~\I32] \to []' , r'valid-memory.copy' , r'exec-memory.copy' ),
365
- Instruction (r'\MEMORYFILL' , r'\hex{FC}~\hex{0B}' , r'[\I32~\I32~\I32] \to []' , r'valid-memory.fill' , r'exec-memory.fill' ),
364
+ Instruction (r'\MEMORYCOPY~x~y ' , r'\hex{FC}~\hex{0A}' , r'[\I32~\I32~\I32] \to []' , r'valid-memory.copy' , r'exec-memory.copy' ),
365
+ Instruction (r'\MEMORYFILL~y ' , r'\hex{FC}~\hex{0B}' , r'[\I32~\I32~\I32] \to []' , r'valid-memory.fill' , r'exec-memory.fill' ),
366
366
Instruction (r'\TABLEINIT~x~y' , r'\hex{FC}~\hex{0C}' , r'[\I32~\I32~\I32] \to []' , r'valid-table.init' , r'exec-table.init' ),
367
367
Instruction (r'\ELEMDROP~x' , r'\hex{FC}~\hex{0D}' , r'[] \to []' , r'valid-elem.drop' , r'exec-elem.drop' ),
368
368
Instruction (r'\TABLECOPY~x~y' , r'\hex{FC}~\hex{0E}' , r'[\I32~\I32~\I32] \to []' , r'valid-table.copy' , r'exec-table.copy' ),
369
369
Instruction (r'\TABLEGROW~x' , r'\hex{FC}~\hex{0F}' , r'[t~\I32] \to [\I32]' , r'valid-table.grow' , r'exec-table.grow' ),
370
370
Instruction (r'\TABLESIZE~x' , r'\hex{FC}~\hex{10}' , r'[] \to [\I32]' , r'valid-table.size' , r'exec-table.size' ),
371
371
Instruction (r'\TABLEFILL~x' , r'\hex{FC}~\hex{11}' , r'[\I32~t~\I32] \to []' , r'valid-table.fill' , r'exec-table.fill' ),
372
372
Instruction (None , r'\hex{FC}~\hex{1E} \dots' ),
373
- Instruction (r'\V128.\LOAD~\memarg' , r'\hex{FD}~~\hex{00}' , r'[\I32] \to [\V128]' , r'valid-load' , r'exec-load' ),
374
- Instruction (r'\V128.\LOAD\K{8x8\_s}~\memarg' , r'\hex{FD}~~\hex{01}' , r'[\I32] \to [\V128]' , r'valid-load-extend' , r'exec-load-extend' ),
375
- Instruction (r'\V128.\LOAD\K{8x8\_u}~\memarg' , r'\hex{FD}~~\hex{02}' , r'[\I32] \to [\V128]' , r'valid-load-extend' , r'exec-load-extend' ),
376
- Instruction (r'\V128.\LOAD\K{16x4\_s}~\memarg' , r'\hex{FD}~~\hex{03}' , r'[\I32] \to [\V128]' , r'valid-load-extend' , r'exec-load-extend' ),
377
- Instruction (r'\V128.\LOAD\K{16x4\_u}~\memarg' , r'\hex{FD}~~\hex{04}' , r'[\I32] \to [\V128]' , r'valid-load-extend' , r'exec-load-extend' ),
378
- Instruction (r'\V128.\LOAD\K{32x2\_s}~\memarg' , r'\hex{FD}~~\hex{05}' , r'[\I32] \to [\V128]' , r'valid-load-extend' , r'exec-load-extend' ),
379
- Instruction (r'\V128.\LOAD\K{32x2\_u}~\memarg' , r'\hex{FD}~~\hex{06}' , r'[\I32] \to [\V128]' , r'valid-load-extend' , r'exec-load-extend' ),
380
- Instruction (r'\V128.\LOAD\K{8\_splat}~\memarg' , r'\hex{FD}~~\hex{07}' , r'[\I32] \to [\V128]' , r'valid-load-splat' , r'exec-load-splat' ),
381
- Instruction (r'\V128.\LOAD\K{16\_splat}~\memarg' , r'\hex{FD}~~\hex{08}' , r'[\I32] \to [\V128]' , r'valid-load-splat' , r'exec-load-splat' ),
382
- Instruction (r'\V128.\LOAD\K{32\_splat}~\memarg' , r'\hex{FD}~~\hex{09}' , r'[\I32] \to [\V128]' , r'valid-load-splat' , r'exec-load-splat' ),
383
- Instruction (r'\V128.\LOAD\K{64\_splat}~\memarg' , r'\hex{FD}~~\hex{0A}' , r'[\I32] \to [\V128]' , r'valid-load-splat' , r'exec-load-splat' ),
384
- Instruction (r'\V128.\STORE~\memarg' , r'\hex{FD}~~\hex{0B}' , r'[\I32~\V128] \to []' , r'valid-store' , r'exec-store' ),
373
+ Instruction (r'\V128.\LOAD~x~ \memarg' , r'\hex{FD}~~\hex{00}' , r'[\I32] \to [\V128]' , r'valid-load' , r'exec-load' ),
374
+ Instruction (r'\V128.\LOAD\K{8x8\_s}~x~ \memarg' , r'\hex{FD}~~\hex{01}' , r'[\I32] \to [\V128]' , r'valid-load-extend' , r'exec-load-extend' ),
375
+ Instruction (r'\V128.\LOAD\K{8x8\_u}~x~ \memarg' , r'\hex{FD}~~\hex{02}' , r'[\I32] \to [\V128]' , r'valid-load-extend' , r'exec-load-extend' ),
376
+ Instruction (r'\V128.\LOAD\K{16x4\_s}~x~ \memarg' , r'\hex{FD}~~\hex{03}' , r'[\I32] \to [\V128]' , r'valid-load-extend' , r'exec-load-extend' ),
377
+ Instruction (r'\V128.\LOAD\K{16x4\_u}~x~ \memarg' , r'\hex{FD}~~\hex{04}' , r'[\I32] \to [\V128]' , r'valid-load-extend' , r'exec-load-extend' ),
378
+ Instruction (r'\V128.\LOAD\K{32x2\_s}~x~ \memarg' , r'\hex{FD}~~\hex{05}' , r'[\I32] \to [\V128]' , r'valid-load-extend' , r'exec-load-extend' ),
379
+ Instruction (r'\V128.\LOAD\K{32x2\_u}~x~ \memarg' , r'\hex{FD}~~\hex{06}' , r'[\I32] \to [\V128]' , r'valid-load-extend' , r'exec-load-extend' ),
380
+ Instruction (r'\V128.\LOAD\K{8\_splat}~x~ \memarg' , r'\hex{FD}~~\hex{07}' , r'[\I32] \to [\V128]' , r'valid-load-splat' , r'exec-load-splat' ),
381
+ Instruction (r'\V128.\LOAD\K{16\_splat}~x~ \memarg' , r'\hex{FD}~~\hex{08}' , r'[\I32] \to [\V128]' , r'valid-load-splat' , r'exec-load-splat' ),
382
+ Instruction (r'\V128.\LOAD\K{32\_splat}~x~ \memarg' , r'\hex{FD}~~\hex{09}' , r'[\I32] \to [\V128]' , r'valid-load-splat' , r'exec-load-splat' ),
383
+ Instruction (r'\V128.\LOAD\K{64\_splat}~x~ \memarg' , r'\hex{FD}~~\hex{0A}' , r'[\I32] \to [\V128]' , r'valid-load-splat' , r'exec-load-splat' ),
384
+ Instruction (r'\V128.\STORE~x~ \memarg' , r'\hex{FD}~~\hex{0B}' , r'[\I32~\V128] \to []' , r'valid-store' , r'exec-store' ),
385
385
Instruction (r'\V128.\VCONST~\i128' , r'\hex{FD}~~\hex{0C}' , r'[] \to [\V128]' , r'valid-vconst' , r'exec-vconst' ),
386
386
Instruction (r'\I8X16.\SHUFFLE~\laneidx^{16}' , r'\hex{FD}~~\hex{0D}' , r'[\V128~\V128] \to [\V128]' , r'valid-vec-shuffle' , r'exec-vec-shuffle' ),
387
387
Instruction (r'\I8X16.\SWIZZLE' , r'\hex{FD}~~\hex{0E}' , r'[\V128~\V128] \to [\V128]' , r'valid-vbinop' , r'exec-vec-swizzle' ),
0 commit comments