]> Cypherpunks.ru repositories - gostls13.git/blobdiff - src/internal/bytealg/equal_riscv64.s
all: clean up addition of constants in riscv64 assembly
[gostls13.git] / src / internal / bytealg / equal_riscv64.s
index 503aac575198fb9fccfd94db132acaa611341967..7f470ce0a01d257cc276c6fd8f8664f41aa25f8c 100644 (file)
@@ -41,7 +41,7 @@ TEXT memequal<>(SB),NOSPLIT|NOFRAME,$0
        ADD     $8, X9, X9
        SUB     X9, X12, X12
 align:
-       ADD     $-1, X9
+       SUB     $1, X9
        MOVBU   0(X10), X19
        MOVBU   0(X11), X20
        BNE     X19, X20, not_eq
@@ -67,7 +67,7 @@ loop32:
        BNE     X16, X17, not_eq
        ADD     $32, X10
        ADD     $32, X11
-       ADD     $-32, X12
+       SUB     $32, X12
        BGE     X12, X9, loop32
        BEQZ    X12, eq
 
@@ -83,7 +83,7 @@ loop16:
        BNE     X21, X22, not_eq
        ADD     $16, X10
        ADD     $16, X11
-       ADD     $-16, X12
+       SUB     $16, X12
        BGE     X12, X23, loop16
        BEQZ    X12, eq
 
@@ -105,7 +105,7 @@ loop4:
        BNE     X16, X17, not_eq
        ADD     $4, X10
        ADD     $4, X11
-       ADD     $-4, X12
+       SUB     $4, X12
        BGE     X12, X23, loop4
 
 loop1:
@@ -115,7 +115,7 @@ loop1:
        BNE     X19, X20, not_eq
        ADD     $1, X10
        ADD     $1, X11
-       ADD     $-1, X12
+       SUB     $1, X12
        JMP     loop1
 
 not_eq: