>> separate and expensive instruction.
> I see no proof of this anywhere.
Huh. I see proof in your comment.
> UMULH
separate? Check.
> UMULH has 1/4 and 6
expensive (relative to MUL)? Check.
> I see no proof of this anywhere.
Huh. I see proof in your comment.
> UMULH
separate? Check.
> UMULH has 1/4 and 6
expensive (relative to MUL)? Check.
Since the wyhash function needs 2 64x64->128 multiplication, you'll need two high and two low muls on ARM, so this is pretty much a dense multiplication benchmark. No amount of scheduling can save you.
Still by my calculation that should only put the ARM chip at a 5x disadvantage in multiplication throughput, but it was nearly 18x slower. Frequency difference probably explains some of that, but not all.