This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libfortran/41335] VOLATILE in Fortran does not take effect
- From: "sgk at troutmask dot apl dot washington dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 11 Sep 2009 20:26:14 -0000
- Subject: [Bug libfortran/41335] VOLATILE in Fortran does not take effect
- References: <bug-41335-18178@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #13 from sgk at troutmask dot apl dot washington dot edu 2009-09-11 20:26 -------
Subject: Re: VOLATILE in Fortran does not take effect
>
> What is your hardware? x86 or something else?
Opteron.
> I have Atlon 2000 MP and Intel Quad and on both of these systems I get
> differences in output for "real" and "double precision".
>
> What I can do to prove that I do have differences and what to do to find out
> why?
>
Have you tried -ffloat-store? This should save/load a FPU register
after every operation.
There is the -fpmath= option, but I'm not sure which switches
are appropriate for your cpu. There is also the -msse set of
options.
To find out why you have differences, print out intermediate values
to 16 and 7 significant figures for real and double precision. It
may also be helpful to read Goldberg's paper if you haven't (see
the gfortran wiki, manuals section).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41335