1

是否可以使用 SIMD 指令(内在函数)进行非同源(两种不同的数据类型)比较,特别是在 SSE2 uptil SSE4.x 指令集中?. 即浮动和双倍?还是 32 位和 64 位整数?甚至是带有整数等的浮点数?

4

1 回答 1

2

你的意思是你有一个整数数组,你想将它与双精度数组中的值进行比较?不幸的是,您必须执行某种转换才能实现这一目标。有一组cvtXX2YY指令可以做到这一点,它们应该在内部函数中可用。您只需要选择一个进行正确转换的,例如_mm_cvtpi32_ps - 正如在此示例中所见,您不能将四个整数转换为四个浮点数......一次只能转换两个。不要问我为什么...

如果您询问“您可以将一个整数和一个浮点数转换为另一个整数和浮点数吗”,那么不,那不可用。

于 2013-05-06T09:59:34.053 回答