Back to the Club's homepage

Autovectorization in GCC - Dorit Naishlos, IBM HRL

Abstract

Vectorization is an optimization technique that has traditionally targeted vector processors. The importance of this optimization has increased in recent years with the introduction of SIMD (single instruction multiple data) extensions to general purpose processors, and with the growing significance of applications that can benefit from this functionality. With the adoption of the new Tree SSA optimization framework, GCC is ready to take on the challenge of automatic vectorization. In this talk we describe the design and implementation of a loop-based vectorizer in GCC. We discuss the new issues that arise when vectorizing for SIMD extensions as opposed to traditional vectorization, and the challenges of doing that in a multi-platform compiler such as GCC.

slides:
vectorization.pdf, vectorization.sxi, vectorization.ppt.

Back to the Club's homepage