KB974116
d:id:youandi:20060723#p3, d:id:youandi:20080812#p1
別にSSE4.1なコードなんて書けないし書く事もないんですが。
[FIX] Visual C++ 2008 SP1 を使用して最適化オプション/O2 または最適化オプション/Ox が有効になっている場合は、SSE4.1 コードをコンパイルすると、問題が発生します。
http://support.microsoft.com/kb/974116
今更ですが、VC++9.0にはSSE4.1のヘッダも提供されているんだなと、そこが気になりました。
#include <wmmintrin.h> // for AES-NI(Advanced Encryption Standard - New Instructions) #include <nmmintrin.h> // for SSE4.2 #include <smmintrin.h> // for SSE4.1 #include <tmmintrin.h> // for SSE4 #include <pmmintrin.h> // for SSE3 #include <emmintrin.h> // for SSE2 #include <xmmintrin.h> // for SSE #include <mmintrin.h> // for MMX #include <mm3dnow.h> // for 3DNow! #ifdef _MSC_VER #include <intrin.h> // for SSE4A, その他組み込み関数(VC++のみ) #endif // _MSC_VER
どうやらSP1で追加された模様。
Visual C++言語リファレンス > コンパイラ組込関数
http://msdn.microsoft.com/ja-jp/library/26td21ds.aspx