From 0b26678db2d042c6273c435df5cb5a37e7e04994 Mon Sep 17 00:00:00 2001 From: Keith Randall Date: Mon, 15 Sep 2025 19:59:22 -0700 Subject: [PATCH] cmd/compile: fix mips zerorange implementation A +8 was missed when simplifying this code in CL 700936. Fixes #75477 Change-Id: Ic7b83322dc1373432b44f0b63607141195220380 Reviewed-on: https://go-review.googlesource.com/c/go/+/703937 Reviewed-by: Keith Randall LUCI-TryBot-Result: Go LUCI Reviewed-by: Julian Zhu Auto-Submit: Keith Randall Reviewed-by: Tianon Gravi Reviewed-by: Michael Knyszek --- src/cmd/compile/internal/mips/ggen.go | 3 ++- src/cmd/compile/internal/mips64/ggen.go | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/cmd/compile/internal/mips/ggen.go b/src/cmd/compile/internal/mips/ggen.go index 023f4d958e..394f015589 100644 --- a/src/cmd/compile/internal/mips/ggen.go +++ b/src/cmd/compile/internal/mips/ggen.go @@ -5,6 +5,7 @@ package mips import ( + "cmd/compile/internal/base" "cmd/compile/internal/objw" "cmd/compile/internal/types" "cmd/internal/obj" @@ -17,7 +18,7 @@ func zerorange(pp *objw.Progs, p *obj.Prog, off, cnt int64, _ *uint32) *obj.Prog } for cnt != 0 { - p = pp.Append(p, mips.AMOVW, obj.TYPE_REG, mips.REGZERO, 0, obj.TYPE_MEM, mips.REGSP, off) + p = pp.Append(p, mips.AMOVW, obj.TYPE_REG, mips.REGZERO, 0, obj.TYPE_MEM, mips.REGSP, base.Ctxt.Arch.FixedFrameSize+off) cnt -= int64(types.PtrSize) off += int64(types.PtrSize) } diff --git a/src/cmd/compile/internal/mips64/ggen.go b/src/cmd/compile/internal/mips64/ggen.go index 0740d9abe8..740d68e335 100644 --- a/src/cmd/compile/internal/mips64/ggen.go +++ b/src/cmd/compile/internal/mips64/ggen.go @@ -17,7 +17,7 @@ func zerorange(pp *objw.Progs, p *obj.Prog, off, cnt int64, _ *uint32) *obj.Prog } for cnt != 0 { - p = pp.Append(p, mips.AMOVV, obj.TYPE_REG, mips.REGZERO, 0, obj.TYPE_MEM, mips.REGSP, off) + p = pp.Append(p, mips.AMOVV, obj.TYPE_REG, mips.REGZERO, 0, obj.TYPE_MEM, mips.REGSP, off+8) cnt -= int64(types.PtrSize) off += int64(types.PtrSize) } -- 2.52.0