]> git.proxmox.com Git - mirror_qemu.git/commitdiff
cwde and cdq fix in 64 bit mode
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 1 Feb 2007 22:11:07 +0000 (22:11 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 1 Feb 2007 22:11:07 +0000 (22:11 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2373 c046a42c-6fe2-441c-8c8c-71466251a162

target-i386/op.c

index 7c20f524fe28dd6390517dbb60aa9b16e518d903..a8cfce271b53869f9db104a1598a72624e5cb252 100644 (file)
@@ -788,7 +788,7 @@ void OPPROTO op_movzwl_T0_T0(void)
 
 void OPPROTO op_movswl_EAX_AX(void)
 {
-    EAX = (int16_t)EAX;
+    EAX = (uint32_t)((int16_t)EAX);
 }
 
 #ifdef TARGET_X86_64
@@ -810,7 +810,7 @@ void OPPROTO op_movsbw_AX_AL(void)
 
 void OPPROTO op_movslq_EDX_EAX(void)
 {
-    EDX = (int32_t)EAX >> 31;
+    EDX = (uint32_t)((int32_t)EAX >> 31);
 }
 
 void OPPROTO op_movswl_DX_AX(void)