相关疑难解决方法(0)

如何并行比较两个以上的数字?

是否可以使用SSE4在一条指令中比较一对以上的数字?

英特尔参考咨询有关PCMPGTQ的内容如下

PCMPGTQ - 比较大于的打包数据

对目标操作数(第一个操作数)和源操作数(第二个操作数)中的压缩四字进行SIMD比较.如果第一个(目标)操作数中的数据元素大于第二个(源)操作数中的相应元素,则目标中的相应数据元素将设置为全1; 否则,它被设置为0.

这不是我想要的,因为我希望能够决定哪些整数更大,哪些整数更小.

例如,如果我需要比较

32 with 45
13 with 78
44 with 12
99 with 66
Run Code Online (Sandbox Code Playgroud)

我打算在一个指令中放入[32, 13, 44, 99]一个向量和[45, 78, 12, 66]另一个向量并使用SSE4进行比较,[0, 0, 1, 1]结果为(0 - 更少,1 - 更大)

但似乎这不是PCMPGTQ所做的.有关如何在此级别使用并行性来加速此比较的任何建议?

c algorithm parallel-processing sse sse4

6
推荐指数
1
解决办法
754
查看次数

标签 统计

algorithm ×1

c ×1

parallel-processing ×1

sse ×1

sse4 ×1