@@ -629,10 +629,12 @@ opcode imm description reference
629
629
0xc3 0xa1 *(uint32_t *)(dst + offset) ^= src `Atomic operations`_
630
630
lock src = *(uint32_t *)(dst + offset)
631
631
0xc3 0xe1 swap(src, *(uint32_t *)(dst + offset)) `Atomic operations`_
632
- 0xc3 0xf1 lock temp = *(uint32_t *)(dst + offset) `Atomic operations`_
633
- if *(uint32_t)(dst + offset) == R0
634
- *(uint32_t)(dst + offset) = src
635
- R0 = temp
632
+ 0xc3 0xf1 :: `Atomic operations`_
633
+
634
+ lock temp = *(uint32_t *)(dst + offset
635
+ if *(uint32_t)(dst + offset) == R0
636
+ *(uint32_t)(dst + offset) = src
637
+ R0 = temp
636
638
0xc4 any dst = (uint32_t)(dst s>> imm) `Arithmetic instructions`_
637
639
0xc5 any if dst s< imm goto +offset `Jump instructions`_
638
640
0xc6 any if (int32_t)dst s< (int32_t)imm goto +offset `Jump instructions`_
@@ -659,10 +661,12 @@ opcode imm description reference
659
661
0xdb 0xa1 *(uint64_t *)(dst + offset) ^= src `Atomic operations`_
660
662
lock src = *(uint64_t *)(dst + offset)
661
663
0xdb 0xe1 swap(src, *(uint64_t *)(dst + offset)) `Atomic operations`_
662
- 0xdb 0xf1 lock temp = *(uint64_t *)(dst + offset) `Atomic operations`_
663
- if *(uint64_t)(dst + offset) == R0
664
- *(uint64_t)(dst + offset) = src
665
- R0 = temp
664
+ 0xdb 0xf1 :: `Atomic operations`_
665
+
666
+ lock temp = *(uint64_t *)(dst + offset)
667
+ if *(uint64_t)(dst + offset) == R0
668
+ *(uint64_t)(dst + offset) = src
669
+ R0 = temp
666
670
0xdc 0x10 dst = htobe16(dst) `Byte swap instructions`_
667
671
0xdc 0x20 dst = htobe32(dst) `Byte swap instructions`_
668
672
0xdc 0x40 dst = htobe64(dst) `Byte swap instructions`_
0 commit comments