This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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: [PATCH] gfortran -- Map REAL128 to REAL kind type with widest precision


On Thu, Feb 09, 2017 at 12:10:02PM +0200, Janne Blomqvist wrote:
> 
> That being said, I think even with Steve's patch, it's not guaranteed
> to give you IEEE 754-2008 binary128. E.g. on IBM POWER targets,
> depending on the ABI you may get an IBM extended double (double-double
> or __ibm128) format. Although if IEEE binary128 is also available,
> with Steve's patch you should get that one has it has more precision
> that __ibm128.

I do not have to a IBM POWER system, so cannot easily check the 
effect of my patch.  I, however, suspect that it has no effect,
because IBM POWER probably only supports REAL(4), REAL(8), and
REAL(16).  REAL(16) can have either double-double or IEEE-754
semantics, but not both.


> >>  - Is this appropriate for stage 4?
> >>
> > Now  that you remind of it, if we take the rules to the letter, no.
> > My opinion is that it should be accepted, in stage 4 or later.
> > But I don’t have a strong opinion about it either.
> 
> I think it's Ok, the patch is quite small and unlikely to cause
> regressions. In particular since the ABI has already been bumped, now
> is a good time to piggyback other ABI changing stuff.
> 
> Steve, please don't revert, but add a note to gcc-7/changes.html and
> the GFortran wiki.

I may have had acces to the wiki at some point, but no longer can
login.  For the gcc-7/changes.html, is the attached diff ok?  Gerald,
is there a ChangeLog for wwwdocs/?

-- 
Steve
20161221 https://www.youtube.com/watch?v=IbCHE-hONow
Index: htdocs/gcc-7/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-7/changes.html,v
retrieving revision 1.63
diff -c -p -r1.63 changes.html
*** htdocs/gcc-7/changes.html	7 Feb 2017 06:31:00 -0000	1.63
--- htdocs/gcc-7/changes.html	9 Feb 2017 18:26:35 -0000
*************** Fortran runtime error: Loop iterates inf
*** 747,752 ****
--- 747,765 ----
    <li>Improved submodule support.</li>
    
    <li>Improved diagnostics (polymorphic results in pure functions).</li>
+ 
+   <li><p>If more than one <code>REAL</code> type satified the storage
+       requirements for the ISO_FORTRAN_ENV <code>REAL128</code> entity,
+       prior versions of gfortran selected the <code>REAL</code> type
+       with narrowest precision.  Gfortran now selects the <code>REAL</code>
+       type with the widest precision.</p>
+ 
+       <p>On x86-64 class hardware, older versions of gfortran typically mapped
+       <code>REAL128</code> to <code>REAL(10)</code> except some options
+       (e.g., <code>-m96bit-long-double</code>) can cause it to be mapped to
+       <code>REAL(16)</code>.  Now, <code>REAL128</code> is consistently 
+       mapped to <code>REAL(16)</code>.</p>
+   </li>
  </ul>
  
  <!-- <h3 id="go">Go</h3> -->

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