Linux vmi284606.contaboserver.net 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Apache/2.4.57 (Ubuntu)
: 167.86.127.34 | : 216.73.217.31
Cant Read [ /etc/named.conf ]
7.2.24-0ubuntu0.18.04.17
root
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
local /
go /
src /
internal /
bytealg /
[ HOME SHELL ]
Name
Size
Permission
Action
bytealg.go
664
B
-rw-r--r--
compare_386.s
2.65
KB
-rw-r--r--
compare_amd64.s
4.13
KB
-rw-r--r--
compare_arm.s
1.75
KB
-rw-r--r--
compare_arm64.s
2.15
KB
-rw-r--r--
compare_generic.go
994
B
-rw-r--r--
compare_mips64x.s
1.66
KB
-rw-r--r--
compare_mipsx.s
1.39
KB
-rw-r--r--
compare_native.go
590
B
-rw-r--r--
compare_ppc64x.s
6.56
KB
-rw-r--r--
compare_s390x.s
1.19
KB
-rw-r--r--
compare_wasm.s
1.44
KB
-rw-r--r--
count_amd64.s
3.96
KB
-rw-r--r--
count_arm.s
917
B
-rw-r--r--
count_arm64.s
2.02
KB
-rw-r--r--
count_generic.go
460
B
-rw-r--r--
count_native.go
616
B
-rw-r--r--
count_ppc64x.s
2.71
KB
-rw-r--r--
count_s390x.s
5.38
KB
-rw-r--r--
equal_386.s
2.16
KB
-rw-r--r--
equal_amd64.s
2.52
KB
-rw-r--r--
equal_arm.s
1.81
KB
-rw-r--r--
equal_arm64.s
2.64
KB
-rw-r--r--
equal_generic.go
628
B
-rw-r--r--
equal_mips64x.s
1.02
KB
-rw-r--r--
equal_mipsx.s
1.07
KB
-rw-r--r--
equal_native.go
789
B
-rw-r--r--
equal_ppc64x.s
2.33
KB
-rw-r--r--
equal_riscv64.s
963
B
-rw-r--r--
equal_s390x.s
1.77
KB
-rw-r--r--
equal_wasm.s
1.1
KB
-rw-r--r--
index_amd64.go
617
B
-rw-r--r--
index_amd64.s
5
KB
-rw-r--r--
index_arm64.go
706
B
-rw-r--r--
index_arm64.s
3.91
KB
-rw-r--r--
index_generic.go
872
B
-rw-r--r--
index_native.go
559
B
-rw-r--r--
index_s390x.go
1011
B
-rw-r--r--
index_s390x.s
5.5
KB
-rw-r--r--
indexbyte_386.s
647
B
-rw-r--r--
indexbyte_amd64.s
3.07
KB
-rw-r--r--
indexbyte_arm.s
951
B
-rw-r--r--
indexbyte_arm64.s
3.33
KB
-rw-r--r--
indexbyte_generic.go
516
B
-rw-r--r--
indexbyte_mips64x.s
981
B
-rw-r--r--
indexbyte_mipsx.s
1008
B
-rw-r--r--
indexbyte_native.go
378
B
-rw-r--r--
indexbyte_ppc64x.s
7.78
KB
-rw-r--r--
indexbyte_riscv64.s
934
B
-rw-r--r--
indexbyte_s390x.s
2.49
KB
-rw-r--r--
indexbyte_wasm.s
2.54
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : indexbyte_amd64.s
// 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-40 MOVQ b_base+0(FP), SI MOVQ b_len+8(FP), BX MOVB c+24(FP), AL LEAQ ret+32(FP), R8 JMP indexbytebody<>(SB) TEXT ·IndexByteString(SB), NOSPLIT, $0-32 MOVQ s_base+0(FP), SI MOVQ s_len+8(FP), BX MOVB c+16(FP), AL LEAQ ret+24(FP), R8 JMP indexbytebody<>(SB) // input: // SI: data // BX: data len // AL: byte sought // R8: address to put result TEXT indexbytebody<>(SB), NOSPLIT, $0 // Shuffle X0 around so that each byte contains // the character we're looking for. MOVD AX, X0 PUNPCKLBW X0, X0 PUNPCKLBW X0, X0 PSHUFL $0, X0, X0 CMPQ BX, $16 JLT small MOVQ SI, DI CMPQ BX, $32 JA avx2 sse: LEAQ -16(SI)(BX*1), AX // AX = address of last 16 bytes JMP sseloopentry sseloop: // Move the next 16-byte chunk of the data into X1. MOVOU (DI), X1 // Compare bytes in X0 to X1. PCMPEQB X0, X1 // Take the top bit of each byte in X1 and put the result in DX. PMOVMSKB X1, DX // Find first set bit, if any. BSFL DX, DX JNZ ssesuccess // Advance to next block. ADDQ $16, DI sseloopentry: CMPQ DI, AX JB sseloop // Search the last 16-byte chunk. This chunk may overlap with the // chunks we've already searched, but that's ok. MOVQ AX, DI MOVOU (AX), X1 PCMPEQB X0, X1 PMOVMSKB X1, DX BSFL DX, DX JNZ ssesuccess failure: MOVQ $-1, (R8) RET // We've found a chunk containing the byte. // The chunk was loaded from DI. // The index of the matching byte in the chunk is DX. // The start of the data is SI. ssesuccess: SUBQ SI, DI // Compute offset of chunk within data. ADDQ DX, DI // Add offset of byte within chunk. MOVQ DI, (R8) RET // handle for lengths < 16 small: TESTQ BX, BX JEQ failure // Check if we'll load across a page boundary. LEAQ 16(SI), AX TESTW $0xff0, AX JEQ endofpage MOVOU (SI), X1 // Load data PCMPEQB X0, X1 // Compare target byte with each byte in data. PMOVMSKB X1, DX // Move result bits to integer register. BSFL DX, DX // Find first set bit. JZ failure // No set bit, failure. CMPL DX, BX JAE failure // Match is past end of data. MOVQ DX, (R8) RET endofpage: MOVOU -16(SI)(BX*1), X1 // Load data into the high end of X1. PCMPEQB X0, X1 // Compare target byte with each byte in data. PMOVMSKB X1, DX // Move result bits to integer register. MOVL BX, CX SHLL CX, DX SHRL $16, DX // Shift desired bits down to bottom of register. BSFL DX, DX // Find first set bit. JZ failure // No set bit, failure. MOVQ DX, (R8) RET avx2: CMPB internal∕cpu·X86+const_offsetX86HasAVX2(SB), $1 JNE sse MOVD AX, X0 LEAQ -32(SI)(BX*1), R11 VPBROADCASTB X0, Y1 avx2_loop: VMOVDQU (DI), Y2 VPCMPEQB Y1, Y2, Y3 VPTEST Y3, Y3 JNZ avx2success ADDQ $32, DI CMPQ DI, R11 JLT avx2_loop MOVQ R11, DI VMOVDQU (DI), Y2 VPCMPEQB Y1, Y2, Y3 VPTEST Y3, Y3 JNZ avx2success VZEROUPPER MOVQ $-1, (R8) RET avx2success: VPMOVMSKB Y3, DX BSFL DX, DX SUBQ SI, DI ADDQ DI, DX MOVQ DX, (R8) VZEROUPPER RET
Close