SSE指令:查找超过阈值的元素

时间:2012-06-07 02:53:38

标签: x86 max sse simd

是否有SSE指令可以替代下面写的部分或整个算法。

有很长的短值数组(可以接受字节或长整数)。必须找到大于某个阈值的值。

谢谢。

1 个答案:

答案 0 :(得分:2)

是的,您可以执行以下操作(伪代码):

Init threshold vector
Found = FALSE
For each vector of N elements
    Load vector (_mm_load_si128)
    Compare greater than threshold (_mm_cmpgt_XXX)
    Move comparison vector to mask (_mm_movemask_epi8)
    If mask != 0
        Found = TRUE
        Break
    End
End