Skip to content

Commit 0bb5671

Browse files
committed
update instruction indices
1 parent 353c359 commit 0bb5671

1 file changed

Lines changed: 67 additions & 0 deletions

File tree

document/core/appendix/index-instructions.py

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,73 @@ def Instruction(name, opcode, type=None, validation=None, execution=None, operat
575575
Instruction(r'\I32X4.\VTRUNC\K{\_sat\_f64x2\_u\_zero}', r'\hex{FD}~~\hex{FD}~~\hex{01}', r'[\V128] \to [\V128]', r'valid-vcvtop', r'exec-vcvtop', r'op-trunc_sat_u'),
576576
Instruction(r'\F64X2.\VCONVERT\K{\_low\_i32x4\_s}', r'\hex{FD}~~\hex{FE}~~\hex{01}', r'[\V128] \to [\V128]', r'valid-vcvtop', r'exec-vcvtop', r'op-convert_s'),
577577
Instruction(r'\F64X2.\VCONVERT\K{\_low\_i32x4\_u}', r'\hex{FD}~~\hex{FF}~~\hex{01}', r'[\V128] \to [\V128]', r'valid-vcvtop', r'exec-vcvtop', r'op-convert_u'),
578+
Instruction(r'\MEMORYATOMICNOTIFY~\memarg', r'\hex{FE}~~\hex{00}', r'[\I32~\I32] \to [\I32]', r'valid-memory.atomic.notify', r'exec-memory.atomic.notify'),
579+
Instruction(r'\MEMORYATOMICWAIT\K{32}~\memarg', r'\hex{FE}~~\hex{01}', r'[\I32~\I32~\I64] \to [\I32]', r'valid-memory.atomic.waitn', r'exec-memory.atomic.waitn'),
580+
Instruction(r'\MEMORYATOMICWAIT\K{64}~\memarg', r'\hex{FE}~~\hex{02}', r'[\I32~\I64~\I64] \to [\I32]', r'valid-memory.atomic.waitn', r'exec-memory.atomic.waitn'),
581+
Instruction(r'\MEMORYATOMICFENCE', r'\hex{FE}~~\hex{03}~~\hex{00}', r'[] \to []', r'valid-memory.atomic.fence', r'exec-memory.atomic.fence'),
582+
Instruction(r'\I32.\ATOMICLOAD~\memarg', r'\hex{FE}~~\hex{10}', r'[\I32] \to [\I32]', r'valid-atomic.load', r'exec-atomic.load'),
583+
Instruction(r'\I64.\ATOMICLOAD~\memarg', r'\hex{FE}~~\hex{11}', r'[\I32] \to [\I64]', r'valid-atomic.load', r'exec-atomic.load'),
584+
Instruction(r'\I32.\ATOMICLOAD\K{8\_u}~\memarg', r'\hex{FE}~~\hex{12}', r'[\I32] \to [\I32]', r'valid-atomic.loadn', r'exec-atomic.loadn'),
585+
Instruction(r'\I32.\ATOMICLOAD\K{16\_u}~\memarg', r'\hex{FE}~~\hex{13}', r'[\I32] \to [\I32]', r'valid-atomic.loadn', r'exec-atomic.loadn'),
586+
Instruction(r'\I64.\ATOMICLOAD\K{8\_u}~\memarg', r'\hex{FE}~~\hex{14}', r'[\I32] \to [\I64]', r'valid-atomic.loadn', r'exec-atomic.loadn'),
587+
Instruction(r'\I64.\ATOMICLOAD\K{16\_u}~\memarg', r'\hex{FE}~~\hex{15}', r'[\I32] \to [\I64]', r'valid-atomic.loadn', r'exec-atomic.loadn'),
588+
Instruction(r'\I64.\ATOMICLOAD\K{32\_u}~\memarg', r'\hex{FE}~~\hex{16}', r'[\I32] \to [\I64]', r'valid-atomic.loadn', r'exec-atomic.loadn'),
589+
Instruction(r'\I32.\ATOMICSTORE~\memarg', r'\hex{FE}~~\hex{17}', r'[\I32~\I32] \to []', r'valid-atomic.store', r'exec-atomic.store'),
590+
Instruction(r'\I64.\ATOMICSTORE~\memarg', r'\hex{FE}~~\hex{18}', r'[\I32~\I64] \to []', r'valid-atomic.store', r'exec-atomic.store'),
591+
Instruction(r'\I32.\ATOMICSTORE\K{8}~\memarg', r'\hex{FE}~~\hex{19}', r'[\I32~\I32] \to []', r'valid-atomic.storen', r'exec-atomic.storen'),
592+
Instruction(r'\I32.\ATOMICSTORE\K{16}~\memarg', r'\hex{FE}~~\hex{1A}', r'[\I32~\I32] \to []', r'valid-atomic.storen', r'exec-atomic.storen'),
593+
Instruction(r'\I64.\ATOMICSTORE\K{8}~\memarg', r'\hex{FE}~~\hex{1B}', r'[\I32~\I64] \to []', r'valid-atomic.storen', r'exec-atomic.storen'),
594+
Instruction(r'\I64.\ATOMICSTORE\K{16}~\memarg', r'\hex{FE}~~\hex{1C}', r'[\I32~\I64] \to []', r'valid-atomic.storen', r'exec-atomic.storen'),
595+
Instruction(r'\I64.\ATOMICSTORE\K{32}~\memarg', r'\hex{FE}~~\hex{1D}', r'[\I32~\I64] \to []', r'valid-atomic.storen', r'exec-atomic.storen'),
596+
Instruction(r'\I32.\ATOMICRMW.\ATADD~\memarg', r'\hex{FE}~~\hex{1E}', r'[\I32~\I32] \to [\I32]', r'valid-atomic.rmw', r'exec-atomic.rmw'),
597+
Instruction(r'\I64.\ATOMICRMW.\ATADD~\memarg', r'\hex{FE}~~\hex{1F}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmw', r'exec-atomic.rmw'),
598+
Instruction(r'\I32.\ATOMICRMW\K{8}.\ATADD\K{\_u}~\memarg', r'\hex{FE}~~\hex{20}', r'[\I32~\I32] \to [\I32]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
599+
Instruction(r'\I32.\ATOMICRMW\K{16}.\ATADD\K{\_u}~\memarg', r'\hex{FE}~~\hex{21}', r'[\I32~\I32] \to [\I32]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
600+
Instruction(r'\I64.\ATOMICRMW\K{8}.\ATADD\K{\_u}~\memarg', r'\hex{FE}~~\hex{22}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
601+
Instruction(r'\I64.\ATOMICRMW\K{16}.\ATADD\K{\_u}~\memarg', r'\hex{FE}~~\hex{23}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
602+
Instruction(r'\I64.\ATOMICRMW\K{32}.\ATADD\K{\_u}~\memarg', r'\hex{FE}~~\hex{24}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
603+
Instruction(r'\I32.\ATOMICRMW.\ATSUB~\memarg', r'\hex{FE}~~\hex{25}', r'[\I32~\I32] \to [\I32]', r'valid-atomic.rmw', r'exec-atomic.rmw'),
604+
Instruction(r'\I64.\ATOMICRMW.\ATSUB~\memarg', r'\hex{FE}~~\hex{26}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmw', r'exec-atomic.rmw'),
605+
Instruction(r'\I32.\ATOMICRMW\K{8}.\ATSUB\K{\_u}~\memarg', r'\hex{FE}~~\hex{27}', r'[\I32~\I32] \to [\I32]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
606+
Instruction(r'\I32.\ATOMICRMW\K{16}.\ATSUB\K{\_u}~\memarg', r'\hex{FE}~~\hex{28}', r'[\I32~\I32] \to [\I32]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
607+
Instruction(r'\I64.\ATOMICRMW\K{8}.\ATSUB\K{\_u}~\memarg', r'\hex{FE}~~\hex{29}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
608+
Instruction(r'\I64.\ATOMICRMW\K{16}.\ATSUB\K{\_u}~\memarg', r'\hex{FE}~~\hex{2A}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
609+
Instruction(r'\I64.\ATOMICRMW\K{32}.\ATSUB\K{\_u}~\memarg', r'\hex{FE}~~\hex{2B}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
610+
Instruction(r'\I32.\ATOMICRMW.\ATAND~\memarg', r'\hex{FE}~~\hex{2C}', r'[\I32~\I32] \to [\I32]', r'valid-atomic.rmw', r'exec-atomic.rmw'),
611+
Instruction(r'\I64.\ATOMICRMW.\ATAND~\memarg', r'\hex{FE}~~\hex{2D}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmw', r'exec-atomic.rmw'),
612+
Instruction(r'\I32.\ATOMICRMW\K{8}.\ATAND\K{\_u}~\memarg', r'\hex{FE}~~\hex{2E}', r'[\I32~\I32] \to [\I32]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
613+
Instruction(r'\I32.\ATOMICRMW\K{16}.\ATAND\K{\_u}~\memarg', r'\hex{FE}~~\hex{2F}', r'[\I32~\I32] \to [\I32]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
614+
Instruction(r'\I64.\ATOMICRMW\K{8}.\ATAND\K{\_u}~\memarg', r'\hex{FE}~~\hex{30}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
615+
Instruction(r'\I64.\ATOMICRMW\K{16}.\ATAND\K{\_u}~\memarg', r'\hex{FE}~~\hex{31}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
616+
Instruction(r'\I64.\ATOMICRMW\K{32}.\ATAND\K{\_u}~\memarg', r'\hex{FE}~~\hex{32}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
617+
Instruction(r'\I32.\ATOMICRMW.\ATOR~\memarg', r'\hex{FE}~~\hex{33}', r'[\I32~\I32] \to [\I32]', r'valid-atomic.rmw', r'exec-atomic.rmw'),
618+
Instruction(r'\I64.\ATOMICRMW.\ATOR~\memarg', r'\hex{FE}~~\hex{34}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmw', r'exec-atomic.rmw'),
619+
Instruction(r'\I32.\ATOMICRMW\K{8}.\ATOR\K{\_u}~\memarg', r'\hex{FE}~~\hex{35}', r'[\I32~\I32] \to [\I32]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
620+
Instruction(r'\I32.\ATOMICRMW\K{16}.\ATOR\K{\_u}~\memarg', r'\hex{FE}~~\hex{36}', r'[\I32~\I32] \to [\I32]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
621+
Instruction(r'\I64.\ATOMICRMW\K{8}.\ATOR\K{\_u}~\memarg', r'\hex{FE}~~\hex{37}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
622+
Instruction(r'\I64.\ATOMICRMW\K{16}.\ATOR\K{\_u}~\memarg', r'\hex{FE}~~\hex{38}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
623+
Instruction(r'\I64.\ATOMICRMW\K{32}.\ATOR\K{\_u}~\memarg', r'\hex{FE}~~\hex{39}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
624+
Instruction(r'\I32.\ATOMICRMW.\ATXOR~\memarg', r'\hex{FE}~~\hex{3A}', r'[\I32~\I32] \to [\I32]', r'valid-atomic.rmw', r'exec-atomic.rmw'),
625+
Instruction(r'\I64.\ATOMICRMW.\ATXOR~\memarg', r'\hex{FE}~~\hex{3B}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmw', r'exec-atomic.rmw'),
626+
Instruction(r'\I32.\ATOMICRMW\K{8}.\ATXOR\K{\_u}~\memarg', r'\hex{FE}~~\hex{3C}', r'[\I32~\I32] \to [\I32]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
627+
Instruction(r'\I32.\ATOMICRMW\K{16}.\ATXOR\K{\_u}~\memarg', r'\hex{FE}~~\hex{3D}', r'[\I32~\I32] \to [\I32]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
628+
Instruction(r'\I64.\ATOMICRMW\K{8}.\ATXOR\K{\_u}~\memarg', r'\hex{FE}~~\hex{3E}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
629+
Instruction(r'\I64.\ATOMICRMW\K{16}.\ATXOR\K{\_u}~\memarg', r'\hex{FE}~~\hex{3F}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
630+
Instruction(r'\I64.\ATOMICRMW\K{32}.\ATXOR\K{\_u}~\memarg', r'\hex{FE}~~\hex{40}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
631+
Instruction(r'\I32.\ATOMICRMW.\ATXCHG~\memarg', r'\hex{FE}~~\hex{41}', r'[\I32~\I32] \to [\I32]', r'valid-atomic.rmw', r'exec-atomic.rmw'),
632+
Instruction(r'\I64.\ATOMICRMW.\ATXCHG~\memarg', r'\hex{FE}~~\hex{42}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmw', r'exec-atomic.rmw'),
633+
Instruction(r'\I32.\ATOMICRMW\K{8}.\ATXCHG\K{\_u}~\memarg', r'\hex{FE}~~\hex{43}', r'[\I32~\I32] \to [\I32]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
634+
Instruction(r'\I32.\ATOMICRMW\K{16}.\ATXCHG\K{\_u}~\memarg', r'\hex{FE}~~\hex{44}', r'[\I32~\I32] \to [\I32]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
635+
Instruction(r'\I64.\ATOMICRMW\K{8}.\ATXCHG\K{\_u}~\memarg', r'\hex{FE}~~\hex{45}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
636+
Instruction(r'\I64.\ATOMICRMW\K{16}.\ATXCHG\K{\_u}~\memarg', r'\hex{FE}~~\hex{46}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
637+
Instruction(r'\I64.\ATOMICRMW\K{32}.\ATXCHG\K{\_u}~\memarg', r'\hex{FE}~~\hex{47}', r'[\I32~\I64] \to [\I64]', r'valid-atomic.rmwn', r'exec-atomic.rmwn'),
638+
Instruction(r'\I32.\ATOMICRMW.\ATCMPXCHG~\memarg', r'\hex{FE}~~\hex{48}', r'[\I32~\I32~\I32] \to [\I32]', r'valid-atomic.rmw.cmpxchg', r'exec-atomic.rmw.cmpxchg'),
639+
Instruction(r'\I64.\ATOMICRMW.\ATCMPXCHG~\memarg', r'\hex{FE}~~\hex{49}', r'[\I32~\I64~\I64] \to [\I64]', r'valid-atomic.rmw.cmpxchg', r'exec-atomic.rmw.cmpxchg'),
640+
Instruction(r'\I32.\ATOMICRMW\K{8}.\ATCMPXCHG\K{\_u}~\memarg', r'\hex{FE}~~\hex{4A}', r'[\I32~\I32~\I32] \to [\I32]', r'valid-atomic.rmwn.cmpxchg', r'exec-atomic.rmwn.cmpxchg'),
641+
Instruction(r'\I32.\ATOMICRMW\K{16}.\ATCMPXCHG\K{\_u}~\memarg', r'\hex{FE}~~\hex{4B}', r'[\I32~\I32~\I32] \to [\I32]', r'valid-atomic.rmwn.cmpxchg', r'exec-atomic.rmwn.cmpxchg'),
642+
Instruction(r'\I64.\ATOMICRMW\K{8}.\ATCMPXCHG\K{\_u}~\memarg', r'\hex{FE}~~\hex{4C}', r'[\I32~\I64~\I64] \to [\I64]', r'valid-atomic.rmwn.cmpxchg', r'exec-atomic.rmwn.cmpxchg'),
643+
Instruction(r'\I64.\ATOMICRMW\K{16}.\ATCMPXCHG\K{\_u}~\memarg', r'\hex{FE}~~\hex{4D}', r'[\I32~\I64~\I64] \to [\I64]', r'valid-atomic.rmwn.cmpxchg', r'exec-atomic.rmwn.cmpxchg'),
644+
Instruction(r'\I64.\ATOMICRMW\K{32}.\ATCMPXCHG\K{\_u}~\memarg', r'\hex{FE}~~\hex{4E}', r'[\I32~\I64~\I64] \to [\I64]', r'valid-atomic.rmwn.cmpxchg', r'exec-atomic.rmwn.cmpxchg'),
578645
]
579646

580647

0 commit comments

Comments
 (0)