Skip to main content

At a glance - What's new for V10.1

XL C for AIX, V10.1 introduces the following new enhancements:

Conformance to industry language standards

The C and the C++ compilers conform to the latest ISO/IEC International Standards. The C compiler supports the latest ISO C 1999 (International Standard ISO/IEC 9899:1999) standard, also known as C99. The C99 standard offers a number of additional language functions to promote portability of C programs, including:

Support for GNU C Extensions

GCC is an open-source compiler collection for C, C++, Fortran, and other languages. In order to help with porting of code that was originally written for GCC, a subset of features related to GNU C is supported by XL C. Other GNU compiler features are recognized (accepted and ignored). This will help you minimize the number of changes that you need to make to your GCC source code to ensure that it compiles successfully with XL C. A subset of the GNU C language extensions is enabled with the -qlanglvl=extended option, which is the default language level.

Ease of porting

XL C include features that help you port existing code from AIX or other UNIX-based systems, as well as from code originally written for GNU C. For example, by compiling with the -qinfo=por option, you can filter the diagnostic messages emitted by the compiler to show only those that pertain to portability issues.

Compiler optimizations

XL C features IBM's best compiler optimization technology. Compiler options, directives, and pragmas offer programmers a number of ways to optimize their code. By using the -O2, -O3, -O4, and -O5 options, you can obtain optimization levels that run from comprehensive low-level optimizations to more extensive optimizations that include interprocedural analysis (IPA), loop optimization, and automatic machine tuning. Other options for optimization include:

Optimizations exploiting recent processor architectures

The -qarch and -qtune suboptions let you instruct the compiler to generate code optimized for a range of IBM Power System servers supporting POWER, PowerPC architectures including POWER6 processor-based Power servers and IBM BladeCenter servers. These compiler options adjust the instructions, scheduling, and other optimizations to give the best performance for a specified target processor or range of processors.

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.

Mathematical Acceleration Subsystem (MASS)

XL C for AIX includes 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.

Basic Linear Algebra Subprograms (BLAS)

XL C for AIX also includes the Basic Linear Algebra Subprograms (BLAS) set of high-performance algebraic functions. You can use these functions to perform combined matrix multiplication and addition on general matrices or their transposes.

SMP Thread Binding

Shared memory parallelization (SMP) is implemented by creating user threads that are scheduled to run on kernel threads by the operating system. Currently, the AIX operating system takes care of scheduling of a thread. With the SMP thread binding feature, programs that are dynamically linked to the SMP run-time can have their threads bound to processors as specified by the user. For some workloads, binding threads to processors can improve performance by avoiding the costs of thread migration.

Comprehensive Help System

Help is available online in HTML format, and is optimized for fast access to information on every component in XL C. Most information is also provided in Adobe PDF format. Also, text-based man page help is available directly from your command line. This help will give you a quick reference for the format and argument description for all compiler options.

IBM i (formerly known as i5/OS) PASE support

XL C for AIX supports IBM i PASE (previously known as i5/OS PASE). IBM i provides a broad set of AIX interfaces in a runtime that allows many AIX binaries to execute directly on an IBM Power Systems server. An application running on IBM i is fully integrated with IBM i work management, security, backup, file systems and database.

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 for AIX complies with the OpenMP API Version 3.0 specification.

We're here to help

live-assistance

Easy ways to get the answers you need.


Or call us at:
877-426-3774
Priority code:
104CBW61