Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

LLVMの自動ベクトル化(Auto-Vectorization)


GCCでは、引数の"-O3 -ftree-vectorize"を指定すれば自動ベクトル化(Auto-Vectorize)をしてくれます。
x86だけでなく、ARM NEONでもOKです。

LLVMでもAuto-Vectorizeできるようです。
LLVMでは、Loop Vectorizer とSLP Vectorizerという2種類のベクトル化があるようです。

詳細は、上記の内容をみてください。
LLVM 3.3リリースノートにも書いてあります。
リリースノートの日本語訳はLLVM 3.3 リリースノートの訳にあります。

GCC 4.7とIntel Compiler 13との処理時間の比較があります。
Intem Compiler 13 > LLVM(Clang) > GCC 4.7 って感じですね。