GNU Compiler Collection 4.3: greater precision and improved performance
The GCC team has released Version 4.3.0 of its GNU Compiler Collection. It integrates the MPFR (multiple-precision floating-point computations with correct rounding) library, with mathematical functions to any precision. This is claimed to permit GCC to replace function calls having constant arguments with their mathematically equivalent results. Optimizations are already possible at compile-time, regardless of the math library implementation or floating point precision of the host platform.
GCC 4.3 is also claimed to be able to generate optimized code for Intel's Core 2 and AMD's Geode processors as well as taking account of the SSE3 and SSE4 (4.1 and 4.2) instruction set extensions. On top of that, it supports the SPUs (Synergistic Processor Units) of the Cell Broadband Engine known from Sony's Playstation 3.
The C++ standard library (libstdc++) has been given new classes for parallel data processing, such as
std::sort. Of course the containers, such as
set, also had to be parallelised.
The developers have also incorporated parts of the future ISO C++ standard, C++0x, into the standard library, such as regular expressions and special computed functions, for example the Riemann zeta function, Bessel functions and Laguerre and Legendre polynomials.
The C++ front end has been endowed with the static assertions proposed for C++0x. These are assertions that are already evaluated at compile-time, enabling, for example, template parameters to be checked for permissibility. This can not be done with current assertions since they don't take effect until run-time. From the C99 standard, the GCC developers have taken the
long long data type over into C++. The details of the changes and innovations are listed in the change log.
GCC 4.3 is available for download from several FTP mirror servers.