The growing popularity of multimedia extensions has renewed the interest in vectorizing compilers. The Software Vectorization Handbook provides a detailed overview of compiler optimizations that convert sequential code into a form that best exploits multimedia extensions.
This book is written for compiler engineers and programmers of scientific, engineering, and multimedia applications who are interested in learning the latest techniques for improving software performance. The primary focus is on the C programming language and multimedia extensions to the Intel® Architecture, although most conversion methods are easily generalized to other imperative programming languages and multimedia instruction sets.
Topics discussed range from traditional data dependence analysis and loop-oriented vectorization to more multimedia-oriented alignment optimizations and vectorization of straight-line code. All presented optimizations are available in the high performance Intel® C++/Fortran compilers that support automatic vectorization for MMX™ technology and the Streaming SIMD Extensions (SSE). The book also includes guidelines on how to use these compilers to take advantage of multi-media extensions with a minimum of engineering effort.

















"Rarely have I seen a book of such a great value to compiler writers and application developers alike, who want to unleash the power of the Intel Netburst microarchitecture and supported SSE instruction set. This book is especially valuable to readers interested in the latest cutting-edge Intel processor technologies that are delivering the high-performance computing demands of today's multimedia computers."