うーんxmmintrin.hでのプログラミングに懐疑的になる私。
なんか意図しないレジスタのコピーとか、勝手にレジスタが埋まったと判断してスタックに移動とか、そういうのが多発してます。
これを綺麗に収める方法が思いつかなかったりするのです。
やっぱりインラインアセンブルしろってことかなぁ。
しかしなんだかんだといいつつも、C++ -mfpmath=sseの10%以下の遅さまでは追いつきました。
どうも先程書いた変なレジスタ割り当てのために、メモリアクセスがおきて、速度が低下している模様。
だから純粋なルーチンの速度比較ではSSEが2倍以上速かったらしい。