| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/lib/go/src/internal/bytealg/ |
Upload File : |
// 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. //go:build mips64 || mips64le #include "go_asm.h" #include "textflag.h" TEXT ·IndexByte(SB),NOSPLIT,$0-40 MOVV b_base+0(FP), R1 MOVV b_len+8(FP), R2 MOVBU c+24(FP), R3 // byte to find MOVV R1, R4 // store base for later ADDV R1, R2 // end ADDV $-1, R1 loop: ADDV $1, R1 BEQ R1, R2, notfound MOVBU (R1), R5 BNE R3, R5, loop SUBV R4, R1 // remove base MOVV R1, ret+32(FP) RET notfound: MOVV $-1, R1 MOVV R1, ret+32(FP) RET TEXT ·IndexByteString(SB),NOSPLIT,$0-32 MOVV s_base+0(FP), R1 MOVV s_len+8(FP), R2 MOVBU c+16(FP), R3 // byte to find MOVV R1, R4 // store base for later ADDV R1, R2 // end ADDV $-1, R1 loop: ADDV $1, R1 BEQ R1, R2, notfound MOVBU (R1), R5 BNE R3, R5, loop SUBV R4, R1 // remove base MOVV R1, ret+24(FP) RET notfound: MOVV $-1, R1 MOVV R1, ret+24(FP) RET