0

假设我有这些字符串:

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

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

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

  • 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”: from posAto0或 until posB == 0。该函数必须从后面返回公共字符的数量。

前任:

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

将返回3 ( 987 )

最有效的方法是什么?(与上交所)

4

1 回答 1

2

您可以使用 _SIDD_MOST_SIGNIFICANT 作为 _mm_cmpistri 的模式参数的一部分。请参阅英特尔 SSE4 编程参考

于 2012-06-17T23:43:13.227 回答