Performance advantages of using inline assembly with IBM XL compiler for Linux on z Systems
Anh Tuyen Tran 2700009ET3 Visits (5525)
Starting with version 1.1 in 2015, the inline assembly feature is supported by IBM XL C/C++ compiler for Linux on z Systems. Using inline assembly, software developers can specify with ease the optimal instructions to accelerate the performance of specific code sections beyond the extent provided by the algorithm or the compiler. This is essential for high performance applications, especially if the improved code sections are on the critical path of execution.
In continuation to my previous blog posts (1,2) relating to Inline Assembly for Linux on z Systems, my articles about the
The article assumes that the audience is familiar with inline assembly for Linux on z Systems. Software developers might find the previous articles in this series informative.
It is important to note that IBM XL compilers perform highly sophisticated optimizations based on the detailed analysis of the user codes. To neutralize the comparative environment from the unexpected effects of various optimizations automatically performed by the compiler, all compilations in this article do not specify any level of compiler optimization. In many cases, using an appropriate level of optimization by the compiler might simply be the best option. The decision whether or not to use inline assembly must be based on the empirical test data on the specific system. Furthermore, inline assembly should only be used for the most performance-centric code sections. Intrinsic knowledge of the application together with thorough comprehension about the set of assembler instructions available on the system are prerequisites to a successful implementation.
For detail, please visit the
Anh Tuyen Tran