The goal of vectorizing compilers is to automatically de- tect opportunities where ordinary code can be transformed into code exploiting SIMD techniques. For example, icc does have vectorizing capabilities [15]. However, [15] de- scribes various reasons why the compiler may fail to ap- ply vectorization, including: stylistic issues (such as the use of global pointers or the use of moderately complex ex- pressions), hardware issues (such as data alignment), and complexity issues (such as the use of function calls or non- assignment statements in a loop). None of the code we wrote for the experiments could be vectorized by the icc compiler. The code contains several fundamental obstacles. For example, most of.