Show Your Support: This site is primarily supported by advertisements. Ads are what have allowed this site to be maintained on a daily basis for the past 18+ years. We do our best to ensure only clean, relevant ads are shown, when any nasty ads are detected, we work to remove them ASAP. If you would like to view the site without ads while still supporting our work, please consider our ad-free Phoronix Premium.
Open64 5.0 Compiler Released w/ New Features
Open64 may not be as common as GCC -- or these days as popular as LLVM/Clang -- but it's been around for a decade and is still seeing new adoption and is playing important roles within AMD, NVIDIA, Hewlett-Packard, and many research organizations. The Open64 5.0 release announcement describes the major changes in this new version as offering performance improvements, new optimizations, infrastructure changes, and bug-fixes. Open64 is officially supported on i386, x86_64, and IA-64 architectures.
At a lower level, some of the specific changes I've spotted in Open64 5.0 worth pointing out includes extended intrinsic support for IA-64, improved -O3 floating point performance, improved vectorization, extended proactive loop optimizations, frame-pointer optimizations, and several other compiler optimizations. There's also improved support for code generation for SSE4, AVX, and FMA instruction sets. This will benefit the AMD Bulldozer CPUs such as the AMD FX-8150.
Other items in Open64 5.0 include "comprehensive support and tuning for the Bulldozer processor", improved register pressure-based scheduling, and a best-fit loop unrolling algorithm. The GCC3 front-end has also been deprecated along with the IRIX support, which will be gutted out after this 5.0 release.
For those that may be wondering why use Open64 over GCC, for certain cases the binaries produced by Open64 can be faster than the GNU Compiler Collection. Most of the performance improvements are for AMD hardware. AMD also maintains their branch of the Open64 compiler, which will likely be updated to version 5.0 in the near future. Open64 is also GPLv2 licensed where as GCC is with the GPLv3, which has upset some companies that otherwise like the de facto GNU compiler.
Recently I carried out some GCC, LLVM/Clang, and Open64 compiler benchmarks and Open64 compiler tuning for Bulldozer, but with the 5.0 release of Open64, new benchmarks from Bulldozer and other processors will be on my agenda.
The Open64 5.0 release comes just weeks after the Bulldozer launch and at a time when GCC 4.7 is under active development with a planned release in March or April. The Apple crew is also preparing to release LLVM/Clang 3.0 next week, which also offers up many improvements and has already been the focus of several articles.
Here is the Open64 5.0 release announcement, but it's not really useful, so if you want to grab this new open-source compiler release just drop by Open64.net.
While downloading Open64 5.0, be sure to check out the 14-way NVIDIA vs. Nouveau driver and hardware comparison.