diff options
Diffstat (limited to 'src/cmd')
| -rw-r--r-- | src/cmd/compile/internal/ssa/regalloc.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/ssa/regalloc.go b/src/cmd/compile/internal/ssa/regalloc.go index dbcc93a7dd..c1cef741fa 100644 --- a/src/cmd/compile/internal/ssa/regalloc.go +++ b/src/cmd/compile/internal/ssa/regalloc.go @@ -1810,7 +1810,7 @@ func (s *regAllocState) regalloc(f *Func) { if regspec.clobbersArg0 { s.freeReg(register(s.f.getHome(args[0].ID).(*Register).num)) } - if regspec.clobbersArg1 { + if regspec.clobbersArg1 && !(regspec.clobbersArg0 && s.f.getHome(args[0].ID) == s.f.getHome(args[1].ID)) { s.freeReg(register(s.f.getHome(args[1].ID).(*Register).num)) } |
