This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug ports/2749] powerpc32 does not build --without-fp


------- Additional Comments From sjmunroe at us dot ibm dot com  2006-09-15 19:46 -------
>Note that the soft-fp fix must be accepted for glibc mainline before it 
>can go in libgcc's copy, as per FSF policies.
Yes thats next.

>For the fmsub implementation, you do FP_PACK_SEMIRAW_Q between the 
>subtraction and the truncation.  This is not correct since it can lead to 
>double rounding (first the value is rounded to a quad value exactly half 
>way between two double values, then it gets rounded to a double value that 
>wasn't the closest to the infinite-precision result).  The truncation 
>needs to be done on the output of the subtraction with sticky bits still 
>in place, not on the rounded result.

We tried this orginally but we found that FP_SUB_Q/FP_MUL_Q can leave extranious
bits in high order bits of the expanded mantisa (word[3]). This can cause errors
down stream, so we added to full pack/unpack between stages. 

To remove the:

+    FP_PACK_SEMIRAW_Q(v,V);
+    FP_UNPACK_SEMIRAW_Q(V,v);

sequence we will need explicitely clear the high order 16 bits of V_f[3]. But
this is not a glibc issue and should not delay the acceptance of soft-fp fixes.

>I think the bulk of the fmsub implementation should go in a macro in 
>op-common.h, that could be used to implement the standard fma and fmaf 
>library functions.

First, lets keep it simple and get long double working. Then since this is you
proposal, are you voluteering to implement it ;-)

-- 


http://sourceware.org/bugzilla/show_bug.cgi?id=2749

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]