Despite the effort inverted the last years in commercial compilers to generate efficient SIMD instructions based code sequences from conventional sequential programs, the small numbers of compilers that can automatically use these instructions achieve in most cases unsatisfactory results. This work shows how exposing register level reuse in source codes helps vectorizing compilers as ICC to generate efficient SIMD code that exploits vectorial register reuse. To this end we use reverse-engineering to know the limitations of ICC compiler. We compare performance of compiler generated code to performance of hand-optimized assembly-written numerical libraries achieving around the 72% performance of MKL for example.
CitationBerna, A.; Jimenez, M.; Llaberia, J. "Source code transformations for efficient SIMD code generation". 2012.
All rights reserved. This work is protected by the corresponding intellectual and industrial property rights. Without prejudice to any existing legal exemptions, reproduction, distribution, public communication or transformation of this work are prohibited without permission of the copyright holder. If you wish to make any use of the work not provided for in the law, please contact: email@example.com