]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
JIT: revert some changes in duplicate_carry / restore_carry
authorFrode Solheim <frode@fs-uae.net>
Thu, 10 Sep 2015 19:42:00 +0000 (21:42 +0200)
committerFrode Solheim <frode@fs-uae.net>
Thu, 17 Sep 2015 17:18:09 +0000 (19:18 +0200)
jit/compemu_midfunc_x86.cpp
jit/gencomp.cpp

index e184a30d56abe1923c327e8eaa45790be650dd07..21610fab6a384354a42b37b8df3f4c7145849c39 100644 (file)
@@ -74,7 +74,11 @@ MIDFUNC(0,duplicate_carry,(void))
 {
        evict(FLAGX);
        make_flags_live_internal();
-       COMPCALL(setcc_m)((uintptr)live.state[FLAGX].mem,NATIVE_CC_CS);
+#ifdef UAE
+       COMPCALL(setcc_m)((uintptr)live.state[FLAGX].mem + 1, NATIVE_CC_CS);
+#else
+       COMPCALL(setcc_m)((uintptr)live.state[FLAGX].mem, NATIVE_CC_CS);
+#endif
        log_vwrite(FLAGX);
 }
 MENDFUNC(0,duplicate_carry,(void))
@@ -82,12 +86,20 @@ MENDFUNC(0,duplicate_carry,(void))
 MIDFUNC(0,restore_carry,(void))
 {
        if (!have_rat_stall) { /* Not a P6 core, i.e. no partial stalls */
-               bt_l_ri_noclobber(FLAGX,0);
+#ifdef UAE
+               bt_l_ri_noclobber(FLAGX, 8);
+#else
+               bt_l_ri_noclobber(FLAGX, 0);
+#endif
        }
        else {  /* Avoid the stall the above creates.
                   This is slow on non-P6, though.
                */
-               COMPCALL(rol_b_ri(FLAGX,8));
+#ifdef UAE
+               COMPCALL(rol_w_ri(FLAGX, 8));
+#else
+               COMPCALL(rol_b_ri(FLAGX, 8));
+#endif
                isclean(FLAGX);
        }
 }
index abd7a0759d611c9a04a72c15bf146865d44cfff6..98711839c4cd46a19f604daa660b5cbd9bc2fb55 100644 (file)
@@ -89,9 +89,6 @@
 #define DISABLE_I_MOVE16
 */
 
-#define DISABLE_I_LSL
-#define DISABLE_I_LSR
-
 #ifdef CPU_x86_64
 #define DISABLE_I_FPP
 #endif