An SIMD Code Generation Technology for Indirect Array

Pengyuan Li, Rongcai Zhao, Qinghua Zhang, Lin Han
2016 Journal of clean energy technologies  
Due to disjoint memory references and non-aligned memory references, existing SIMD compilers can't vectorize loops containing indirect array utilizing SIMD (single instruction multiple data) instructions. However, addressing this problem is inevitable, since many important applications extensively use this program pattern to reduce memory and computation requirement. In this paper, we propose a new efficient code generation technique for indirect array. For an irregular indirect array access,
more » ... adopt two separately registers to store the array base and the index address. It significantly contributes to the performance improvement by vectorizing more loops and reducing the overheads. We also developed this method in our auto-vectorization compiler SW-VEC. The experimental results show that the proposed method can translate applications within direct array access into high-performance targeted vectorized codes, thereby advancing the execution efficiency adequately.
doi:10.7763/ijcte.2016.v8.1047 fatcat:wnew4zwltnherj757n7pdcpici