This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran 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]

Re: [fortran, patch] IEEE intrinsic modules (ping)


I meant to look this over this weekend.  Unfortnately, baseball
and soccer (both daughter and USA vs Portugal) got in the way.
First issue, 

cd gcc4x
patch < ieee_withregenerated_2.diff
...
--------------------------
|Index: configure.host
|===================================================================
|--- configure.host     (revision 211688)
|+++ configure.host     (working copy)
--------------------------
File to patch: libgfortran/configure.host
Patching file libgfortran/configure.host using Plan A...
patch: **** malformed patch at line 939: then

As I don't have a top-level configure.host, I guessed that
libgfortran/configure.host was the right file.

All other parts of the patch applied cleanly.

-- 
steve

On Mon, Jun 23, 2014 at 10:39:30AM +0200, FX wrote:
> ping*2
> 
> I understand the size of the patch can be somewhat off-putting, but given its nature it?s rather hard to split it further. Moreover, apart from the OS-specific bits on the library side, it?s not very difficult. If it is hard for anyone to find time to review it in full, may I suggest that it be given a lighter review before commit? then while it gets some real exposure from users/testers, further review can be performed.
> 
> FX
> 
> 
> 
> 
> > ping for the IEEE patch.
> > 
> > Since last time, I incorporated Uros? comments on the libgfortran/config/fpu-387.h part, and add some documentation to the manual (list of supported targets, and required compilation flags for full IEE support).
> > 
> > OK to commit?
> > I?d really like to get this into trunk, so it can get some exposure to iron it out?
> > 
> > FX
> > 
> > 
> > 
> >> Hi,
> >> 
> >> Last November, I worked on a patch to add the IEEE intrinsic modules to gfortran (thread starting at 
> >> https://gcc.gnu.org/ml/fortran/2013-11/msg00126.html
> >> ). After a round of review, I continued working on it, then didn?t have time, then development was frozen? Now, I found some time to get back to it, and here?s a more complete patch. I?ve bootstrapped it and regtested on:
> >> 
> >>  ? x86_64-linux (both 32-bit and 64-bit); this also uses 387/SSE assembler
> >>  ? x86_64-linux with tweaked configure.host to force it to use glibc functions in config/fpu-glibc.h (both 32-bit and 64-bit)
> >> 
> >> The current state of the patch: as far as I can tell, nearly full support. In particular, since my last patch, I?ve added ?saving/restoring FPU state on procedure entry/exit, when IEEE is used?. This is done in trans-decl.c, by wrapping each affected function body between calls to the library:
> >> 
> >>  try
> >>    {
> >>      _gfortran_ieee_procedure_entry ((void *) &fpstate.0);
> >>      /* procedure body goes here */
> >>    }
> >>  finally
> >>    {
> >>      _gfortran_ieee_procedure_exit ((void *) &fpstate.0);
> >>    }
> >> 
> >> 
> >> 
> >> What?s missing:
> >> 
> >>  0. Gradual underflow control is implemented as "not supported by the processor" (its SUPPORT function returns false, and the GET and SET procedures abort if you call them). That?s explicitly allowed by the standard, so it?s not actually ?missing". We can improve on this in the future, if people can help.
> >> 
> >>  1. Documenting the flags necessary for full IEEE compatibility: it seems that "-fno-unsafe-math-optimizations -frounding-math -fsignaling-nans? is good, but I?ll have to check that with the floating-point middle-end experts. That?s next on my list: documenting our support, and interaction with compilation flags.
> >> 
> >>  2. Your review of the patch!
> >> 
> >> 
> >> I really think getting IEEE support early in stage 1 will benefit the compiler, through good testing before release. I?d like to get this in, but I don?t intend to disappear afterwards? though I?m not stepping back ?full time? into the team, I will be there to fix IEEE bugs and issues.
> >> 
> >> OK to commit?
> >> 
> >> FX
> 
> 





-- 
Steve


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