Deleted Added
full compact
47c47
< __FBSDID("$FreeBSD: head/lib/libc/sparc64/fpu/fpu_explode.c 95587 2002-04-27 21:56:28Z jake $");
---
> __FBSDID("$FreeBSD: head/lib/libc/sparc64/fpu/fpu_explode.c 96422 2002-05-11 21:20:05Z jake $");
251,252c251,252
< u_int s;
< u_int64_t l;
---
> u_int32_t s, *sp;
> u_int64_t l[2];
254,256c254,261
< l = __fpu_getreg64(reg & ~1);
< s = __fpu_getreg(reg);
< fp->fp_sign = s >> 31;
---
> if (type == FTYPE_LNG || type == FTYPE_DBL || type == FTYPE_EXT) {
> l[0] = __fpu_getreg64(reg & ~1);
> sp = (u_int32_t *)l;
> fp->fp_sign = sp[0] >> 31;
> } else {
> s = __fpu_getreg(reg);
> fp->fp_sign = s >> 31;
> }
260c265
< s = __fpu_xtof(fp, l);
---
> s = __fpu_xtof(fp, l[0]);
272c277
< s = __fpu_dtof(fp, s, __fpu_getreg(reg + 1));
---
> s = __fpu_dtof(fp, sp[0], sp[1]);
276,278c281,282
< s = __fpu_qtof(fp, s, __fpu_getreg(reg + 1),
< __fpu_getreg(reg + 2),
< __fpu_getreg(reg + 3));
---
> l[1] = __fpu_getreg64((reg & ~1) + 2);
> s = __fpu_qtof(fp, sp[0], sp[1], sp[2], sp[3]);