]> Cypherpunks repositories - gostls13.git/commitdiff
runtime,internal/bytealg: optimize wasmZero, wasmMove, Compare
authorAgniva De Sarker <agnivade@yahoo.co.in>
Thu, 10 Oct 2019 07:01:43 +0000 (12:31 +0530)
committerAgniva De Sarker <agniva.quicksilver@gmail.com>
Fri, 11 Oct 2019 04:00:35 +0000 (04:00 +0000)
Coalesce set/get pairs into a tee.

Change-Id: I88ccdcb148465615437bebf24145e941a037e0a5
Reviewed-on: https://go-review.googlesource.com/c/go/+/200357
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Richard Musiol <neelance@gmail.com>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/internal/bytealg/compare_wasm.s
src/runtime/sys_wasm.s

index 2d28215b1a4df3fd76ff4140581bfdc9e77963f5..dc8fb33cfb315ba66f6ad98c22a6981de1e3c5a5 100644 (file)
@@ -45,9 +45,8 @@ TEXT cmpbody<>(SB), NOSPLIT, $0-0
        I32WrapI64
        Call memcmp<>(SB)
        I64ExtendI32S
-       Set R5
+       Tee R5
 
-       Get R5
        I64Eqz
        If
                // check length
index 0cd1fe508083793bac23f3c85eb948729af6d717..41260bdf23e28ebc292f43ba9df99a7b1842b81a 100644 (file)
@@ -17,10 +17,9 @@ loop:
                Get R2
                I32Const $1
                I32Sub
-               Set R2
+               Tee R2
 
                // n == 0
-               Get R2
                I32Eqz
                If
                        Return
@@ -54,10 +53,9 @@ loop:
                Get R1
                I32Const $1
                I32Sub
-               Set R1
+               Tee R1
 
                // n == 0
-               Get R1
                I32Eqz
                If
                        Return