cmd/compile: ARM's MOVWnop causes regalloc to insert unnecessary copies #37096
Labels
compiler/runtime
Issues related to the Go compiler and/or runtime.
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Performance
Milestone
MOVWnop is a nop/copy designed to ensure type safety. It generates no code. However, it is not free; regalloc sometimes makes a copy of a value to provide to MOVWnop, since it doesn't know that MOVWnop doesn't modify its argument.
I noticed this while tracking down regressions due to changes in rewrite rule order application.
I don't know what the best approach to fixing it is. Suggestions?
cc @cherrymui
The text was updated successfully, but these errors were encountered: