2013-05-06 47 views
1

使用SIMD指令(内在函数),特别是在SSE2 upSSE4.x指令集中,是否可以使用SIMD指令(内在函数)进行非本地(两个不同的数据类型)比较? 。即浮动和双重?或32位和64位整数?甚至是一个整数等浮点数?使用SIMD的非均匀比较

回答

2

你的意思是说,你有一个整数数组,并且你想将它与一个双精度数组中的值进行比较?您将不得不执行某种转换来实现这一点。有一组cvtXX2YY指令可以做到这一点,它们应该在内部函数中可用。您只需挑选出进行正确转化的人员,例如_mm_cvtpi32_ps - 从这个例子中可以看出,你不能将四个整数转换为四个浮点数......每次只有两个浮点数。不要问我为什么......

如果你问“你可以用另一个整数和浮点数转换一个整数和一个浮点数”,那么不可以,那是不可用的。

+0

_mm_cvtepi32_ps是CVTDQ2PS固有的,它可以转换四个整数。 – MBo 2013-05-06 11:33:33