Lines Matching refs:matches

766 typedef U64 ZSTD_VecMask;   /* Clarifies when we are interacting with a U64 representing a mask of matches */
933 * Skips sections of long matches as is necessary.
982 int matches[4] = {0};
988 matches[i] = _mm_movemask_epi8(equalMask);
990 if (nbChunks == 1) return ZSTD_rotateRight_U16((U16)matches[0], head);
991 if (nbChunks == 2) return ZSTD_rotateRight_U32((U32)matches[1] << 16 | (U32)matches[0], head);
993 return ZSTD_rotateRight_U64((U64)matches[3] << 48 | (U64)matches[2] << 32 | (U64)matches[1] << 16 | (U64)matches[0], head);
997 /* Returns a ZSTD_VecMask (U32) that has the nth bit set to 1 if the newly-computed "tag" matches
999 * Each row is a circular buffer beginning at the value of "head". So we must rotate the "matches" bitfield
1040 const U32 matches = vget_lane_u32(vreinterpret_u32_u8(t4), 0);
1041 return ZSTD_rotateRight_U32(matches, head);
1055 const U64 matches = vget_lane_u64(vreinterpret_u64_u8(t4), 0);
1056 return ZSTD_rotateRight_U64(matches, head);
1067 ZSTD_VecMask matches = 0;
1076 matches <<= chunkSize;
1077 matches |= (chunk * extractMagic) >> shiftAmount;
1087 matches <<= chunkSize;
1088 matches |= ((chunk >> 7) * extractMagic) >> shiftAmount;
1092 matches = ~matches;
1094 return ZSTD_rotateRight_U16((U16)matches, head);
1096 return ZSTD_rotateRight_U32((U32)matches, head);
1098 return ZSTD_rotateRight_U64((U64)matches, head);
1192 ZSTD_VecMask matches = ZSTD_row_getMatchMask(tagRow, (BYTE)tag, head, rowEntries);
1194 /* Cycle through the matches and prefetch */
1195 for (; (matches > 0) && (nbAttempts > 0); --nbAttempts, matches &= (matches - 1)) {
1196 U32 const matchPos = (head + ZSTD_VecMask_next(matches)) & rowMask;
1261 ZSTD_VecMask matches = ZSTD_row_getMatchMask(dmsTagRow, (BYTE)dmsTag, head, rowEntries);
1263 for (; (matches > 0) && (nbAttempts > 0); --nbAttempts, matches &= (matches - 1)) {
1264 U32 const matchPos = (head + ZSTD_VecMask_next(matches)) & rowMask;