This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/67531] FAIL: gfortran.dg/ieee/large_2.f90 -O0 execution test
- From: "pthaugen at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 10 Sep 2015 21:31:35 +0000
- Subject: [Bug fortran/67531] FAIL: gfortran.dg/ieee/large_2.f90 -O0 execution test
- Auto-submitted: auto-generated
- References: <bug-67531-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67531
--- Comment #2 from Pat Haugen <pthaugen at gcc dot gnu.org> ---
(In reply to Francois-Xavier Coudert from comment #1)
> Thanks for the report. So apparently, on powerpc64le-unknown-linux-gnu, long
> double division of 1.0L by 3.0L with rounding mode set to "down" is
> incorrect.
>
> Can you compile and run the following C test case?
>
> $ cat z.c
> #include <fenv.h>
> #include <stdio.h>
>
> int main (void)
> {
> long double x1, x2, x;
>
> fesetround (FE_UPWARD);
> x1 = 1;
> x = 3;
> x1 = x1 / x;
>
> fesetround (FE_DOWNWARD);
> x2 = 1;
> x = 3;
> x2 = x2 / x;
>
> printf ("%.40Lg\n", x1);
> printf ("%.40Lg\n", x2);
> }
> $ gcc z.c -lm && ./a.out
> 0.3333333333333333333423683514373792036167
> 0.3333333333333333333152632971252415927665
>
>
> Above is the result on x86_64-linux, so the outcome shouldn't be identical,
> but the two numbers output should not be equal.
pthaugen@genoa:~$ ~/install/gcc/trunk/bin/gcc z.c -lm && ./a.out
0.3333333333333333333333333333333353876586
0.3333333333333333333333333333333292246827