使えるSIMD intrinsicsの確認

コンパイラの組み込み関数 SIMD intrinsicsを利用して、C++ソースコードからSSEでベクトライズを行い、計算速度向上を考える。
そこで gcc -march=nativeで自動的使える命令セットを調べて適切なフラグを設定・展開し、使える命令セットを確認したかった。
$ gcc -E -v -march=native - 2>&1 | grep cc1

今のマシンだと -mfa -mavx -mavx2 -msse4.2 -msse4.1、つまりSSEは4.2まで、それとAVX・AVX2およびFMAが使えることが分かった。