+ size_t shared_len = min(n1, n2);
+ if (shared_len >= 8) {
+ uint64_t a1 = *(const uint64_t *)s1;
+ uint64_t a2 = *(const uint64_t *)s2;
+ if (a1 != a2) {
+ a1 = __builtin_bswap64(a1);
+ a2 = __builtin_bswap64(a2);
+ return (a1 < a2) ? -1 : 1;
+ }
+ }
+