0

如何通过char比较表与C中的SSE 4.2内在函数来获取两个字符串char?

_mm_cmpistrm 返回重要位的掩码,即通过char 比较表处理结果对char 进行聚合函数。

__m128i _mm_cmpistrm (
   __m128i a, 
   __m128i b, 
   const int mode
); 

如何在不调用任何聚合函数的情况下按字符比较表提取字符?(也许 _SIDD_UNIT_MASK...)

例子:

      A T G A
    A 1 0 0 1
    G 0 0 1 0
    T 0 1 0 0
    C 0 0 0 0

这张表我其实需要

_mm_cmpistrm(在某些模式 Equal_each 上)的结果是掩码:

    (0 1 1 1)
4

1 回答 1

1

SSE4.2 指令不返回中间表,因为 SSE 寄存器中没有足够的位来保存所有结果。(如果您只搜索几个项目,他们可以,但通常情况并非如此。)如果您想要表格,您需要一次搜索一个垂直列中的每个字母并自己构建表格。(对不起。)

于 2012-10-08T17:51:01.850 回答