The MOVVP instruction has a larger offset range, and removes 928
instructions from the go binary on loong64.
file before after Δ
go
1634208 1634064 -144
gofmt 323324 323240 -84
asm 567870 567778 -92
cgo 487694 487598 -96
compile
2500266 2500142 -124
cover 530590 530498 -92
link 723804 723692 -112
preprofile 240562 240474 -88
vet 819672 819576 -96
Change-Id: Ib0efcb006d3ae3f2bceec0d6e88f3794d5e99831
Reviewed-on: https://go-review.googlesource.com/c/go/+/702715
Reviewed-by: abner chenc <chenguoqi@loongson.cn>
Reviewed-by: Mark Freeman <markfreeman@google.com>
Reviewed-by: Meidan Li <limeidan@loongson.cn>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
q = c.ctxt.StartUnsafePoint(q, c.newprog)
q = obj.Appendp(q, newprog)
- q.As = mov
+ q.As = AMOVVP
q.Pos = p.Pos
q.From.Type = obj.TYPE_REG
q.From.Reg = REGLINK