0

これらの文字列があるとしましょう:

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

_mm_cmpistriC++ で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

この方法で検索する<-----------------

後で編集:

これが私がやりたいことです:

2 つの文字列があり、このヘッダーを持つ関数が必要です。

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 )

それを行う最も効率的な方法は何ですか?(SSEあり)

4

1 に答える 1

2

_SIDD_MOST_SIGNIFICANT をモード パラメーターの一部として _mm_cmpistri に使用できます。Intel SSE4 プログラミング リファレンスを参照してください。

于 2012-06-17T23:43:13.227 に答える