]> git.proxmox.com Git - mirror_qemu.git/commitdiff
fixed potential exception pb on cmpxchg
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 18 Jan 2004 21:44:40 +0000 (21:44 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 18 Jan 2004 21:44:40 +0000 (21:44 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@552 c046a42c-6fe2-441c-8c8c-71466251a162

target-i386/ops_template_mem.h

index 1b83536c9fb22fcbd5f7f430d53ea758274d1cf8..ea73c96caa39e421593644174c91c4e821589da2 100644 (file)
@@ -442,12 +442,12 @@ void OPPROTO glue(glue(op_cmpxchg, MEM_SUFFIX), _T0_T1_EAX_cc)(void)
     dst = EAX - T0;
     if ((DATA_TYPE)dst == 0) {
         T0 = T1;
+#ifdef MEM_WRITE
+        glue(st, MEM_SUFFIX)((uint8_t *)A0, T0);
+#endif
     } else {
         EAX = (EAX & ~DATA_MASK) | (T0 & DATA_MASK);
     }
-#ifdef MEM_WRITE
-    glue(st, MEM_SUFFIX)((uint8_t *)A0, T0);
-#endif
     CC_SRC = src;
     CC_DST = dst;
     FORCE_RET();