cmd/compile: bugs in mips rules #38648
Labels
arch-mips
compiler/runtime
Issues related to the Go compiler and/or runtime.
FrozenDueToAge
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone
I came across some bugs in the mips rules while reviewing the typed aux conversion for those rules.
Constant shifts require 0-31 as the shift amount. Rules like this:
(SLL x (MOVWconst [c])) => (SLLconst x [c])
Might violate that invariant. Might just need
&31
in a few places.We should check all the other uses of constant shifts to make sure they obey the invariant listed in the opcode definition. Maybe even define a new aux type
range0to31
or something to help with enforcement (which thecheck
pass can check).@ALTree
The text was updated successfully, but these errors were encountered: