+ uint32_t tmp = 0;
+
+ memcpy(&tmp, p, n);
+ hash = mhash_add__(hash, tmp);
+ }
+
+ return mhash_finish(hash, orig_n);
+}
+
+/* Returns the hash of the 'n' 32-bit words at 'p', starting from 'basis'.
+ * 'p' must be properly aligned. */
+uint32_t
+hash_words(const uint32_t p[], size_t n_words, uint32_t basis)
+{
+ uint32_t hash;
+ size_t i;
+
+ hash = basis;
+ for (i = 0; i < n_words; i++) {
+ hash = mhash_add(hash, p[i]);