diff options
author | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-11-18 14:33:24 +0000 |
---|---|---|
committer | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-11-18 14:33:24 +0000 |
commit | f090c9d4ad5812fb92843d6470a1111c15190c4c (patch) | |
tree | d87c6a10eeefb28eb66dc88ebee02a92eabe2812 /target-arm | |
parent | b881c2c6e774d40b33980f00f830431deed9e896 (diff) |
Add strict checking mode for softfp code.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3688 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-arm')
-rw-r--r-- | target-arm/nwfpe/double_cpdo.c | 2 | ||||
-rw-r--r-- | target-arm/nwfpe/single_cpdo.c | 8 |
2 files changed, 4 insertions, 6 deletions
diff --git a/target-arm/nwfpe/double_cpdo.c b/target-arm/nwfpe/double_cpdo.c index dbd496ea67..b5320c82a3 100644 --- a/target-arm/nwfpe/double_cpdo.c +++ b/target-arm/nwfpe/double_cpdo.c @@ -38,7 +38,7 @@ float64 float64_pol(float64 rFn,float64 rFm); unsigned int DoubleCPDO(const unsigned int opcode) { FPA11 *fpa11 = GET_FPA11(); - float64 rFm, rFn = 0; + float64 rFm, rFn = float64_zero; unsigned int Fd, Fm, Fn, nRc = 1; //printk("DoubleCPDO(0x%08x)\n",opcode); diff --git a/target-arm/nwfpe/single_cpdo.c b/target-arm/nwfpe/single_cpdo.c index 1482f47120..65043bcb31 100644 --- a/target-arm/nwfpe/single_cpdo.c +++ b/target-arm/nwfpe/single_cpdo.c @@ -38,7 +38,7 @@ float32 float32_pol(float32 rFn,float32 rFm); unsigned int SingleCPDO(const unsigned int opcode) { FPA11 *fpa11 = GET_FPA11(); - float32 rFm, rFn = 0; + float32 rFm, rFn = float32_zero; unsigned int Fd, Fm, Fn, nRc = 1; Fm = getFm(opcode); @@ -128,13 +128,11 @@ unsigned int SingleCPDO(const unsigned int opcode) break; case MNF_CODE: - rFm ^= 0x80000000; - fpa11->fpreg[Fd].fSingle = rFm; + fpa11->fpreg[Fd].fSingle = float32_chs(rFm); break; case ABS_CODE: - rFm &= 0x7fffffff; - fpa11->fpreg[Fd].fSingle = rFm; + fpa11->fpreg[Fd].fSingle = float32_abs(rFm); break; case RND_CODE: |