_mm_cmpistri相反

时间:2012-05-15 20:12:42

标签: c++ string sse

假设我有这些字符串:

char ref[30] = "1234567891234567891";
char oth[30] = "1234567891234567891";

我想在C ++中使用SSE 4.2 _mm_cmpistri函数;通常,字符串从左到右进行解析。有没有办法告诉函数反向搜索(从右到左比较而不是从左到右?

而不是搜索 --------------->

  • 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
  • 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

以这种方式搜索< -----------------

稍后编辑:

这就是我想要做的事情:

我有两个字符串,我需要一个带有此标题的函数:

int sse_cmp(const char *a, int posA, const char *b, int posB);

此函数必须比较字符串“backwords”: 从posA0或直到posB == 0。 该函数必须返回后面的常用字符数。

例如:

          <--------- posA
 a : 1 2 3 4 5 6 7 8  9
 b : a b c d 7 8 9
          <---- posB

将返回3 ( 987 )

最有效的方法是什么? (与SSE)

1 个答案:

答案 0 :(得分:2)

您可以将_SIDD_MOST_SIGNIFICANT用作_mm_cmpistri的mode参数的一部分。 请参阅英特尔SSE4编程参考