c++ - _mm_cmpistri 反向

标签 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

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

稍后编辑:

这是我想做的:

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

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 )

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

最佳答案

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

关于c++ - _mm_cmpistri 反向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10608153/

相关文章:

c++ - 从 vector 中删除类指针

r - 在R中将一个变量拆分为多个变量

x86 - 是否可以在不使用 SSE4 的情况下对 VC++ 中的乘法进行向量化?

x86 - 在这种情况下 _mm_movehdup_ps 和 _mm_shuffle_ps 有什么区别?

c++ - 将成员函数作为回调传递给其他类的构造函数

c++ - 我在哪里可以找到 IOCTL 常量值?

c++ - 为什么 istringstream 在流的末尾附加 '-1' 字符?

java - 从句子java中获取日期、时间和整数值

c - C中一个字符串在另一个字符串中出现的次数

image-processing - 有没有办法强制 PMULHRSW 将 0x8000 视为 1.0 而不是 -1.0?