diff options
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; |