Skip to main content

XL C Enterprise Edition for AIX

Rational software

Features and benefits

IBM® XL C Enterprise Edition for AIX® V9.0 is part of a family of IBM compilers that support C and C++ programming on IBM's BladeCenter JS20 and JS21, System p™, System i™, and System z™ platforms.

The code base for all of these C and C++ compilers is the same, making source-level portability of your applications between IBM platforms easier than ever before. Our compilers also adhere to international standards and industry specifications, making it easier for you to port your applications to IBM platforms from other non-IBM platforms.

Key features of XL C Enterprise Edition for AIX include:

At a glance - What's new for V9.0
XL C Enterprise Edition for AIX V9.0 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:

The -qlanglvl compiler option is enhanced to support all of the available language levels that you can use to compile your code. These include the strict conformance to the latest C99 standard, extended conformance to C99, conformance to the previous C89 standard, and enabling of C89 with the universal character set. XL C offers you the flexibility to compile your code to the language level that you need.

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.

Ease of porting
XL C includes 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 PowerPC processor architectures
XL C supports the PowerPC architecture found in the BladeCenter JS20 and JS21, System i™, and System p™ platforms. The -qarch and -qtune suboptions let you instruct the compiler to generate code optimized for your chosen target processor or processor family. XL C also supports a number of special built-in functions designed specifically to exploit select PowerPC processor architectures.

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 Enterprise Edition 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 Enterprise Edition 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, progams 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.

OpenMP API Version 2.5
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 Enterprise Edition for AIX complies with the latest OpenMP API Version 2.5 specification.

i5/OS Portable Applications Solutions Environment (i5/OS PASE) Support
XL C Enterprise Edition for AIX continues to support i5/OS™ PASE on System i™. i5/OS PASE provides a broad set of AIX interfaces in a runtime that allows many AIX binaries to execute directly on the PowerPC processors used in System i systems. An application running on i5/OS PASE is fully integrated with i5/OS work management, security, backup, file systems and database. You can install and use XL C Enterprise Edition for AIX in an i5/OS PASE environment that includes PTF SI19860. A separate AIX system is not required.

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.

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

Ready to buy?