// Copyright 2018 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. #include "go_asm.h" #include "textflag.h" TEXT ·IndexByte(SB),NOSPLIT,$0-20 MOVL b_base+0(FP), SI MOVL b_len+4(FP), CX MOVB c+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 ·IndexByteString(SB),NOSPLIT,$0-16 MOVL s_base+0(FP), SI MOVL s_len+4(FP), CX MOVB c+8(FP), AL MOVL SI, DI CLD; REPN; SCASB JZ 3(PC) MOVL $-1, ret+12(FP) RET SUBL SI, DI SUBL $1, DI MOVL DI, ret+12(FP) RET