From Open64 Wiki
Major Changes in the Open64 5.0 Release
o Added configure options to allow disabling of IPA or shared library support. o Added support for VCG graphs for procedure CFGs. o Addressed various C standard compliant problems related to "volatile". o Improved debugging by allowing the allocation of stack space for unused variables during -g compilation. o Added triaging support for field sensitive alias analysis. o Implemented ZDL (Zero-Delay-Loop) feature for DSP. o Extended intrinsic support for IA64.
o Enabled more if-conversion. o Enabled CFLOW optimization within EH regions. o Avoided creating unnecessary region exit blocks. o Extended proactive loop optimizations. o Added inlining support for field sensitive alias analysis. o Implemented multi-target function pointer inlining. o Improved -O3 floating point performance. o Added frame-pointer optimization. o Improved optimization for structures: - avoided unnecessary structure copies; - added copy-in/copy-out optimization. o Improved vectorization: - introduced an object-oriented framework for SIMD expressions; - more vectoriable operators; - loops with small trip count; - reduced vectorization overhead; - eliminated unnecessary remainder loops; - if statement vectorization; - code motion of vectorizable loop to innermost position. o Improved optimization for C++ programs: - multi-target icall promotion; - devirtualization with overridden map.
Code generation/architecture support:
o Improved SIB (Scaled-Index-Base) addressing mode code generation. o Improved support and code generation for SSE 4.x, AVX, and FMA instructions. o Improved register pressure based scheduling. o Added interior pointer optimization. o Improve padding and code alignment of basic blocks. o Implemented best fit loop unrolling algorithm. o Added comprehensive support and tuning for the Bulldozer processor.
The following two features are now officially deprecated:
1. gcc 3.x frontend support 2. IRIX support
They will no longer be supported after this release.