I am benchmarking some algorithms, wondering how much the JIT applies auto-vectorization. I set up a JMH project and am trying to turn auto-vectorization off.
The code snipped and the results can be found in the following gist: https://gist.github.com/Styp/16e8a20fedfb771107377407fc1cf210 (Sorry too long to post here).
The results indicate that one is faster than the other, which is expected. Nevertheless, the deviation is so high that the benchmark is not representative. What irritates me the most is that the version with turned of SuperWord still contains vadd and vmove instructions in the Jit-generated code. Do I miss something? How can I enforce vectorization turned off for good? Any ideas?