At a glance - What's new for V10.1
XL C/C++ for AIX, V10.1 introduces the following new enhancements:
Additional optimization options and object code tuning to support the capabilities of the latest IBM POWER6 processor
Supports the OpenMP API Version 3.0 specification
Introduces partial support for the draft of the next C++ programming language standard, commonly referred to as C++0x
-qreport now contains information about how many streams are created for each loop
New –qstrict suboptions that allow more fine-grained control over the –qstrict option
Thread local storage support has been enhanced
Vector data types can now use some of the operators that can be used with base data types such as unary, binary and relational operators
For more information on these and other new enhancements to XL C/C++, see "What´s new for IBM XL C/C++ for AIX, V10.1".
Mathematical Acceleration Subsystem (MASS)
XL C/C++ for AIX adds new scalar and vector functions to the Mathematical Acceleration Subsystem (MASS). MASS consists of libraries of tuned mathematical intrinsic functions that offer improved performance over the standard mathematical library routines, are thread-safe and support both 32-bit and 64-bit compilations in C, C++, and Fortran applications.
OpenMP API Version 3.0
The OpenMP Application Programming Interface (API) is a portable, scalable programming model that provides a standard interface for developing multiplatform, shared-memory parallel applications in C, C++, and Fortran. The specification is defined by the OpenMP organization, a group of major computer hardware and software vendors, which includes IBM. XL C/C++ for AIX complies with the latest OpenMP API Version 3.0 specification.
Support for Vector Multimedia Extensions (VMX)
The compiler supports the AltiVec programming model and APIs on VMX-capable systems. You can take advantage of VMX instructions and automatic SIMD vectorization to improve program performance in high-bandwidth data processing and algorithmic-intensive applications.
IBM i (formerly known as i5/OS) PASE support
XL C/C++ for AIX continues to support IBM i on IBM Power Systems. IBM i provides a broad set of AIX interfaces in a runtime that allows many AIX binaries to execute directly on the PowerPC processors used in IBM Power Systems. An application running on IBM i is fully integrated with IBM i work management, security, backup, file systems and database.
Optimization and performance
XL C/C++ offers a number of new optimization and performance-tuning features that exploit all IBM Power Systems, including the latest POWER6 processors. The -qarch and -qtune compiler options include suboptions to provide code tuning for the POWER6. In addition, built-in functions were introduced in XL C/C++ for AIX, V9.0 to add functionality and to exploit the capabilities of the POWER6 processors.
Basic Linear Algebra Subprograms (BLAS)
A set of high-performance algebraic functions. You can use these functions to perform combined matrix multiplication and addition on general matrices or their transposes.
Conformance to industry language standards
XL C/C++ conforms to the 2003 C++ International Standard (ISO/IEC 14882:2003).
C++0x
C++0x is the working draft of the next C++ programming language standard. XL C/C++ for AIX, V10.1 supports the following C++0x features in this release:
A new language level for C++0x
New integer promotion rules for arithmetic conversions involving long long data types
Support of C99 preprocessor features in C++ for easier porting of code between C and C++
