diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2005-02-07 12:43:57 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2005-02-07 12:43:57 +0000 |
commit | a8d3431ae931aa44ee6228ffecf6277714389de7 (patch) | |
tree | 23a49bfa7b8189e0c72669bde4800fefe1857424 /target-arm/nwfpe/double_cpdo.c | |
parent | 7ff4d2180b27b3356379ca66738da10ad8b2f73a (diff) |
endianness fixes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1268 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-arm/nwfpe/double_cpdo.c')
-rw-r--r-- | target-arm/nwfpe/double_cpdo.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/target-arm/nwfpe/double_cpdo.c b/target-arm/nwfpe/double_cpdo.c index f1738eac0d..c44d3fc58e 100644 --- a/target-arm/nwfpe/double_cpdo.c +++ b/target-arm/nwfpe/double_cpdo.c @@ -150,7 +150,11 @@ unsigned int DoubleCPDO(const unsigned int opcode) case MNF_CODE: { unsigned int *p = (unsigned int*)&rFm; +#ifdef WORDS_BIGENDIAN + p[0] ^= 0x80000000; +#else p[1] ^= 0x80000000; +#endif fpa11->fpreg[Fd].fDouble = rFm; } break; @@ -158,7 +162,11 @@ unsigned int DoubleCPDO(const unsigned int opcode) case ABS_CODE: { unsigned int *p = (unsigned int*)&rFm; +#ifdef WORDS_BIGENDIAN + p[0] &= 0x7fffffff; +#else p[1] &= 0x7fffffff; +#endif fpa11->fpreg[Fd].fDouble = rFm; } break; |