aboutsummaryrefslogtreecommitdiffstats
path: root/streamingvisitors
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-02-14 07:03:32 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2023-02-14 07:03:32 +0000
commite397392e389df95421f468ae338e3e0837d0ac63 (patch)
tree09967489612e2fd105655fd1c5e2d4cfc36b1760 /streamingvisitors
parent5736dd449a66ef57d2b97f31593a43bb6581b204 (diff)
- Clean up some dead code.
- Silence some warning from clang-tidy.
Diffstat (limited to 'streamingvisitors')
-rw-r--r--streamingvisitors/src/vespa/vsm/searcher/futf8strchrfieldsearcher.cpp61
-rw-r--r--streamingvisitors/src/vespa/vsm/searcher/futf8strchrfieldsearcher.h2
2 files changed, 6 insertions, 57 deletions
diff --git a/streamingvisitors/src/vespa/vsm/searcher/futf8strchrfieldsearcher.cpp b/streamingvisitors/src/vespa/vsm/searcher/futf8strchrfieldsearcher.cpp
index fc5d77de419..c60d3661a86 100644
--- a/streamingvisitors/src/vespa/vsm/searcher/futf8strchrfieldsearcher.cpp
+++ b/streamingvisitors/src/vespa/vsm/searcher/futf8strchrfieldsearcher.cpp
@@ -27,7 +27,7 @@ FUTF8StrChrFieldSearcher::FUTF8StrChrFieldSearcher(FieldIdT fId)
: UTF8StrChrFieldSearcher(fId),
_folded(4_Ki)
{ }
-FUTF8StrChrFieldSearcher::~FUTF8StrChrFieldSearcher() {}
+FUTF8StrChrFieldSearcher::~FUTF8StrChrFieldSearcher() = default;
bool
FUTF8StrChrFieldSearcher::ansiFold(const char * toFold, size_t sz, char * folded)
@@ -104,7 +104,6 @@ inline const char * advance(const char * n, const v16qi zero)
uint32_t charMap = 0;
unsigned zeroCountSum = 0;
do { // find first '\0' character (the end of the word)
-#ifndef __INTEL_COMPILER
#ifdef __clang__
v16qi tmpCurrent = __builtin_ia32_lddqu(n+zeroCountSum);
v16qi tmp0 = tmpCurrent == zero;
@@ -113,10 +112,6 @@ inline const char * advance(const char * n, const v16qi zero)
v16qi tmp0 = __builtin_ia32_pcmpeqb128(tmpCurrent, reinterpret_cast<v16qi>(zero));
#endif
charMap = __builtin_ia32_pmovmskb128(tmp0); // 1 in charMap equals to '\0' in input buffer
-#else
-# warning "Intel's icc compiler does not like __builtin_ia32_xxxxx"
- LOG_ABORT("should not be reached");
-#endif
zeroCountSum += 16;
} while (!charMap);
int charCount = Optimized::lsbIdx(charMap); // number of word characters in last 16 bytes
@@ -126,7 +121,6 @@ inline const char * advance(const char * n, const v16qi zero)
int sum = zeroCountSum - 16 + charCount + zeroCounter;
if (!zeroMap) { // only '\0' in last 16 bytes (no new word found)
do { // find first word character (the next word)
-#ifndef __INTEL_COMPILER
#ifdef __clang__
v16qi tmpCurrent = __builtin_ia32_lddqu(n+zeroCountSum);
tmpCurrent = tmpCurrent > zero;
@@ -135,10 +129,6 @@ inline const char * advance(const char * n, const v16qi zero)
tmpCurrent = __builtin_ia32_pcmpgtb128(tmpCurrent, reinterpret_cast<v16qi>(zero));
#endif
zeroMap = __builtin_ia32_pmovmskb128(tmpCurrent); // 1 in zeroMap equals to word character in input buffer
-#else
-# warning "Intel's icc compiler does not like __builtin_ia32_xxxxx"
- LOG_ABORT("should not be reached");
-#endif
zeroCountSum += 16;
} while(!zeroMap);
zeroCounter = Optimized::lsbIdx(zeroMap);
@@ -168,7 +158,7 @@ inline const char* advance(const char* n)
size_t FUTF8StrChrFieldSearcher::match(const char *folded, size_t sz, QueryTerm & qt)
{
#ifdef __x86_64__
- const v16qi _G_zero = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+ const v16qi G_zero = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
#endif
termcount_t words(0);
const char * term;
@@ -181,32 +171,14 @@ size_t FUTF8StrChrFieldSearcher::match(const char *folded, size_t sz, QueryTerm
while (true) {
if (n>=e) break;
-#if 0
- v16qi current = __builtin_ia32_loaddqu(n);
- current = __builtin_ia32_pcmpeqb128(current, _qtlFast[0]);
- unsigned eqMap = __builtin_ia32_pmovmskb128(current);
- unsigned neqMap = ~eqMap;
- unsigned numEq = Optimized::lsbIdx(neqMap);
- /* if (eqMap)*/ {
- if (numEq >= 16) {
- const char *tt = term+16;
- const char *p = n+16;
- while ( (*tt == *p) && (tt < et)) { tt++; p++; numEq++; }
- }
- if ((numEq >= tsz) && (prefix() || qt.isPrefix() || !n[tsz])) {
- addHit(qt, words);
- }
- }
-#else
const char *tt = term;
while ((tt < et) && (*tt == *n)) { tt++; n++; }
if ((tt == et) && (prefix() || qt.isPrefix() || !*n)) {
addHit(qt, words);
}
-#endif
words++;
#ifdef __x86_64__
- n = advance(n, _G_zero);
+ n = advance(n, G_zero);
#else
n = advance(n);
#endif
@@ -218,7 +190,7 @@ size_t FUTF8StrChrFieldSearcher::match(const char *folded, size_t sz, size_t min
{
(void) mintsz;
#ifdef __x86_64__
- const v16qi _G_zero = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+ const v16qi G_zero = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
#endif
termcount_t words(0);
const char * n = folded;
@@ -226,28 +198,6 @@ size_t FUTF8StrChrFieldSearcher::match(const char *folded, size_t sz, size_t min
while (!*n) n++;
for( ; ; ) {
if (n>=e) break;
-#if 0
- v16qi current = __builtin_ia32_loaddqu(n);
- for(size_t i=0; i < qtlSize; i++) {
- v16qi tmpEq = __builtin_ia32_pcmpeqb128(current, _qtlFast[i]);
- unsigned eqMap = __builtin_ia32_pmovmskb128(tmpEq);
- /* if (eqMap) */ {
- QueryTerm & qt = *qtl[i];
- unsigned neqMap = ~eqMap;
- unsigned numEq = Optimized::lsbIdx(neqMap);
- termsize_t tsz = qt.termLen();
- if (numEq >= 16) {
- const char *tt = qt.term() + 16;
- const char *et=tt+tsz;
- const char *p = n+16;
- while ( (*tt == *p) && (tt < et)) { tt++; p++; numEq++; }
- }
- if ((numEq >= tsz) && (prefix() || qt.isPrefix() || !n[tsz])) {
- addHit(qt, words);
- }
- }
- }
-#else
for(QueryTerm ** it=qtl, ** mt=qtl+qtlSize; it != mt; it++) {
QueryTerm & qt = **it;
const char * term;
@@ -260,10 +210,9 @@ size_t FUTF8StrChrFieldSearcher::match(const char *folded, size_t sz, size_t min
addHit(qt, words);
}
}
-#endif
words++;
#ifdef __x86_64__
- n = advance(n, _G_zero);
+ n = advance(n, G_zero);
#else
n = advance(n);
#endif
diff --git a/streamingvisitors/src/vespa/vsm/searcher/futf8strchrfieldsearcher.h b/streamingvisitors/src/vespa/vsm/searcher/futf8strchrfieldsearcher.h
index 900ab4c9120..9e8c0cbad80 100644
--- a/streamingvisitors/src/vespa/vsm/searcher/futf8strchrfieldsearcher.h
+++ b/streamingvisitors/src/vespa/vsm/searcher/futf8strchrfieldsearcher.h
@@ -11,7 +11,7 @@ public:
std::unique_ptr<FieldSearcher> duplicate() const override;
FUTF8StrChrFieldSearcher();
FUTF8StrChrFieldSearcher(FieldIdT fId);
- ~FUTF8StrChrFieldSearcher();
+ ~FUTF8StrChrFieldSearcher() override;
static bool ansiFold(const char * toFold, size_t sz, char * folded);
static bool lfoldaa(const char * toFold, size_t sz, char * folded, size_t & unalignedStart);
static bool lfoldua(const char * toFold, size_t sz, char * folded, size_t & alignedStart);