[Bug fortran/67531] No IEEE rounding support for powerpc long double type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67531 Richard Biener changed: What|Removed |Added Status|NEW |ASSIGNED
[Bug fortran/67531] No IEEE rounding support for powerpc long double type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67531 --- Comment #9 from Uroš Bizjak --- (In reply to David Edelsohn from comment #7) > What progress do you expect? IBM long double does not support non-default > rounding. This will be fixed when PPC64LE long double defaults to IEEE 128 > bit floating point. ieee_arithmetic.F90 can be enhanced to pass "kind" argument to support_fpu_rounding_mode, so it would be defined in fpu-glibc.h as: int support_fpu_rounding_mode (int mode, int kind) Using some #ifdeffery (involving __powerpc__ and __float128), the function could return 0 for unsupported kinds. Please see how underflow control is handled in fpu-glibc.h for alpha, where target supports underflow control only for 32bit and 64bit hardware floats, not for 128bit soft-fp floats.
[Bug fortran/67531] No IEEE rounding support for powerpc long double type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67531 --- Comment #8 from Martin Liška --- (In reply to David Edelsohn from comment #7) > What progress do you expect? IBM long double does not support non-default > rounding. This will be fixed when PPC64LE long double defaults to IEEE 128 > bit floating point. I was asking whether the test should be markes as xfail on the target? Or run conditionally on targets that do support non-default modes.
[Bug fortran/67531] No IEEE rounding support for powerpc long double type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67531 --- Comment #7 from David Edelsohn --- What progress do you expect? IBM long double does not support non-default rounding. This will be fixed when PPC64LE long double defaults to IEEE 128 bit floating point.
[Bug fortran/67531] No IEEE rounding support for powerpc long double type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67531 Martin Liška changed: What|Removed |Added CC||marxin at gcc dot gnu.org --- Comment #6 from Martin Liška --- Any progress on that?
[Bug fortran/67531] No IEEE rounding support for powerpc long double type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67531 --- Comment #5 from Pat Haugen --- (In reply to Francois-Xavier Coudert from comment #3) > How about with this? I'm trying to come as close as possible to the exact > sequence of fe.etround() calls as the Fortran front-end and runtime library > would end up performing… > > > #include > #include > > int main (void) > { > int r; > long double x1, x2, x; > > x1 = 1; > x = 3; > r = fegetround (); > fesetround (FE_UPWARD); > x1 = x1 / x; > fesetround (r); > > x2 = 1; > x = 3; > r = fegetround (); > fesetround (FE_DOWNWARD); > x2 = x2 / x; > fesetround (r); > > printf ("%.40Lg\n", x1); > printf ("%.40Lg\n", x2); > } pthaugen@genoa:~$ ~/install/gcc/trunk/bin/gcc junk.c -lm && ./a.out 0.53876586 0.333292246828
[Bug fortran/67531] No IEEE rounding support for powerpc long double type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67531 Francois-Xavier Coudert changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2015-09-10 Assignee|unassigned at gcc dot gnu.org |fxcoudert at gcc dot gnu.org Summary|FAIL: |No IEEE rounding support |gfortran.dg/ieee/large_2.f9 |for powerpc long double |0 -O0 execution test |type Ever confirmed|0 |1