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.