【发布时间】:2013-05-06 09:44:46
【问题描述】:
是否可以使用 SIMD 指令(内在)进行非同源(两种不同的数据类型)比较,特别是在 SSE2 uptil SSE4.x 指令集中? .即浮动和双倍?还是 32 位和 64 位整数?甚至是带有整数等的浮点数?
【问题讨论】:
标签: c++ comparison simd
是否可以使用 SIMD 指令(内在)进行非同源(两种不同的数据类型)比较,特别是在 SSE2 uptil SSE4.x 指令集中? .即浮动和双倍?还是 32 位和 64 位整数?甚至是带有整数等的浮点数?
【问题讨论】:
标签: c++ comparison simd
你的意思是你有一个整数数组,你想将它与一个双精度数组中的值进行比较?不幸的是,您必须执行某种转换才能实现这一目标。有一组 cvtXX2YY 指令可以做到这一点,它们应该在内部函数中可用。您只需要选择一个进行正确转换的,例如_mm_cvtpi32_ps - 如本例所示,您不能将四个整数转换为四个浮点数......一次只能转换两个。不要问我为什么……
如果您询问“您能否将一个整数和一个浮点数转换为另一个整数和浮点数”,那么不,那不可用。
【讨论】: