mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: add rules about ORN and ANDN
Reduce the number of go toolchain instructions on loong64 as follows.
file before after Δ %
addr2line 279880 279776 -104 -0.0372%
asm 556638 556410 -228 -0.0410%
buildid 272272 272072 -200 -0.0735%
cgo 481522 481318 -204 -0.0424%
compile 2457788 2457580 -208 -0.0085%
covdata 323384 323280 -104 -0.0322%
cover 518450 518234 -216 -0.0417%
dist 340790 340686 -104 -0.0305%
distpack 282456 282252 -204 -0.0722%
doc 789932 789688 -244 -0.0309%
fix 324332 324228 -104 -0.0321%
link 704622 704390 -232 -0.0329%
nm 277132 277028 -104 -0.0375%
objdump 507862 507758 -104 -0.0205%
pack 221774 221674 -100 -0.0451%
pprof 1469816 1469552 -264 -0.0180%
test2json 254836 254732 -104 -0.0408%
trace 1100002 1099738 -264 -0.0240%
vet 781078 780874 -204 -0.0261%
go 1529116 1528848 -268 -0.0175%
gofmt 318556 318448 -108 -0.0339%
total 13792238 13788566 -3672 -0.0266%
Change-Id: I23fb3ebd41309252c7075e57ea7094e79f8c4fef
Reviewed-on: https://go-review.googlesource.com/c/go/+/674335
Reviewed-by: abner chenc <chenguoqi@loongson.cn>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: abner chenc <chenguoqi@loongson.cn>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Meidan Li <limeidan@loongson.cn>
This commit is contained in:
parent
0810fd2d92
commit
4ce1c8e9e1
6 changed files with 90 additions and 0 deletions
|
|
@ -221,6 +221,8 @@ func init() {
|
|||
{name: "XORconst", argLength: 1, reg: gp11, asm: "XOR", aux: "Int64", typ: "UInt64"}, // arg0 ^ auxInt
|
||||
{name: "NOR", argLength: 2, reg: gp21, asm: "NOR", commutative: true}, // ^(arg0 | arg1)
|
||||
{name: "NORconst", argLength: 1, reg: gp11, asm: "NOR", aux: "Int64"}, // ^(arg0 | auxInt)
|
||||
{name: "ANDN", argLength: 2, reg: gp21, asm: "ANDN"}, // arg0 & ^arg1
|
||||
{name: "ORN", argLength: 2, reg: gp21, asm: "ORN"}, // arg0 | ^arg1
|
||||
|
||||
{name: "FMADDF", argLength: 3, reg: fp31, asm: "FMADDF", commutative: true, typ: "Float32"}, // (arg0 * arg1) + arg2
|
||||
{name: "FMADDD", argLength: 3, reg: fp31, asm: "FMADDD", commutative: true, typ: "Float64"}, // (arg0 * arg1) + arg2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue