doi: 10.7763/IJCTE.2016.V8.1047
An SIMD Code Generation Technology for Indirect Array
- State Key Laboratory of Mathematical Engineering and Advanced Computing, China.
Abstract
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, we 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.
Keywords
- Code generation
- indirect array
- vectorization
How to Cite
Pengyuan Li, Rongcai Zhao, Qinghua Zhang, and Lin Han, "An SIMD Code Generation Technology for Indirect Array," International Journal of Computer Theory and Engineering, vol. 8, no. 3, pp. 218-222, 2016. https://doi.org/10.7763/IJCTE.2016.V8.1047
Copyright & License
Copyright © 2016 by the authors. This is an open access article distributed under the Creative Commons Attribution License which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited (CC BY 4.0).