aboutsummaryrefslogtreecommitdiffstats
path: root/target-arm/nwfpe/double_cpdo.c
diff options
context:
space:
mode:
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 f1738eac0..c44d3fc58 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;