| // Copyright 2009 The Go Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style | |
| // license that can be found in the LICENSE file. | |
| TEXT ·IndexByte(SB),7,$0 | |
| MOVL p+0(FP), SI | |
| MOVL len+4(FP), CX | |
| MOVB b+12(FP), AL | |
| MOVL SI, DI | |
| CLD; REPN; SCASB | |
| JZ 3(PC) | |
| MOVL $-1, ret+16(FP) | |
| RET | |
| SUBL SI, DI | |
| SUBL $1, DI | |
| MOVL DI, ret+16(FP) | |
| RET | |
| TEXT ·Equal(SB),7,$0 | |
| MOVL len+4(FP), BX | |
| MOVL len1+16(FP), CX | |
| MOVL $0, AX | |
| CMPL BX, CX | |
| JNE eqret | |
| MOVL p+0(FP), SI | |
| MOVL q+12(FP), DI | |
| CLD | |
| REP; CMPSB | |
| JNE eqret | |
| MOVL $1, AX | |
| eqret: | |
| MOVB AX, ret+24(FP) | |
| RET |