diff options
author | Michael Stapelberg <stapelberg@debian.org> | 2013-03-04 21:27:36 +0100 |
---|---|---|
committer | Michael Stapelberg <michael@stapelberg.de> | 2013-03-04 21:27:36 +0100 |
commit | 04b08da9af0c450d645ab7389d1467308cfc2db8 (patch) | |
tree | db247935fa4f2f94408edc3acd5d0d4f997aa0d8 /src/pkg/bytes/asm_amd64.s | |
parent | 917c5fb8ec48e22459d77e3849e6d388f93d3260 (diff) | |
download | golang-04b08da9af0c450d645ab7389d1467308cfc2db8.tar.gz |
Imported Upstream version 1.1~hg20130304upstream/1.1_hg20130304
Diffstat (limited to 'src/pkg/bytes/asm_amd64.s')
-rw-r--r-- | src/pkg/bytes/asm_amd64.s | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/pkg/bytes/asm_amd64.s b/src/pkg/bytes/asm_amd64.s index 5caea5c52..482422642 100644 --- a/src/pkg/bytes/asm_amd64.s +++ b/src/pkg/bytes/asm_amd64.s @@ -3,12 +3,12 @@ // license that can be found in the LICENSE file. TEXT ·IndexByte(SB),7,$0 - MOVQ p+0(FP), SI - MOVL len+8(FP), BX - MOVB b+16(FP), AL + MOVQ s+0(FP), SI + MOVQ s+8(FP), BX + MOVB c+24(FP), AL MOVQ SI, DI - CMPL BX, $16 + CMPQ BX, $16 JLT small // round up to first 16-byte boundary @@ -63,15 +63,15 @@ condition: JZ success failure: - MOVL $-1, ret+24(FP) + MOVQ $-1, r+32(FP) RET // handle for lengths < 16 small: - MOVL BX, CX + MOVQ BX, CX REPN; SCASB JZ success - MOVL $-1, ret+24(FP) + MOVQ $-1, r+32(FP) RET // we've found the chunk containing the byte @@ -81,28 +81,28 @@ ssesuccess: BSFW DX, DX SUBQ SI, DI ADDQ DI, DX - MOVL DX, ret+24(FP) + MOVQ DX, r+32(FP) RET success: SUBQ SI, DI SUBL $1, DI - MOVL DI, ret+24(FP) + MOVQ DI, r+32(FP) RET TEXT ·Equal(SB),7,$0 - MOVL len+8(FP), BX - MOVL len1+24(FP), CX + MOVQ a+8(FP), BX + MOVQ b+32(FP), CX MOVL $0, AX - CMPL BX, CX + CMPQ BX, CX JNE eqret - MOVQ p+0(FP), SI - MOVQ q+16(FP), DI + MOVQ a+0(FP), SI + MOVQ b+24(FP), DI CLD REP; CMPSB MOVL $1, DX CMOVLEQ DX, AX eqret: - MOVB AX, ret+32(FP) + MOVB AX, r+48(FP) RET |