diff --git a/src/cmd/compile/internal/ssa/rewriteRISCV64.go b/src/cmd/compile/internal/ssa/rewriteRISCV64.go index 7d16fe887f..7eed0f1700 100644 --- a/src/cmd/compile/internal/ssa/rewriteRISCV64.go +++ b/src/cmd/compile/internal/ssa/rewriteRISCV64.go @@ -6324,7 +6324,7 @@ func rewriteValueRISCV64_OpRISCV64SRL(v *Value) bool { func rewriteValueRISCV64_OpRISCV64SRLI(v *Value) bool { v_0 := v.Args[0] // match: (SRLI [x] (MOVWUreg y)) - // result: (SRLIW [x] y) + // result: (SRLIW [int64(x&31)] y) for { t := v.Type x := auxIntToInt64(v.AuxInt) @@ -6334,7 +6334,7 @@ func rewriteValueRISCV64_OpRISCV64SRLI(v *Value) bool { y := v_0.Args[0] v.reset(OpRISCV64SRLIW) v.Type = t - v.AuxInt = int64ToAuxInt(x) + v.AuxInt = int64ToAuxInt(int64(x & 31)) v.AddArg(y) return true }