]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: simplify slice/array range loops on loong64
authorGuoqi Chen <chenguoqi@loongson.cn>
Thu, 22 Jan 2026 02:44:19 +0000 (10:44 +0800)
committerabner chenc <chenguoqi@loongson.cn>
Wed, 28 Jan 2026 14:42:05 +0000 (06:42 -0800)
commit134035855cbc84e25765c2a4af3d152aaf430c5c
tree1aa4c413e8920e2da4a6b23b563635a2fba0fc50
parentf65fe3216ef67b4318f8da475ec59418dfc4fb5d
cmd/compile: simplify slice/array range loops on loong64

loong64 supports R+R addressing ({st,ld}x.{b,h,w,d} instructions)
and has implemented the relevant lowering rules (only width is 1).

Removes 1616 instructions from the go binary on loong64.

file         before    after      Δ         %
asm          575366    575314    -52     -0.0090%
cgo          489972    489884    -88     -0.0180%
compile     2920418   2920110    -308    -0.0105%
cover        540458    540290    -168    -0.0311%
fix          865840    865668    -172    -0.0199%
link         732858    732662    -196    -0.0267%
preprofile   246022    245978    -44     -0.0179%
vet          839268    839124    -144    -0.0172%
go          1666470   1666114    -356    -0.0214%
gofmt        326526    326438    -88     -0.0270%
total       9203198   9201582    -1616   -0.0176%

Change-Id: If3518547c785764877a6cf987781d43d8b572990
Reviewed-on: https://go-review.googlesource.com/c/go/+/738240
Reviewed-by: Keith Randall <khr@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
src/cmd/compile/internal/walk/range.go