diff options
author | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-10-01 21:45:18 +0000 |
---|---|---|
committer | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-10-01 21:45:18 +0000 |
commit | 5bf06a9528698aa426a32f16e1ae3098b0239d63 (patch) | |
tree | 9796879b8b8e4271f4115513b6940e96151bebd6 /target-ppc/op.c | |
parent | 66029f6a2f717873f2d170681f0250801a6d0d39 (diff) |
target-ppc: fix mullw/mullwo
Based on patch by Julian Seward.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5379 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-ppc/op.c')
-rw-r--r-- | target-ppc/op.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/target-ppc/op.c b/target-ppc/op.c index 64166595cf..4ab0f00433 100644 --- a/target-ppc/op.c +++ b/target-ppc/op.c @@ -798,7 +798,11 @@ void OPPROTO op_mulli (void) /* multiply low word */ void OPPROTO op_mullw (void) { +#if defined(TARGET_PPC64) + T0 = (int64_t)(int32_t)T0 * (int64_t)(int32_t)T1; +#else T0 = (int32_t)(T0 * T1); +#endif RETURN(); } |