
XL C/C++ for BlueGene/Q Fix Pack 10 (November 2014 Update) for 12.1 is now available
The XL C/C++ for BlueGene/Q Fix Pack 10 (November 2014 Update) for 12.1 is now available at the following links and on Fix Central: XL C/C++ for BlueGene/Q Fix Pack 10 (November 2014 Update) for 1 2 .1 Fix list for XL C/C++ for BlueGene/Q Can't find the updates for your compiler? Check out our C/C++ compiler latest update page here .
|
POWER8 built-in function vec_bperm
For vector processing, IBM XL C/C++ for Linux V13.1 supports a new POWER8 built-in function vec_bperm. The vec_bperm can g ather up to 16-bit values from a quadword in the specified order and it operates on vectors as 128-bit unsigned integers. The vec_bperm function is valid only when the -qarch option is set to target POWER8™ processors. Syntax The function has the following syntax, where d represents the function returned value; a and b represent the arguments. d=vec_bperm(a, b) Result and argument types The following table describes... [More]
Tags:  function built-in power8 c/c++ |
XL C/C++ for Linux Fix Pack 1 (October 2014 PTFs) for 13.1 Released
The XL C/C++ for Linux Fix Pack 1 (October 2014 PTFs) for 13.1 are now available at the following links and on Fix Central: XL C/C++ for Linux Fix Pack 1 (October 2014 PTF) for 13.1 Fix list for XL C/C++ for Linux XL C/C++ Runtime for Linux Fix Pack 1 (October 2014 PTF) for 13.1 Fix list for XL C/C++ Runtime for Linux Can't find the... [More]
|
XL C/C++ for AIX Fix Pack 10 (October 2014 PTF) for 12.1 Released
The XL C/C++ for AIX Fix Pack 10 (October 2014 PTF) for 12.1 is now available at the following links and on Fix Central: XL C for AIX Fix Pack 10 (October 2014 PTF) for 12.1 Fix list for XL C for AIX XL C/C++ for AIX Fix Pack 10 (October 2014 PTF) for 12.1 Fix list for XL C/C++ for AIX Can't find the updates for your compiler? Check out our... [More]
|
XL C/C++ for AIX Fix Pack 20 (October 2014 PTF) for 10.1 Released
The XL C/C++ for AIX Fix Pack 20 (October 2014 PTF) for 10.1 is now available at the following links and on Fix Central: XL C for AIX Fix Pack 20 (October 2014 PTF) for 10.1 Fix list for XL C for AIX XL C/C++ for AIX Fix Pack 20 (October 2014 PTF) for 10.1 Fix list for XL C/C++ for AIX Can't find the updates for your compiler? Check out our... [More]
|
Usage of the vector function vec_popcnt
IBM XL C/C++ for AIX, V13.1 supports a vector population count procedure vec_popcnt. This built-in function computes the population count (number of set bits) in each element of their input. This function is valid only when the -qarch option is set to target POWER8™ processors. The syntax of this function is: d=vec_popcnt(a) where d represents the types of the returned value and a in parentheses represents the type of the function argument. For details about d and a, see the following table. d a vector unsigned char vector signed char... [More]
Tags:  c/c++ built-in vector |
The overview of the IBM XL compiler listing files
Listing files are compiler output files that contain information about a particular compilation. The suffix of listing files is .lst. As a debugging aid, listing files are useful for determining what has gone wrong in a compilation. For example, any diagnostic messages emitted during compilation are written to listing files. You can generate listing files using a lot of compiler options as described below. Listing information is organized in sections. Different sections are generated depending on the different compiler option you've... [More]
|
Implementation of feature QOI in the IBM XL C/C++ compiler for debugging C++11 programs
The IBM XL C/C++ compiler has partially supported C++11 features. The -qlanglvl=extended0x group option can enable or disable all these features in batch. Besides this group option, each C++11 feature has an individual controlling -qlanglvl suboption. If several -qlanglvl options are specified, the last one takes effect. For the details of option -qlanglvl, see http://www-01.ibm.com/support/knowledgecenter/api/content/SSXVZZ_13.1.0/com.ibm.xlcpp131.linux.doc/compiler_ref/opt_langlvl.html . For the C++11 features that XL C/C++ supports,... [More]
|
Support for parallel programming of z/OS XL C/C++
The z/OS V2R1 XL C/C++ compiler introduces support for OpenMP parallelization directives. Parallelization of C/C++ program code can be enabled by specifying the SMP compiler option. z/OS XL C/C++ compiler supports shared memory program parallelization by explicit parallelization of C and C++ program code using pragma directives that are compliant to the OpenMP Application Program Interface specification. When the SMP compiler option is in effect, program code with OpenMP directives that are compliant to the OpenMP API 3.1 standard is... [More]
|
The -qcheck=stackclobber suboption
In XL C/C++ for AIX, V13.1, a new suboption, stackclobber , is added to the -qcheck option to detect stack corruption of nonvolatile registers in the save area in user programs. This type of corruption happens only if any of the nonvolatile registers in the save area of the stack is modified. When such violation is encountered, a runtime error will be raised by sending a SIGTRAP signal to the process. Here's an example that shows the effect of -qcheck=stackclobber : void func4(char *p, int off, int value) { ... [More]
|
Using visibility attributes (IBM extension)
IBM XL C/C++ for Linux, V13.1 supports an extended feature "Visibility attributes of entities" to assist with performance tuning and application optimization. The visibility attributes of entity describe whether and how an entity defined in one module can be referenced or used in other modules. Visibility attributes affect entities with external linkage only, and cannot increase the visibility of other entities. By specifying visibility attributes for entities, you can export only the entities that are necessary to shared libraries.... [More]
Tags:  feature c/c++ new |
nullptr in C++11
The C++11 standard introduced a new keyword, nullptr as a null pointer constant. The nullptr constant can be distinguished from integer 0 for overloaded functions. The constants of 0 and NULL are treated as of the integer type for overloaded functions, whereas nullptr can be implicitly converted to only the pointer type, pointer-to-member type, and bool type. Before C++11, initializing null pointers with 0 or NULL makes it impossible to distinguish between a null pointer and integer 0 for overloaded functions. For example, see the following two... [More]
Tags:  constant c++11 nullptr null pointer |
Controlling symbol visibility for shared libraries
We have published a paper (two-part series) to introduce symbol visibility. Part I: you may get to know the fundamental concept about symbol and symbol visibility, and ways for a programmer to make symbol visibility under control on IBM® AIX® that runs on the IBM POWER® platform. Further, the article details about symbol preemption to show the subtle difference between exported symbol and symbol that is exported but also protected. https://www.ibm.com/developerworks/aix/library/au-aix-symbol-visibility/index.html Part II: this part... [More]
|
C++14 is ratified, The View from the June 2014 C++ Standard meeting
C++ 14 is here, and its proceeding to publication this year. On Aug 18, C++ 14 was formally ratified. We had one C++ Standard meeting since my last blog post for Issaquah Standard meeting , and that was in Rapperswil, Switzerland in June 16-21. We were there several years ago, and it is always nice to be in among the pristine lakes of the Switzerland Alps. Jens Weller, who runs Meeting C++ has described a few of my recent talks on C++14 at C++Now (as well as previously at ADC++ 2014) as well as ongoing video interviews on... [More]
|
Generalized constant expressions (C++11)
The C++11 standard generalizes the concept of constant expressions and introduces a new keyword constexpr as a declaration specifier. A constant expression is an expression that can be evaluated at compile time by the compiler. The major benefits of this feature are as follows:
Improves type safety and portability of code that requires compile-time evaluation Improves support for systems programming, library building, and generic programming Improves the usability of Standard Library components. Library functions that can be evaluated at... [More]
|
Introduction to Type Traits in the C++ standard library
The origin of Type Traits can be traced back to the TR1 and boost libraries. However, the T ype Traits feature is formally introduced into the C++ language in the C++11 standard library. As its name suggests, Type Traits exposes different characteristics of types, or simply the “type of type”. In many C++ programming practices, especially these in template metaprogramming, developers may find it difficult to build a template work for all types without knowing the characteristics of a type. That’s the key reason for... [More]
|
XL C/C++ for AIX Fix Pack 19 (August 2014 PTFs) for 11.1
The XL C/C++ for AIX Fix Pack 19 (August 2014 PTFs) for 11.1 are now available at the following links and on Fix Central: XL C /C+ + fo r AI X Fi x Pa c k 19 (August 2 014 PTF ) fo r 11 . 1 Fix lis t fo r XL C/C + + f o r A I X XL C fo r AI X Fi x Pa c k 19 (August 2 014 PTF ) fo r 11 . 1 Fix lis t fo r XL C f o r A I X ... [More]
|
atoi and itoa conversions in C++11
Note: This article was originally written in Chinese by Xiao Feng Guan/China/IBM. I translated this article into English. If you have any comments, please feel free to contact the original author or me. In C++11, with the introduction of rvalue reference, the performance of the std::string class has been improved greatly. Besides, the std::string class has included many new APIs, including the stoi / stol / sto member functions ,as well as the std::to_string global function. These two kinds of functions are very useful in formatted... [More]
Tags:  c++11 atoi itoa |
Vector gather-bits-by-bytes function "vec_gbb"
In IBM XL C/C++ for Linux, V13.1, we support a vector built-in function vec_gbb that can perform a gather-bits-by-bytes operation on the input. NOTE: This built-in function is valid only when -qarch is set to target POWER8™ processors. Syntax d=vec_gbb(a) The following table describes the types of the function returned value " d" and the argument " a". d a The same type as the argument a vector unsigned long long vector signed long long Result value: For example, let x(i) (0 <= i < 8) denote the byte... [More]
Tags:  vector function |
Documentation for XL compilers live on IBM Knowledge Center
In June 2014, documentation for XL C/C++ for AIX and Linux, V13.1 was published successfully on IBM Knowledge Center, instead of information center. Prior to IBM Knowledge Center, IBM product documentation was hosted on various information center servers and maintained separately by various product teams. IBM Knowledge Center provides a central repository for all IBM product documentation. With IBM Knowledge Center, you can easily perform the following tasks with product documentation: 1. Read and search documentation by IBM product... [More]
|