Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: gcc-mirror/gcc
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 7bab964916314efb6dd1f54828f9332ee412f682
Choose a base ref
..
head repository: gcc-mirror/gcc
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 3393fcce1e6b18e580b712c0855bba13fb622531
Choose a head ref
Showing with 7 additions and 2 deletions.
  1. +7 −2 libgcc/config/m68k/fpgnulib.c
9 changes: 7 additions & 2 deletions libgcc/config/m68k/fpgnulib.c
Original file line number Diff line number Diff line change
@@ -449,6 +449,7 @@ __extenddfxf2 (double d)

exp = EXPD (dl) - EXCESSD + EXCESSX;
dl.l.upper &= MANTDMASK;
ldl.l.middle = HIDDENX;

/* Recover from a denorm. */
if (exp == -EXCESSD + EXCESSX)
@@ -464,10 +465,14 @@ __extenddfxf2 (double d)

/* Handle inf and NaN */
else if (exp == EXPDMASK - EXCESSD + EXCESSX)
exp = EXPXMASK;
{
exp = EXPXMASK;
/* No hidden one bit for INF */
if (dl.l.upper == 0 && dl.l.lower == 0)
ldl.l.middle = 0;
}

ldl.l.upper |= exp << 16;
ldl.l.middle = HIDDENX;
/* 31-20: # mantissa bits in ldl.l.middle - # mantissa bits in dl.l.upper */
ldl.l.middle |= (dl.l.upper & MANTDMASK) << (31 - 20);
/* 1+20: explicit-integer-bit + # mantissa bits in dl.l.upper */