IBM Canada Ltd. Announcement A07-1515, dated June 5, 2007

IBM XL C/C++ Enterprise Edition for AIX, V9.0 exploits the capabilities of the IBM POWER6 processors

Description ...... 2 At a glance Product positioning ...... 3

XL C/C++ Enterprise Edition for AIX, V9.0 adds the following new features:

• Specific optimizations for the latest POWER6 processors • Additional new features and enhancements for increased performance and optimization tuning • Additional built-in functions • New or changed compiler options

Overview

XL C/C++ Enterprise Edition for AIX®, V9.0, a highly advanced optimizing compiler for the AIX operating system, runs on the PowerPC® architecture, including the POWER6™ processors. The compiler is an industry standards-based professional programming tool that can be used for developing large, complex, computationally intensive 32-bit and 64-bit applications in the C and C++ programming languages. XL C/C++ Enterprise Edition for AIX, V9.0 is the follow-on release to XL C/C++ Enterprise Edition V8.0 for AIX. The XL family of IBM compilers now includes

• XL C/C++ Enterprise Edition (AIX and PASE) • XL C Enterprise Edition (AIX and PASE) • XL C/C++ Advanced Edition (Linux™) • XL C/C++ Advanced Edition (Blue Gene®/L), XL C/C++ (z/OS®) • XL Fortran Enterprise Edition (AIX and PASE) • XL Fortran Advanced Edition (Linux) • XL Fortran Advanced Edition (Blue Gene/L)

The C/C++ family of products also includes C/C++ for z/VM®. The XL C/C++ compiler has the ability to optimize and tune your application code for execution on IBM System p™ servers supporting the POWER3™, POWER4™, POWER5™, POWER6, and PowerPC architectures, including the PowerPC 970 processor within the IBM BladeCenter® JS20 and BladeCenter JS21. With the V9.0 release, the XL C/C++ compiler exploits, optimizes, and tunes the latest POWER6 architecture for the System p5™ servers and PowerPC processor-based blades. The XL C/C++ compiler also supports the POWER4 and POWER5 architectures on IBM System i™ with the i5/OS™ Portable Application Solutions Environment (i5/OS PASE).

IBM Canada Ltd. Announcement A07-1515 IBM is a registered trademark of International Business Machines Corporation 1 What's new in XL C/C++ Enterprise Edition for AIX, V9.0:

• Support for the new POWER6 processors • Addition of decimal floating-point support for C and C++ • Numerous extensions to the C++ language as defined by Draft Technical Report on C++ Library Extensions (TR1) • Upgrade of default language level option for C to extc99 allowing you to use C99 features and headers without having to explicitly specify extc99 in a suboption • New default settings for -qarch and -qtune to tune generated code for optimized performance across a range of recent processor architectures, including POWER6

Key prerequisites

• System p servers and PowerPC processor-based blades supported by AIX 5L™ V5.2 or AIX 5L for POWER™ V5.3 • Disk space: 350 MB

Planned availability dates

• June 8, 2007: Electronic software delivery • July 6, 2007: Physical software delivery

Description

The XL C/C++ compiler continues to provide additional functionality and enhancements, especially in the areas of performance and optimization, support for language enhancements, and support for new processors.

Support for the new POWER6 processors With V9.0, the XL C/C++ compiler exploits, optimizes and tunes for the latest POWER6 processors. XL C/C++ V9.0 expands the list of -qarch and -qtune suboptions to support the newly available POWER6 processors.

Decimal floating-point arithmetic Decimal floating-point arithmetic offers greater computational performance and precision in business and financial applications where numeric data computation and I/O is usually performed in decimal form. Data conversions from decimal type to binary floating-point type and back are avoided, as are inherent rounding errors accumulated during data conversions. XL C/C++ adds support for decimal floating-point arithmetic with the following new compiler options:

• -qdfp: Specifying -qdfp enables compiler support for decimal floating-point data types and literals • -qfloat=dfpemulate: Specifying -qfloat=dfpemulate instructs the compiler to use software emulation when handling decimal floating-point computations.

Note: Compiler support for decimal floating-point operations requires AIX 5L for POWER V5.3 with the 5300-06 Technology Level.

TR1 Library extensions for C++ XL C/C++ V9.0 supports numerous extensions to the C++ language as defined by the Draft Technical Report on C++ Library Extensions (TR1).

Default language level change for C — extc99 The default -qlanglvl compiler option setting is now extc99 when invoking the C compiler with the

IBM Canada Ltd. Announcement A07-1515 IBM is a registered trademark of International Business Machines Corporation 2 xlc invocation. This change will allow you to use C99 features and headers without having to explicitly specify the extc99 suboption. You can revert to previous xlc behavior by specifying -qlanglvl=extc89 when invoking the compiler.

Architecture and processor support The -qarch and -qtune compiler options control the code generated by the compiler. These compiler options adjust the instructions, scheduling, and other optimizations for a specified target processor or range of processors.

New default setting for -qarch, -qtune: The new default -qarch and -qtune settings are:

• -qarch=ppc • -qtune=balanced

The -qtune=balance suboption is new for this release and becomes the default -qtune setting when certain -qarch settings are specified. Using -qtune=balance instructs the compiler to tune generated code for optimize performance across a range of recent processor architectures, including POWER6.

New compiler options for POWER6 processors: The following -qarch and -qtune options are now available:

• -qarch=pwr6 • -qarch=pwr6e • -qtune=pwr6

The -qipa compiler option also adds a new architecture cloning suboption, -qipa=clonearch=pwr6, to support interprocedural analysis optimizations on POWER6 processors.

Support removed for selected processors: XL C/C++ V9.0 removes support for processor architectures not supported by AIX 5L V5.2, or later, such as POWER, POWER2™, and PowerPC 601®. As a result, the following -qarch and -qtune suboption settings are no longer supported:

-qarch=com | pwr | pwr2 | pwr2s | p2sc | 601 | 602 | 603 -qtune=pwr | pwr2 | pwr2s | pwrx | p2sc | 601 | 602 | 603

Additional enhancements

• XL C/C++ V9.0 introduces many new performance-related compiler options and directives. • New built-in functions for this release include PowerPC cache control and POWER6 prefetch extensions and cache control.

Accessibility by people with disabilities You can request a U.S. Section 508 Voluntary Product Accessibility Template (VPAT) with details on accessibility compliance at

http://www-3.ibm.com/able/product_accessibility/index.html

Product positioning

XL C/C++ Enterprise Edition for AIX, V9.0 is part of the IBM family of C and C++ compilers that support a number of platforms. It joins XL C Enterprise Edition for AIX on System p, XL C/C++ Advanced Edition for Linux on System i and System p, XL C/C++ for z/OS, ILE C/C++ for OS/400® on System i, and C/C++ for z/VM. The code base for all of these compilers (C and C++) is the same. This will facilitate source-level portability of your applications from these platforms to AIX.

IBM Canada Ltd. Announcement A07-1515 IBM is a registered trademark of International Business Machines Corporation 3 XL C/C++ now supports the TR1 library extensions for C++ in addition to the revised 2003 international C++ standard ISO/IEC 14882:2003(E), Programming Languages — C++ and ISO/IEC 9899:1999, Programming Languages — C, including the latest C standard committee recommendation for Unicode support. With representation from the IBM compiler development team on the ISO/ANSI C committee and the ISO/ANSI C++ committee, IBM is in a position to understand the latest updates, clarifications, and recommendations to the C and C++ standards. Support of programming language standards allows for portability of your source code among a variety of compiler implementations. Trade-marks

POWER6, System p, POWER3, POWER4, POWER5, System p5, System i, i5/OS, POWER, AIX 5L, and POWER2 are trade-marks of International Business Machines Corporation used under license by IBM Canada Ltd.

AIX, PowerPC, Blue Gene, z/OS, z/VM, BladeCenter, PowerPC 601, and OS/400 are registered trade-marks of International Business Machines Corporation used under license by IBM Canada Ltd.

Linux is a trade-mark of Linus Torvalds in the United States, other countries or both.

Other company, product, and service names may be trade-marks or service marks of others.

This announcement is provided for your information only. For additional information, contact your IBM representative, call 800-IBM-4YOU, or visit the IBM home page at: http://www.ibm.com/ca/

IBM Canada Ltd. Announcement A07-1515 IBM is a registered trademark of International Business Machines Corporation 4