diff options
| author | Wayne Zuo <wdvxdr@golangcn.org> | 2022-09-06 22:29:31 +0800 |
|---|---|---|
| committer | David Chase <drchase@google.com> | 2022-10-07 18:16:26 +0000 |
| commit | 90a352742754cd8731302f23bfa4a47f0b3f5f40 (patch) | |
| tree | 32f75a876fdd1cd37929a2b1f9dd1facafcde7d5 /test/codegen/mathbits.go | |
| parent | 97760ed651f88341bcf15aa4980863c199b6f3dc (diff) | |
| download | go-90a352742754cd8731302f23bfa4a47f0b3f5f40.tar.xz | |
cmd/compile: intrinsify Sub64 on loong64
This is a follow up of CL 420095 on loong64.
file before after Δ %
compile/internal/ssa.a 35649482 35653274 +3792 +0.011%
compile/internal/ssagen.a 4099858 4098728 -1130 -0.028%
ecdh.a 227896 226896 -1000 -0.439%
internal/nistec/fiat.a 1212254 1128184 -84070 -6.935%
tls.a 3256800 3256802 +2 +0.000%
big.a 1708518 1702496 -6022 -0.352%
bits.a 106762 105734 -1028 -0.963%
math.a 578762 577288 -1474 -0.255%
netip.a 555922 555610 -312 -0.056%
net.a 3286528 3286530 +2 +0.000%
golang.org/x/crypto/internal/poly1305.a 109546 107686 -1860 -1.698%
total 260392768 260299668 -93100 -0.036%
Change-Id: Ieffca705aae5666501f284502d986ca179dde494
Reviewed-on: https://go-review.googlesource.com/c/go/+/428557
Reviewed-by: Carlos Amedee <carlos@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
Run-TryBot: Wayne Zuo <wdvxdr@golangcn.org>
Diffstat (limited to 'test/codegen/mathbits.go')
| -rw-r--r-- | test/codegen/mathbits.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/test/codegen/mathbits.go b/test/codegen/mathbits.go index bd23b90b9b..acc9930c61 100644 --- a/test/codegen/mathbits.go +++ b/test/codegen/mathbits.go @@ -627,6 +627,7 @@ func Add64MPanicOnOverflowGT(a, b [2]uint64) [2]uint64 { func Sub(x, y, ci uint) (r, co uint) { // amd64:"NEGL","SBBQ","NEGQ" // arm64:"NEGS","SBCS","NGC","NEG",-"ADD",-"SUB",-"CMP" + // loong64:"SUBV","SGTU" // ppc64:"SUBC", "SUBE", "SUBZE", "NEG" // ppc64le:"SUBC", "SUBE", "SUBZE", "NEG" // s390x:"SUBE" @@ -637,6 +638,7 @@ func Sub(x, y, ci uint) (r, co uint) { func SubC(x, ci uint) (r, co uint) { // amd64:"NEGL","SBBQ","NEGQ" // arm64:"NEGS","SBCS","NGC","NEG",-"ADD",-"SUB",-"CMP" + // loong64:"SUBV","SGTU" // ppc64:"SUBC", "SUBE", "SUBZE", "NEG" // ppc64le:"SUBC", "SUBE", "SUBZE", "NEG" // s390x:"SUBE" @@ -647,6 +649,7 @@ func SubC(x, ci uint) (r, co uint) { func SubZ(x, y uint) (r, co uint) { // amd64:"SUBQ","SBBQ","NEGQ",-"NEGL" // arm64:"SUBS","NGC","NEG",-"SBCS",-"ADD",-"SUB\t",-"CMP" + // loong64:"SUBV","SGTU" // ppc64:"SUBC", -"SUBE", "SUBZE", "NEG" // ppc64le:"SUBC", -"SUBE", "SUBZE", "NEG" // s390x:"SUBC" @@ -657,6 +660,7 @@ func SubZ(x, y uint) (r, co uint) { func SubR(x, y, ci uint) uint { // amd64:"NEGL","SBBQ",-"NEGQ" // arm64:"NEGS","SBCS",-"NGC",-"NEG\t",-"ADD",-"SUB",-"CMP" + // loong64:"SUBV",-"SGTU" // ppc64:"SUBC", "SUBE", -"SUBZE", -"NEG" // ppc64le:"SUBC", "SUBE", -"SUBZE", -"NEG" // s390x:"SUBE" @@ -679,6 +683,7 @@ func SubM(p, q, r *[3]uint) { func Sub64(x, y, ci uint64) (r, co uint64) { // amd64:"NEGL","SBBQ","NEGQ" // arm64:"NEGS","SBCS","NGC","NEG",-"ADD",-"SUB",-"CMP" + // loong64:"SUBV","SGTU" // ppc64:"SUBC", "SUBE", "SUBZE", "NEG" // ppc64le:"SUBC", "SUBE", "SUBZE", "NEG" // s390x:"SUBE" @@ -689,6 +694,7 @@ func Sub64(x, y, ci uint64) (r, co uint64) { func Sub64C(x, ci uint64) (r, co uint64) { // amd64:"NEGL","SBBQ","NEGQ" // arm64:"NEGS","SBCS","NGC","NEG",-"ADD",-"SUB",-"CMP" + // loong64:"SUBV","SGTU" // ppc64:"SUBC", "SUBE", "SUBZE", "NEG" // ppc64le:"SUBC", "SUBE", "SUBZE", "NEG" // s390x:"SUBE" @@ -699,6 +705,7 @@ func Sub64C(x, ci uint64) (r, co uint64) { func Sub64Z(x, y uint64) (r, co uint64) { // amd64:"SUBQ","SBBQ","NEGQ",-"NEGL" // arm64:"SUBS","NGC","NEG",-"SBCS",-"ADD",-"SUB\t",-"CMP" + // loong64:"SUBV","SGTU" // ppc64:"SUBC", -"SUBE", "SUBZE", "NEG" // ppc64le:"SUBC", -"SUBE", "SUBZE", "NEG" // s390x:"SUBC" @@ -709,6 +716,7 @@ func Sub64Z(x, y uint64) (r, co uint64) { func Sub64R(x, y, ci uint64) uint64 { // amd64:"NEGL","SBBQ",-"NEGQ" // arm64:"NEGS","SBCS",-"NGC",-"NEG\t",-"ADD",-"SUB",-"CMP" + // loong64:"SUBV",-"SGTU" // ppc64:"SUBC", "SUBE", -"SUBZE", -"NEG" // ppc64le:"SUBC", "SUBE", -"SUBZE", -"NEG" // s390x:"SUBE" |
