This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH]: Update news and gcc-4.3 changes for new MPFR stuff
- From: "Kaveh R. GHAZI" <ghazi at caip dot rutgers dot edu>
- To: Gerald Pfeifer <gerald at pfeifer dot com>
- Cc: jsm at polyomino dot org dot uk, gcc-patches at gcc dot gnu dot org
- Date: Sun, 7 Jan 2007 00:07:02 -0500 (EST)
- Subject: Re: [PATCH]: Update news and gcc-4.3 changes for new MPFR stuff
- References: <Pine.GSO.4.58.0612301038050.22285@caipclassic.rutgers.edu> <Pine.LNX.4.64.0701050109470.31555@acrux.dbai.tuwien.ac.at>
On Fri, 5 Jan 2007, Gerald Pfeifer wrote:
> On Sat, 30 Dec 2006, Kaveh R. GHAZI wrote:
> > This patch updates the web pages for news and gcc-4.3 changes to mention
> > the new MPFR/GMP requirements and the new optimizations they enable.
>
> Thanks for the patch!
> >
> > I'm not a web expert, so a little extra careful review would be much
> > appreciated.
>
> Sure, no problem.
> [...]
> Thanks for taking the time to describing these changes so well!
> [...]
> The patch is fine with those changes, or you can post a revised version
> and I will be happy to quickly have a look at that.
> Gerald
Here's what I installed, I think I got all your suggestions incorporated.
If there are any further refinements, please let me know and I'll add
them. Thanks for the review!
--Kaveh
Index: index.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/index.html,v
retrieving revision 1.590
diff -u -p -r1.590 index.html
--- index.html 5 Jan 2007 23:29:17 -0000 1.590
+++ index.html 7 Jan 2007 04:59:18 -0000
@@ -45,6 +45,15 @@ mission statement</a>.</p>
<dl class="news">
+<dt>January 6, 2007</dt>
+<dd>Kaveh Ghazi has integrated the GCC middle-end with the <a
+ href="http://www.mpfr.org/">MPFR</a> library, allowing more
+ effective <a href="gcc-4.3/changes.html#mpfropts">compile-time
+ optimizations</a>. As a result, this library and the <a
+ href="http://www.swox.com/gmp/">GMP</a> library are now <a
+ href="gcc-4.3/changes.html#mpfrcaveats">required to build
+ GCC</a>.</dd>
+
<dt>January 5, 2007</dt>
<dd><a href="http://gcc.gnu.org/wiki/mem-ssa">Memory SSA</a>, a new
representation for memory expressions in SSA form has been contributed
Index: gcc-4.3/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.3/changes.html,v
retrieving revision 1.16
diff -u -p -r1.16 changes.html
--- gcc-4.3/changes.html 4 Jan 2007 00:47:19 -0000 1.16
+++ gcc-4.3/changes.html 7 Jan 2007 04:59:18 -0000
@@ -13,10 +13,46 @@
<h2>Caveats</h2>
+ <ul>
+ <li id="mpfrcaveats">GCC requires the <a
+ href="http://www.swox.com/gmp/">GMP</a> and <a
+ href="http://www.mpfr.org/">MPFR</a> libraries for building all
+ the various front-end languages it supports. See the <a
+ href="http://gcc.gnu.org/install/prerequisites.html">prerequisites
+ page</a> for version requirements.</li>
+
+ </ul>
<h2>General Optimizer Improvements</h2>
<ul>
+ <li id="mpfropts">The GCC middle-end has been integrated with the
+ <a href="http://www.mpfr.org/">MPFR</a> library. This allows GCC
+ to evaluate and replace at compile-time calls to built-in math
+ functions having constant arguments with their mathematically
+ equivalent results. In making use of <a
+ href="http://www.mpfr.org/">MPFR</a>, GCC can generate correct
+ results regardless of the math library implementation or floating
+ point precision of the host platform. This also allows GCC to
+ generate identical results regardless of whether one compiles in
+ native or cross-compile configurations to a particular target.
+ The following built-in functions take advantage of this new
+ capability: <code>acos</code>, <code>acosh</code>,
+ <code>asin</code>, <code>asinh</code>, <code>atan</code>,
+ <code>atan2</code>, <code>atanh</code>, <code>cbrt</code>,
+ <code>cos</code>, <code>cosh</code>, <code>erf</code>,
+ <code>erfc</code>, <code>exp</code>, <code>exp10</code>,
+ <code>exp2</code>, <code>expm1</code>, <code>fma</code>,
+ <code>fmax</code>, <code>fmin</code>, <code>hypot</code>,
+ <code>log</code>, <code>log10</code>, <code>log1p</code>,
+ <code>log2</code>, <code>pow</code>, <code>pow10</code>,
+ <code>sin</code>, <code>sincos</code>, <code>sinh</code>,
+ <code>tan</code>, <code>tanh</code> and <code>tgamma</code>. The
+ <code>float</code> and <code>long double</code> variants of these
+ functions (e.g. <code>sinf</code> and <code>sinl</code>) are also
+ handled. (The <code>sqrt</code> and related functions were
+ already optimized in prior GCC releases.) </li>
+
<li>A new <em>forward propagation</em> pass on RTL was added. The new pass
replaces several slower transformations, resulting in compile-time
improvements as well as better code generation in some cases.</li>
@@ -75,6 +111,13 @@
<h3>Fortran</h3>
<ul>
+
+ <li>Due to the fact that the <a
+ href="http://www.swox.com/gmp/">GMP</a> and <a
+ href="http://www.mpfr.org/">MPFR</a> libraries are required for
+ all languages, Fortran is no longer special in this regard and is
+ available by default.</li>
+
<li>The <code>
<a href="http://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html#Code-Gen-Options"
>-fexternal-blas</a></code> option has been added, which