cmd/compile: suboptimal bits.Rotate* on arm64 #48465
Labels
arch-arm64
FrozenDueToAge
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Performance
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Reproduces with
What operating system and processor architecture are you using (
go env
)?What did you do?
What did you expect to see?
Would have been nice to see a fused rotate-xor (#48002), but at least the generated asm should be the same.
What did you see instead?
For rotxor1:
For rotxor2:
The compiler inserts a mov and allocates a register for the shift constant when the intrinsic is used. This is a regression introduced in Go 1.12. It's not limited to these tiny functions: I spotted this when inspecting the generated asm for SipHash.
The text was updated successfully, but these errors were encountered: