]> Cypherpunks.ru repositories - gostls13.git/blobdiff - src/runtime/asm_386.s
[dev.power64] all: merge default into dev.power64
[gostls13.git] / src / runtime / asm_386.s
index b4b81d7397eb03f169aa527eab2d639cb6deb20a..8cbabfed21cb6e8b5364a74bcfeea969394fc944 100644 (file)
@@ -486,11 +486,11 @@ TEXT runtime·cas64(SB), NOSPLIT, $0-21
        MOVL    new_hi+16(FP), CX
        LOCK
        CMPXCHG8B       0(BP)
-       JNZ     cas64_fail
+       JNZ     fail
        MOVL    $1, AX
        MOVB    AX, ret+20(FP)
        RET
-cas64_fail:
+fail:
        MOVL    $0, AX
        MOVB    AX, ret+20(FP)
        RET
@@ -1356,29 +1356,29 @@ TEXT strings·IndexByte(SB),NOSPLIT,$0
 //   AX = 1/0/-1
 TEXT runtime·cmpbody(SB),NOSPLIT,$0-0
        CMPL    SI, DI
-       JEQ     cmp_allsame
+       JEQ     allsame
        CMPL    BX, DX
        MOVL    DX, BP
        CMOVLLT BX, BP // BP = min(alen, blen)
        CMPL    BP, $4
-       JB      cmp_small
+       JB      small
        TESTL   $0x4000000, runtime·cpuid_edx(SB) // check for sse2
-       JE      cmp_mediumloop
-cmp_largeloop:
+       JE      mediumloop
+largeloop:
        CMPL    BP, $16
-       JB      cmp_mediumloop
+       JB      mediumloop
        MOVOU   (SI), X0
        MOVOU   (DI), X1
        PCMPEQB X0, X1
        PMOVMSKB X1, AX
        XORL    $0xffff, AX     // convert EQ to NE
-       JNE     cmp_diff16      // branch if at least one byte is not equal
+       JNE     diff16  // branch if at least one byte is not equal
        ADDL    $16, SI
        ADDL    $16, DI
        SUBL    $16, BP
-       JMP     cmp_largeloop
+       JMP     largeloop
 
-cmp_diff16:
+diff16:
        BSFL    AX, BX  // index of first byte that differs
        XORL    AX, AX
        MOVB    (SI)(BX*1), CX
@@ -1387,25 +1387,25 @@ cmp_diff16:
        LEAL    -1(AX*2), AX    // convert 1/0 to +1/-1
        RET
 
-cmp_mediumloop:
+mediumloop:
        CMPL    BP, $4
-       JBE     cmp_0through4
+       JBE     _0through4
        MOVL    (SI), AX
        MOVL    (DI), CX
        CMPL    AX, CX
-       JNE     cmp_diff4
+       JNE     diff4
        ADDL    $4, SI
        ADDL    $4, DI
        SUBL    $4, BP
-       JMP     cmp_mediumloop
+       JMP     mediumloop
 
-cmp_0through4:
+_0through4:
        MOVL    -4(SI)(BP*1), AX
        MOVL    -4(DI)(BP*1), CX
        CMPL    AX, CX
-       JEQ     cmp_allsame
+       JEQ     allsame
 
-cmp_diff4:
+diff4:
        BSWAPL  AX      // reverse order of bytes
        BSWAPL  CX
        XORL    AX, CX  // find bit differences
@@ -1416,37 +1416,37 @@ cmp_diff4:
        RET
 
        // 0-3 bytes in common
-cmp_small:
+small:
        LEAL    (BP*8), CX
        NEGL    CX
-       JEQ     cmp_allsame
+       JEQ     allsame
 
        // load si
        CMPB    SI, $0xfc
-       JA      cmp_si_high
+       JA      si_high
        MOVL    (SI), SI
-       JMP     cmp_si_finish
-cmp_si_high:
+       JMP     si_finish
+si_high:
        MOVL    -4(SI)(BP*1), SI
        SHRL    CX, SI
-cmp_si_finish:
+si_finish:
        SHLL    CX, SI
 
        // same for di
        CMPB    DI, $0xfc
-       JA      cmp_di_high
+       JA      di_high
        MOVL    (DI), DI
-       JMP     cmp_di_finish
-cmp_di_high:
+       JMP     di_finish
+di_high:
        MOVL    -4(DI)(BP*1), DI
        SHRL    CX, DI
-cmp_di_finish:
+di_finish:
        SHLL    CX, DI
 
        BSWAPL  SI      // reverse order of bytes
        BSWAPL  DI
        XORL    SI, DI  // find bit differences
-       JEQ     cmp_allsame
+       JEQ     allsame
        BSRL    DI, CX  // index of highest bit difference
        SHRL    CX, SI  // move a's bit to bottom
        ANDL    $1, SI  // mask bit
@@ -1455,7 +1455,7 @@ cmp_di_finish:
 
        // all the bytes in common are the same, so we just need
        // to compare the lengths.
-cmp_allsame:
+allsame:
        XORL    AX, AX
        XORL    CX, CX
        CMPL    BX, DX