在 Linux 和 Mac 上,可以做到
__m128 x;
__m128i n = (__m128i)x;
此操作将 x 的位表示复制到 n,并且对于实现在 SSE 浮点寄存器上操作的各种无分支条件操作很有用。在 MSVC 11 上,它给出了
eikonal-generated.h(1228) : error C2440: 'type cast' : cannot convert from '__m128' to '__m128i'; No constructor could take the source type, or constructor overload resolution was ambiguous
Microsoft Visual Studio 中的等价物是什么?
请注意,我不是要求标准的浮点到整数转换函数 _mm_cvtepi32_ps,它进行数值上有意义的转换。