aboutsummaryrefslogtreecommitdiffstats
path: root/target-ppc/op.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-04-26 19:48:05 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-04-26 19:48:05 +0000
commit1ef59d0acf7c71e9b863bff904ceac74ce9bd107 (patch)
treeb30d2c5559af20a46f31001190fbca5d0bc38c3a /target-ppc/op.c
parent7fd7b91fac396fcc3d72ecadbcb49f5736755d23 (diff)
ppc fixes (Jocelyn Mayer)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@765 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-ppc/op.c')
-rw-r--r--target-ppc/op.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/target-ppc/op.c b/target-ppc/op.c
index 12c92891c..de7e24735 100644
--- a/target-ppc/op.c
+++ b/target-ppc/op.c
@@ -1368,28 +1368,32 @@ PPC_OP(fmsubs)
/* fnmadd - fnmadd. - fnmadds - fnmadds. */
PPC_OP(fnmadd)
{
- FT0 = -((FT0 * FT1) + FT2);
+ FT0 *= FT1;
+ FT0 += FT2;
+ FT0 = -FT0;
RETURN();
}
/* fnmadds - fnmadds. */
PPC_OP(fnmadds)
{
- FTS0 = -((FTS0 * FTS1) + FTS2);
+ do_fnmadds();
RETURN();
}
/* fnmsub - fnmsub. */
PPC_OP(fnmsub)
{
- FT0 = -((FT0 * FT1) - FT2);
+ FT0 *= FT1;
+ FT0 -= FT2;
+ FT0 = -FT0;
RETURN();
}
/* fnmsubs - fnmsubs. */
PPC_OP(fnmsubs)
{
- FTS0 = -((FTS0 * FTS1) - FTS2);
+ do_fnmsubs();
RETURN();
}