Lines Matching refs:len
27 /// \param len How many bytes have already been compared and will
36 /// This is always at least len and at most limit.
44 uint32_t len, uint32_t limit)
46 assert(len <= limit);
63 while (len < limit) {
64 const uint64_t x = read64ne(buf1 + len) - read64ne(buf2 + len);
69 len += (uint32_t)tmp >> 3;
71 len += (uint32_t)__builtin_ctzll(x) >> 3;
73 return my_min(len, limit);
76 len += 8;
95 while (len < limit) {
97 _mm_loadu_si128((const __m128i *)(buf1 + len)),
98 _mm_loadu_si128((const __m128i *)(buf2 + len))));
101 len += ctz32(x);
102 return my_min(len, limit);
105 len += 16;
113 while (len < limit) {
114 uint32_t x = read32ne(buf1 + len) - read32ne(buf2 + len);
117 len += 2;
122 ++len;
124 return my_min(len, limit);
127 len += 4;
135 while (len < limit) {
136 uint32_t x = read32ne(buf1 + len) ^ read32ne(buf2 + len);
139 len += 2;
144 ++len;
146 return my_min(len, limit);
149 len += 4;
157 while (len < limit && buf1[len] == buf2[len])
158 ++len;
160 return len;