diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2005-03-13 17:01:22 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2005-03-13 17:01:22 +0000 |
commit | 4ecc31906d7535c4ad88fcc63968bef412dd67ba (patch) | |
tree | 9a38e0726804d67f9458293a32daabf9e7f1d894 /target-ppc/op.c | |
parent | 4c2e770f377a2c38bb26c24e333b747511ddd040 (diff) |
fpu fixes (Jocelyn Mayer) - soft float support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1335 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-ppc/op.c')
-rw-r--r-- | target-ppc/op.c | 74 |
1 files changed, 5 insertions, 69 deletions
diff --git a/target-ppc/op.c b/target-ppc/op.c index 5accc55064..6ae7a523b5 100644 --- a/target-ppc/op.c +++ b/target-ppc/op.c @@ -32,10 +32,6 @@ #define FT1 (env->ft1) #define FT2 (env->ft2) -#define FTS0 ((float)env->ft0) -#define FTS1 ((float)env->ft1) -#define FTS2 ((float)env->ft2) - #define PPC_OP(name) void glue(op_, name)(void) #define REG 0 @@ -1204,13 +1200,6 @@ PPC_OP(fadd) RETURN(); } -/* fadds - fadds. */ -PPC_OP(fadds) -{ - FT0 = FTS0 + FTS1; - RETURN(); -} - /* fsub - fsub. */ PPC_OP(fsub) { @@ -1218,13 +1207,6 @@ PPC_OP(fsub) RETURN(); } -/* fsubs - fsubs. */ -PPC_OP(fsubs) -{ - FT0 = FTS0 - FTS1; - RETURN(); -} - /* fmul - fmul. */ PPC_OP(fmul) { @@ -1232,24 +1214,11 @@ PPC_OP(fmul) RETURN(); } -/* fmuls - fmuls. */ -PPC_OP(fmuls) -{ - FT0 = FTS0 * FTS1; - RETURN(); -} - /* fdiv - fdiv. */ +void do_fdiv (void); PPC_OP(fdiv) { - FT0 /= FT1; - RETURN(); -} - -/* fdivs - fdivs. */ -PPC_OP(fdivs) -{ - FT0 = FTS0 / FTS1; + do_fdiv(); RETURN(); } @@ -1260,13 +1229,6 @@ PPC_OP(fsqrt) RETURN(); } -/* fsqrts - fsqrts. */ -PPC_OP(fsqrts) -{ - do_fsqrts(); - RETURN(); -} - /* fres - fres. */ PPC_OP(fres) { @@ -1277,7 +1239,7 @@ PPC_OP(fres) /* frsqrte - frsqrte. */ PPC_OP(frsqrte) { - do_fsqrte(); + do_frsqrte(); RETURN(); } @@ -1296,13 +1258,6 @@ PPC_OP(fmadd) RETURN(); } -/* fmadds - fmadds. */ -PPC_OP(fmadds) -{ - FT0 = (FTS0 * FTS1) + FTS2; - RETURN(); -} - /* fmsub - fmsub. */ PPC_OP(fmsub) { @@ -1310,13 +1265,6 @@ PPC_OP(fmsub) RETURN(); } -/* fmsubs - fmsubs. */ -PPC_OP(fmsubs) -{ - FT0 = (FTS0 * FTS1) - FTS2; - RETURN(); -} - /* fnmadd - fnmadd. - fnmadds - fnmadds. */ PPC_OP(fnmadd) { @@ -1324,13 +1272,6 @@ PPC_OP(fnmadd) RETURN(); } -/* fnmadds - fnmadds. */ -PPC_OP(fnmadds) -{ - do_fnmadds(); - RETURN(); -} - /* fnmsub - fnmsub. */ PPC_OP(fnmsub) { @@ -1338,13 +1279,6 @@ PPC_OP(fnmsub) RETURN(); } -/* fnmsubs - fnmsubs. */ -PPC_OP(fnmsubs) -{ - do_fnmsubs(); - RETURN(); -} - /*** Floating-Point round & convert ***/ /* frsp - frsp. */ PPC_OP(frsp) @@ -1385,6 +1319,7 @@ PPC_OP(fcmpo) /*** Floating-point move ***/ /* fabs */ +void do_fabs (void); PPC_OP(fabs) { do_fabs(); @@ -1392,6 +1327,7 @@ PPC_OP(fabs) } /* fnabs */ +void do_fnabs (void); PPC_OP(fnabs) { do_fnabs(); |