summaryrefslogtreecommitdiffstats
path: root/target-arm/nwfpe/double_cpdo.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-02-07 12:43:57 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-02-07 12:43:57 +0000
commita8d3431ae931aa44ee6228ffecf6277714389de7 (patch)
tree23a49bfa7b8189e0c72669bde4800fefe1857424 /target-arm/nwfpe/double_cpdo.c
parent7ff4d2180b27b3356379ca66738da10ad8b2f73a (diff)
downloadhqemu-a8d3431ae931aa44ee6228ffecf6277714389de7.zip
hqemu-a8d3431ae931aa44ee6228ffecf6277714389de7.tar.gz
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.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/target-arm/nwfpe/double_cpdo.c b/target-arm/nwfpe/double_cpdo.c
index f1738ea..c44d3fc 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;
OpenPOWER on IntegriCloud