diff --git a/src/cmd/compile/internal/ssa/regalloc.go b/src/cmd/compile/internal/ssa/regalloc.go index 2e121df3cc..c7cdea261d 100644 --- a/src/cmd/compile/internal/ssa/regalloc.go +++ b/src/cmd/compile/internal/ssa/regalloc.go @@ -1688,7 +1688,7 @@ func (s *regAllocState) regalloc(f *Func) { } } // Avoid registers we're saving for other values. - if mask&^desired.avoid&^s.nospill != 0 { + if mask&^desired.avoid&^s.nospill&^s.used != 0 { mask &^= desired.avoid } r := s.allocReg(mask, v)