libvx32: add CMPXCHG, XADD - vx32 - Local 9vx git repository for patches.
Log
Files
Refs
---
commit 95d4dd22fc11be9a424fd5d97c2835644b34ad6a
parent 0c54ee28f390773c20ab0ec73b8b5f9f15311d2b
Author: Russ Cox 
Date:   Thu, 30 Apr 2009 08:12:59 -0700

libvx32: add CMPXCHG, XADD

Diffstat:
  src/libvx32/emu.c                   |       8 ++++++--

1 file changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/src/libvx32/emu.c b/src/libvx32/emu.c
@@ -832,12 +832,16 @@ static int xscan(struct vxproc *p)
                 case 0x5c: case 0x5d: case 0x5e: case 0x5f:        // SUBPS etc.
                 case 0xa3:                                        // BT Ev,Gv
                 case 0xab:                                        // BTS Ev,Gv
+                case 0xaf:                                        // IMUL Gv,Ev
+                case 0xb0:                                        // CMPXCHG Eb,Gb
+                case 0xb1:                                        // CMPXCHG Ev,Gv
                 case 0xb3:                                        // BTR Ev,Gv
+                case 0xb6: case 0xb7:                                // MOVZX
                 case 0xbb:                                        // BTC Ev,Gv
                 case 0xbc: case 0xbd:                                // BSF, BSR
-                case 0xaf:                                        // IMUL Gv,Ev
-                case 0xb6: case 0xb7:                                // MOVZX
                 case 0xbe: case 0xbf:                                // MOVSX
+                case 0xc0:                                        // XADD Eb,Gb
+                case 0xc1:                                        // XADD Ev,Gv
                         inp = xscan_rm(inp);
                         goto notrans;