mirror of
https://github.com/kemko/reproxy.git
synced 2026-01-01 15:55:49 +03:00
Bumps the go-modules-updates group with 2 updates in the / directory: [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) and [golang.org/x/crypto](https://github.com/golang/crypto). Updates `github.com/prometheus/client_golang` from 1.19.1 to 1.20.2 - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.19.1...v1.20.2) Updates `golang.org/x/crypto` from 0.24.0 to 0.26.0 - [Commits](https://github.com/golang/crypto/compare/v0.24.0...v0.26.0) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go-modules-updates - dependency-name: golang.org/x/crypto dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go-modules-updates ... Signed-off-by: dependabot[bot] <support@github.com>
127 lines
2.3 KiB
ArmAsm
127 lines
2.3 KiB
ArmAsm
// Code generated by command: go run gen_fse.go -out ../fse_decoder_amd64.s -pkg=zstd. DO NOT EDIT.
|
|
|
|
//go:build !appengine && !noasm && gc && !noasm
|
|
|
|
// func buildDtable_asm(s *fseDecoder, ctx *buildDtableAsmContext) int
|
|
TEXT ·buildDtable_asm(SB), $0-24
|
|
MOVQ ctx+8(FP), CX
|
|
MOVQ s+0(FP), DI
|
|
|
|
// Load values
|
|
MOVBQZX 4098(DI), DX
|
|
XORQ AX, AX
|
|
BTSQ DX, AX
|
|
MOVQ (CX), BX
|
|
MOVQ 16(CX), SI
|
|
LEAQ -1(AX), R8
|
|
MOVQ 8(CX), CX
|
|
MOVWQZX 4096(DI), DI
|
|
|
|
// End load values
|
|
// Init, lay down lowprob symbols
|
|
XORQ R9, R9
|
|
JMP init_main_loop_condition
|
|
|
|
init_main_loop:
|
|
MOVWQSX (CX)(R9*2), R10
|
|
CMPW R10, $-1
|
|
JNE do_not_update_high_threshold
|
|
MOVB R9, 1(SI)(R8*8)
|
|
DECQ R8
|
|
MOVQ $0x0000000000000001, R10
|
|
|
|
do_not_update_high_threshold:
|
|
MOVW R10, (BX)(R9*2)
|
|
INCQ R9
|
|
|
|
init_main_loop_condition:
|
|
CMPQ R9, DI
|
|
JL init_main_loop
|
|
|
|
// Spread symbols
|
|
// Calculate table step
|
|
MOVQ AX, R9
|
|
SHRQ $0x01, R9
|
|
MOVQ AX, R10
|
|
SHRQ $0x03, R10
|
|
LEAQ 3(R9)(R10*1), R9
|
|
|
|
// Fill add bits values
|
|
LEAQ -1(AX), R10
|
|
XORQ R11, R11
|
|
XORQ R12, R12
|
|
JMP spread_main_loop_condition
|
|
|
|
spread_main_loop:
|
|
XORQ R13, R13
|
|
MOVWQSX (CX)(R12*2), R14
|
|
JMP spread_inner_loop_condition
|
|
|
|
spread_inner_loop:
|
|
MOVB R12, 1(SI)(R11*8)
|
|
|
|
adjust_position:
|
|
ADDQ R9, R11
|
|
ANDQ R10, R11
|
|
CMPQ R11, R8
|
|
JG adjust_position
|
|
INCQ R13
|
|
|
|
spread_inner_loop_condition:
|
|
CMPQ R13, R14
|
|
JL spread_inner_loop
|
|
INCQ R12
|
|
|
|
spread_main_loop_condition:
|
|
CMPQ R12, DI
|
|
JL spread_main_loop
|
|
TESTQ R11, R11
|
|
JZ spread_check_ok
|
|
MOVQ ctx+8(FP), AX
|
|
MOVQ R11, 24(AX)
|
|
MOVQ $+1, ret+16(FP)
|
|
RET
|
|
|
|
spread_check_ok:
|
|
// Build Decoding table
|
|
XORQ DI, DI
|
|
|
|
build_table_main_table:
|
|
MOVBQZX 1(SI)(DI*8), CX
|
|
MOVWQZX (BX)(CX*2), R8
|
|
LEAQ 1(R8), R9
|
|
MOVW R9, (BX)(CX*2)
|
|
MOVQ R8, R9
|
|
BSRQ R9, R9
|
|
MOVQ DX, CX
|
|
SUBQ R9, CX
|
|
SHLQ CL, R8
|
|
SUBQ AX, R8
|
|
MOVB CL, (SI)(DI*8)
|
|
MOVW R8, 2(SI)(DI*8)
|
|
CMPQ R8, AX
|
|
JLE build_table_check1_ok
|
|
MOVQ ctx+8(FP), CX
|
|
MOVQ R8, 24(CX)
|
|
MOVQ AX, 32(CX)
|
|
MOVQ $+2, ret+16(FP)
|
|
RET
|
|
|
|
build_table_check1_ok:
|
|
TESTB CL, CL
|
|
JNZ build_table_check2_ok
|
|
CMPW R8, DI
|
|
JNE build_table_check2_ok
|
|
MOVQ ctx+8(FP), AX
|
|
MOVQ R8, 24(AX)
|
|
MOVQ DI, 32(AX)
|
|
MOVQ $+3, ret+16(FP)
|
|
RET
|
|
|
|
build_table_check2_ok:
|
|
INCQ DI
|
|
CMPQ DI, AX
|
|
JL build_table_main_table
|
|
MOVQ $+0, ret+16(FP)
|
|
RET
|