imull fix (suggested by Robert J. Harley)
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 30 Nov 2003 19:40:08 +0000 (19:40 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 30 Nov 2003 19:40:08 +0000 (19:40 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@478 c046a42c-6fe2-441c-8c8c-71466251a162

target-arm/op.c

index 73f95b7..a27db00 100644 (file)
@@ -377,7 +377,7 @@ void OPPROTO op_mull_T0_T1(void)
 void OPPROTO op_imull_T0_T1(void)
 {
     uint64_t res;
-    res = (int64_t)T0 * (int64_t)T1;
+    res = (int64_t)((int32_t)T0) * (int64_t)((int32_t)T1);
     T1 = res >> 32;
     T0 = res;
 }