diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/emu/x87emu_private.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/emu/x87emu_private.c b/src/emu/x87emu_private.c index 21090ce8..260a2be1 100644 --- a/src/emu/x87emu_private.c +++ b/src/emu/x87emu_private.c @@ -197,9 +197,9 @@ void D2LD(void* d, void* ld) if(exp80!=0){ mant80final |= 0x8000000000000000L; exp80final += (BIAS80 - BIAS64); - } else if(mant80final!=0) { - // denormals -> normal - exp80final = BIAS80-1023; + } else { + // denormals -> normal (the case of 0 has been dealt with already) + exp80final = BIAS80-BIAS64; int one = __builtin_clz(mant80final) + 1; exp80final -= one; mant80final<<=one; |