Lines Matching refs:Rotate
98 // Bitwise right rotate. Normally this will compile to a single
100 static uint64 Rotate(uint64 val, int shift) {
105 // Equivalent to Rotate(), but requires the second arg to be non-zero.
148 return HashLen16(Rotate(a - b, 43) + Rotate(c, 30) + d,
149 a + Rotate(b ^ k3, 20) - c + len);
157 b = Rotate(b + a + z, 21);
161 b += Rotate(a, 44);
180 uint64 b = Rotate(a + z, 52);
181 uint64 c = Rotate(a, 37);
183 c += Rotate(a, 7);
186 uint64 vs = b + Rotate(a, 31) + c;
189 b = Rotate(a + z, 52);
190 c = Rotate(a, 37);
192 c += Rotate(a, 7);
195 uint64 ws = b + Rotate(a, 31) + c;
223 x = Rotate(x + y + v.first + Fetch64(s + 8), 37) * k1;
224 y = Rotate(y + v.second + Fetch64(s + 48), 42) * k1;
227 z = Rotate(z + w.first, 33) * k1;
290 v.first = Rotate(y ^ k1, 49) * k1 + Fetch64(s);
291 v.second = Rotate(v.first, 42) * k1 + Fetch64(s + 8);
292 w.first = Rotate(y + z, 35) * k1 + x;
293 w.second = Rotate(x + Fetch64(s + 88), 53) * k1;
297 x = Rotate(x + y + v.first + Fetch64(s + 8), 37) * k1;
298 y = Rotate(y + v.second + Fetch64(s + 48), 42) * k1;
301 z = Rotate(z + w.first, 33) * k1;
306 x = Rotate(x + y + v.first + Fetch64(s + 8), 37) * k1;
307 y = Rotate(y + v.second + Fetch64(s + 48), 42) * k1;
310 z = Rotate(z + w.first, 33) * k1;
317 x += Rotate(v.first + z, 49) * k0;
318 z += Rotate(w.first, 37) * k0;
322 y = Rotate(x + y, 42) * k0 + v.second;
379 a = Rotate(b, 41 ^ z) * multiplier + Fetch64(s); \
380 b = Rotate(c, 27 ^ z) * multiplier + Fetch64(s + 8); \
381 c = Rotate(d, 41 ^ z) * multiplier + Fetch64(s + 16); \
382 d = Rotate(e, 33 ^ z) * multiplier + Fetch64(s + 24); \
383 e = Rotate(t, 25 ^ z) * multiplier + Fetch64(s + 32); \
451 HashLen16(Rotate(v, 32), u * k0 + result[3]));