通常、CPU では浮動小数点のパフォーマンスよりも優れた整数演算のパフォーマンスが得られますが、誰かが SIMD バージョンの場合を明確にすることができます。たとえば:
__m128i _mm_mul_epi32(__m128i a, __m128i b);
//(multiplies 2 integer vectors)
対:
__m128 _mm_mul_ps(__m128 a , __m128 b );
//(multiplies 2 float vectors)
どちらがより高いパフォーマンスをもたらしますか? (マシンが SSE4 機能を備えていると仮定します) 私がこれを言っているのは、SSE2 命令に基づいて独自の小さな数学ライブラリをコーディングしたためであり、__m128i を使用して正しく進めるべきかどうかわからないからです。