Córais

Research Group

 

Automatic Vectorization of Interleaved Data Revisited

Andrew Anderson, Avinash Malik, David Gregg
ACM Transactions on Architecture and Code Optimization, 2015
https://dx.doi.org/10.1145/2838735

We propose an algorithm for the vectorization of arbitrary static affine access functions. The algorithm is expressed in terms of two simple SIMD operations, permute and blend, for which we state an informal semantics. Any statically-known affine access function can be expressed with a permute/blend sequence. We also state several important transformations of these sequences to improve the quality of generated code. We present experimental results for both SSE (128-bit) and AVX (256-bit) platforms.