GA将?開発日記~王理のその先へ~

ネタ勢最強を目指して絶賛開発中。

Visual C++ 2008はx64モードでSSE使える?

 と言うか、コンパイラはSSE命令を(勝手に)生成してる?

 x64モードではコンパイルオプションに/arch:SSEとか/arch:SSE2を指定しても無視されるから、x64だとSSEが使えないかと思ったら、どうもそうではないみたいですね。

 実際にdoubleをfloatにキャストするコードを書いたら、cvtsd2ssというSSE2の命令(多分)を使ってました。

 と言う事は「x64のプロセッサは当然SSE2を使えるから、/arch:SSE2を指定しなくてもSSE2のコードを吐くよ」って事なのかな?

 この辺の事情はよく分からないけど、まぁ速くなる可能性があるなら嬉しいんで問題無し。