Fixes #58735
Change-Id: I7cc1c34ed8454553328d44b2ea72e4c0255b6ec1
Reviewed-on: https://go-review.googlesource.com/c/go/+/471675
Run-TryBot: Keith Randall <khr@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Auto-Submit: Keith Randall <khr@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
one:
MOVL $0, R15
JMP two
+
+// Ensure 3-arg instructions get GOT-rewritten without errors.
+// See issue 58735.
+TEXT ·a13(SB), 0, $0-0
+ MULXQ runtime·writeBarrier(SB), AX, CX
+ RET
p2.As = p.As
p2.From = p.From
p2.To = p.To
+ if from3 := p.GetFrom3(); from3 != nil {
+ p2.SetFrom3(*from3)
+ }
if p.From.Name == obj.NAME_EXTERN {
p2.From.Reg = reg
p2.From.Name = obj.NAME_NONE