We were not unrolling the == loop because the generated code with unrolling was very branchy; but that's not a good call either because the loop has the same number of unpredicted branches. Theoretically the compiler should be able to emit a branchless == but it doesn't. At least we give it a chance.