build(deps): bump github.com/klauspost/compress from 1.17.4 to 1.17.5
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress) from 1.17.4 to 1.17.5. - [Release notes](https://github.com/klauspost/compress/releases) - [Changelog](https://github.com/klauspost/compress/blob/master/.goreleaser.yml) - [Commits](https://github.com/klauspost/compress/compare/v1.17.4...v1.17.5) --- updated-dependencies: - dependency-name: github.com/klauspost/compress dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
		
							
								
								
									
										14
									
								
								vendor/github.com/klauspost/compress/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								vendor/github.com/klauspost/compress/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -16,6 +16,18 @@ This package provides various compression algorithms.
 | 
			
		||||
 | 
			
		||||
# changelog
 | 
			
		||||
 | 
			
		||||
* Dec 1st, 2023 - [v1.17.4](https://github.com/klauspost/compress/releases/tag/v1.17.4)
 | 
			
		||||
	* huff0: Speed up symbol counting by @greatroar in https://github.com/klauspost/compress/pull/887
 | 
			
		||||
	* huff0: Remove byteReader by @greatroar in https://github.com/klauspost/compress/pull/886
 | 
			
		||||
	* gzhttp: Allow overriding decompression on transport https://github.com/klauspost/compress/pull/892
 | 
			
		||||
	* gzhttp: Clamp compression level https://github.com/klauspost/compress/pull/890
 | 
			
		||||
	* gzip: Error out if reserved bits are set https://github.com/klauspost/compress/pull/891
 | 
			
		||||
 | 
			
		||||
* Nov 15th, 2023 - [v1.17.3](https://github.com/klauspost/compress/releases/tag/v1.17.3)
 | 
			
		||||
	* fse: Fix max header size https://github.com/klauspost/compress/pull/881
 | 
			
		||||
	* zstd: Improve better/best compression https://github.com/klauspost/compress/pull/877
 | 
			
		||||
	* gzhttp: Fix missing content type on Close https://github.com/klauspost/compress/pull/883
 | 
			
		||||
 | 
			
		||||
* Oct 22nd, 2023 - [v1.17.2](https://github.com/klauspost/compress/releases/tag/v1.17.2)
 | 
			
		||||
	* zstd: Fix rare *CORRUPTION* output in "best" mode. See https://github.com/klauspost/compress/pull/876
 | 
			
		||||
 | 
			
		||||
@@ -554,7 +566,7 @@ For direct deflate use, NewStatelessWriter and StatelessDeflate are available. S
 | 
			
		||||
 | 
			
		||||
A `bufio.Writer` can of course be used to control write sizes. For example, to use a 4KB buffer:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
```go
 | 
			
		||||
	// replace 'ioutil.Discard' with your output.
 | 
			
		||||
	gzw, err := gzip.NewWriterLevel(ioutil.Discard, gzip.StatelessCompression)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/github.com/klauspost/compress/s2sx.mod
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/klauspost/compress/s2sx.mod
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
module github.com/klauspost/compress
 | 
			
		||||
 | 
			
		||||
go 1.16
 | 
			
		||||
go 1.19
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										56
									
								
								vendor/github.com/klauspost/compress/zstd/decodeheader.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										56
									
								
								vendor/github.com/klauspost/compress/zstd/decodeheader.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -95,42 +95,54 @@ type Header struct {
 | 
			
		||||
// If there isn't enough input, io.ErrUnexpectedEOF is returned.
 | 
			
		||||
// The FirstBlock.OK will indicate if enough information was available to decode the first block header.
 | 
			
		||||
func (h *Header) Decode(in []byte) error {
 | 
			
		||||
	_, err := h.DecodeAndStrip(in)
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// DecodeAndStrip will decode the header from the beginning of the stream
 | 
			
		||||
// and on success return the remaining bytes.
 | 
			
		||||
// This will decode the frame header and the first block header if enough bytes are provided.
 | 
			
		||||
// It is recommended to provide at least HeaderMaxSize bytes.
 | 
			
		||||
// If the frame header cannot be read an error will be returned.
 | 
			
		||||
// If there isn't enough input, io.ErrUnexpectedEOF is returned.
 | 
			
		||||
// The FirstBlock.OK will indicate if enough information was available to decode the first block header.
 | 
			
		||||
func (h *Header) DecodeAndStrip(in []byte) (remain []byte, err error) {
 | 
			
		||||
	*h = Header{}
 | 
			
		||||
	if len(in) < 4 {
 | 
			
		||||
		return io.ErrUnexpectedEOF
 | 
			
		||||
		return nil, io.ErrUnexpectedEOF
 | 
			
		||||
	}
 | 
			
		||||
	h.HeaderSize += 4
 | 
			
		||||
	b, in := in[:4], in[4:]
 | 
			
		||||
	if string(b) != frameMagic {
 | 
			
		||||
		if string(b[1:4]) != skippableFrameMagic || b[0]&0xf0 != 0x50 {
 | 
			
		||||
			return ErrMagicMismatch
 | 
			
		||||
			return nil, ErrMagicMismatch
 | 
			
		||||
		}
 | 
			
		||||
		if len(in) < 4 {
 | 
			
		||||
			return io.ErrUnexpectedEOF
 | 
			
		||||
			return nil, io.ErrUnexpectedEOF
 | 
			
		||||
		}
 | 
			
		||||
		h.HeaderSize += 4
 | 
			
		||||
		h.Skippable = true
 | 
			
		||||
		h.SkippableID = int(b[0] & 0xf)
 | 
			
		||||
		h.SkippableSize = binary.LittleEndian.Uint32(in)
 | 
			
		||||
		return nil
 | 
			
		||||
		return in[4:], nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Read Window_Descriptor
 | 
			
		||||
	// https://github.com/facebook/zstd/blob/dev/doc/zstd_compression_format.md#window_descriptor
 | 
			
		||||
	if len(in) < 1 {
 | 
			
		||||
		return io.ErrUnexpectedEOF
 | 
			
		||||
		return nil, io.ErrUnexpectedEOF
 | 
			
		||||
	}
 | 
			
		||||
	fhd, in := in[0], in[1:]
 | 
			
		||||
	h.HeaderSize++
 | 
			
		||||
	h.SingleSegment = fhd&(1<<5) != 0
 | 
			
		||||
	h.HasCheckSum = fhd&(1<<2) != 0
 | 
			
		||||
	if fhd&(1<<3) != 0 {
 | 
			
		||||
		return errors.New("reserved bit set on frame header")
 | 
			
		||||
		return nil, errors.New("reserved bit set on frame header")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if !h.SingleSegment {
 | 
			
		||||
		if len(in) < 1 {
 | 
			
		||||
			return io.ErrUnexpectedEOF
 | 
			
		||||
			return nil, io.ErrUnexpectedEOF
 | 
			
		||||
		}
 | 
			
		||||
		var wd byte
 | 
			
		||||
		wd, in = in[0], in[1:]
 | 
			
		||||
@@ -148,7 +160,7 @@ func (h *Header) Decode(in []byte) error {
 | 
			
		||||
			size = 4
 | 
			
		||||
		}
 | 
			
		||||
		if len(in) < int(size) {
 | 
			
		||||
			return io.ErrUnexpectedEOF
 | 
			
		||||
			return nil, io.ErrUnexpectedEOF
 | 
			
		||||
		}
 | 
			
		||||
		b, in = in[:size], in[size:]
 | 
			
		||||
		h.HeaderSize += int(size)
 | 
			
		||||
@@ -178,7 +190,7 @@ func (h *Header) Decode(in []byte) error {
 | 
			
		||||
	if fcsSize > 0 {
 | 
			
		||||
		h.HasFCS = true
 | 
			
		||||
		if len(in) < fcsSize {
 | 
			
		||||
			return io.ErrUnexpectedEOF
 | 
			
		||||
			return nil, io.ErrUnexpectedEOF
 | 
			
		||||
		}
 | 
			
		||||
		b, in = in[:fcsSize], in[fcsSize:]
 | 
			
		||||
		h.HeaderSize += int(fcsSize)
 | 
			
		||||
@@ -199,7 +211,7 @@ func (h *Header) Decode(in []byte) error {
 | 
			
		||||
 | 
			
		||||
	// Frame Header done, we will not fail from now on.
 | 
			
		||||
	if len(in) < 3 {
 | 
			
		||||
		return nil
 | 
			
		||||
		return in, nil
 | 
			
		||||
	}
 | 
			
		||||
	tmp := in[:3]
 | 
			
		||||
	bh := uint32(tmp[0]) | (uint32(tmp[1]) << 8) | (uint32(tmp[2]) << 16)
 | 
			
		||||
@@ -209,7 +221,7 @@ func (h *Header) Decode(in []byte) error {
 | 
			
		||||
	cSize := int(bh >> 3)
 | 
			
		||||
	switch blockType {
 | 
			
		||||
	case blockTypeReserved:
 | 
			
		||||
		return nil
 | 
			
		||||
		return in, nil
 | 
			
		||||
	case blockTypeRLE:
 | 
			
		||||
		h.FirstBlock.Compressed = true
 | 
			
		||||
		h.FirstBlock.DecompressedSize = cSize
 | 
			
		||||
@@ -225,5 +237,25 @@ func (h *Header) Decode(in []byte) error {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	h.FirstBlock.OK = true
 | 
			
		||||
	return nil
 | 
			
		||||
	return in, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// AppendTo will append the encoded header to the dst slice.
 | 
			
		||||
// There is no error checking performed on the header values.
 | 
			
		||||
func (h *Header) AppendTo(dst []byte) ([]byte, error) {
 | 
			
		||||
	if h.Skippable {
 | 
			
		||||
		magic := [4]byte{0x50, 0x2a, 0x4d, 0x18}
 | 
			
		||||
		magic[0] |= byte(h.SkippableID & 0xf)
 | 
			
		||||
		dst = append(dst, magic[:]...)
 | 
			
		||||
		f := h.SkippableSize
 | 
			
		||||
		return append(dst, uint8(f), uint8(f>>8), uint8(f>>16), uint8(f>>24)), nil
 | 
			
		||||
	}
 | 
			
		||||
	f := frameHeader{
 | 
			
		||||
		ContentSize:   h.FrameContentSize,
 | 
			
		||||
		WindowSize:    uint32(h.WindowSize),
 | 
			
		||||
		SingleSegment: h.SingleSegment,
 | 
			
		||||
		Checksum:      h.HasCheckSum,
 | 
			
		||||
		DictID:        h.DictionaryID,
 | 
			
		||||
	}
 | 
			
		||||
	return f.appendTo(dst), nil
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								vendor/github.com/klauspost/compress/zstd/encoder_options.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/klauspost/compress/zstd/encoder_options.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -94,7 +94,7 @@ func WithEncoderConcurrency(n int) EOption {
 | 
			
		||||
// The value must be a power of two between MinWindowSize and MaxWindowSize.
 | 
			
		||||
// A larger value will enable better compression but allocate more memory and,
 | 
			
		||||
// for above-default values, take considerably longer.
 | 
			
		||||
// The default value is determined by the compression level.
 | 
			
		||||
// The default value is determined by the compression level and max 8MB.
 | 
			
		||||
func WithWindowSize(n int) EOption {
 | 
			
		||||
	return func(o *encoderOptions) error {
 | 
			
		||||
		switch {
 | 
			
		||||
@@ -232,9 +232,9 @@ func WithEncoderLevel(l EncoderLevel) EOption {
 | 
			
		||||
			case SpeedDefault:
 | 
			
		||||
				o.windowSize = 8 << 20
 | 
			
		||||
			case SpeedBetterCompression:
 | 
			
		||||
				o.windowSize = 16 << 20
 | 
			
		||||
				o.windowSize = 8 << 20
 | 
			
		||||
			case SpeedBestCompression:
 | 
			
		||||
				o.windowSize = 32 << 20
 | 
			
		||||
				o.windowSize = 8 << 20
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		if !o.customALEntropy {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/github.com/klauspost/compress/zstd/frameenc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/klauspost/compress/zstd/frameenc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -76,7 +76,7 @@ func (f frameHeader) appendTo(dst []byte) []byte {
 | 
			
		||||
		if f.SingleSegment {
 | 
			
		||||
			dst = append(dst, uint8(f.ContentSize))
 | 
			
		||||
		}
 | 
			
		||||
		// Unless SingleSegment is set, framessizes < 256 are nto stored.
 | 
			
		||||
		// Unless SingleSegment is set, framessizes < 256 are not stored.
 | 
			
		||||
	case 1:
 | 
			
		||||
		f.ContentSize -= 256
 | 
			
		||||
		dst = append(dst, uint8(f.ContentSize), uint8(f.ContentSize>>8))
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										11
									
								
								vendor/github.com/klauspost/compress/zstd/fse_decoder_generic.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								vendor/github.com/klauspost/compress/zstd/fse_decoder_generic.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -20,10 +20,9 @@ func (s *fseDecoder) buildDtable() error {
 | 
			
		||||
			if v == -1 {
 | 
			
		||||
				s.dt[highThreshold].setAddBits(uint8(i))
 | 
			
		||||
				highThreshold--
 | 
			
		||||
				symbolNext[i] = 1
 | 
			
		||||
			} else {
 | 
			
		||||
				symbolNext[i] = uint16(v)
 | 
			
		||||
				v = 1
 | 
			
		||||
			}
 | 
			
		||||
			symbolNext[i] = uint16(v)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -35,10 +34,12 @@ func (s *fseDecoder) buildDtable() error {
 | 
			
		||||
		for ss, v := range s.norm[:s.symbolLen] {
 | 
			
		||||
			for i := 0; i < int(v); i++ {
 | 
			
		||||
				s.dt[position].setAddBits(uint8(ss))
 | 
			
		||||
				position = (position + step) & tableMask
 | 
			
		||||
				for position > highThreshold {
 | 
			
		||||
				for {
 | 
			
		||||
					// lowprob area
 | 
			
		||||
					position = (position + step) & tableMask
 | 
			
		||||
					if position <= highThreshold {
 | 
			
		||||
						break
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										136
									
								
								vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										136
									
								
								vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -157,8 +157,7 @@ sequenceDecs_decode_amd64_ll_update_zero:
 | 
			
		||||
 | 
			
		||||
	// Update Literal Length State
 | 
			
		||||
	MOVBQZX DI, R14
 | 
			
		||||
	SHRQ    $0x10, DI
 | 
			
		||||
	MOVWQZX DI, DI
 | 
			
		||||
	SHRL    $0x10, DI
 | 
			
		||||
	LEAQ    (BX)(R14*1), CX
 | 
			
		||||
	MOVQ    DX, R15
 | 
			
		||||
	MOVQ    CX, BX
 | 
			
		||||
@@ -177,8 +176,7 @@ sequenceDecs_decode_amd64_ll_update_zero:
 | 
			
		||||
 | 
			
		||||
	// Update Match Length State
 | 
			
		||||
	MOVBQZX R8, R14
 | 
			
		||||
	SHRQ    $0x10, R8
 | 
			
		||||
	MOVWQZX R8, R8
 | 
			
		||||
	SHRL    $0x10, R8
 | 
			
		||||
	LEAQ    (BX)(R14*1), CX
 | 
			
		||||
	MOVQ    DX, R15
 | 
			
		||||
	MOVQ    CX, BX
 | 
			
		||||
@@ -197,8 +195,7 @@ sequenceDecs_decode_amd64_ll_update_zero:
 | 
			
		||||
 | 
			
		||||
	// Update Offset State
 | 
			
		||||
	MOVBQZX R9, R14
 | 
			
		||||
	SHRQ    $0x10, R9
 | 
			
		||||
	MOVWQZX R9, R9
 | 
			
		||||
	SHRL    $0x10, R9
 | 
			
		||||
	LEAQ    (BX)(R14*1), CX
 | 
			
		||||
	MOVQ    DX, R15
 | 
			
		||||
	MOVQ    CX, BX
 | 
			
		||||
@@ -459,8 +456,7 @@ sequenceDecs_decode_56_amd64_ll_update_zero:
 | 
			
		||||
 | 
			
		||||
	// Update Literal Length State
 | 
			
		||||
	MOVBQZX DI, R14
 | 
			
		||||
	SHRQ    $0x10, DI
 | 
			
		||||
	MOVWQZX DI, DI
 | 
			
		||||
	SHRL    $0x10, DI
 | 
			
		||||
	LEAQ    (BX)(R14*1), CX
 | 
			
		||||
	MOVQ    DX, R15
 | 
			
		||||
	MOVQ    CX, BX
 | 
			
		||||
@@ -479,8 +475,7 @@ sequenceDecs_decode_56_amd64_ll_update_zero:
 | 
			
		||||
 | 
			
		||||
	// Update Match Length State
 | 
			
		||||
	MOVBQZX R8, R14
 | 
			
		||||
	SHRQ    $0x10, R8
 | 
			
		||||
	MOVWQZX R8, R8
 | 
			
		||||
	SHRL    $0x10, R8
 | 
			
		||||
	LEAQ    (BX)(R14*1), CX
 | 
			
		||||
	MOVQ    DX, R15
 | 
			
		||||
	MOVQ    CX, BX
 | 
			
		||||
@@ -499,8 +494,7 @@ sequenceDecs_decode_56_amd64_ll_update_zero:
 | 
			
		||||
 | 
			
		||||
	// Update Offset State
 | 
			
		||||
	MOVBQZX R9, R14
 | 
			
		||||
	SHRQ    $0x10, R9
 | 
			
		||||
	MOVWQZX R9, R9
 | 
			
		||||
	SHRL    $0x10, R9
 | 
			
		||||
	LEAQ    (BX)(R14*1), CX
 | 
			
		||||
	MOVQ    DX, R15
 | 
			
		||||
	MOVQ    CX, BX
 | 
			
		||||
@@ -772,11 +766,10 @@ sequenceDecs_decode_bmi2_fill_2_end:
 | 
			
		||||
	BZHIQ   R14, R15, R15
 | 
			
		||||
 | 
			
		||||
	// Update Offset State
 | 
			
		||||
	BZHIQ  R8, R15, CX
 | 
			
		||||
	SHRXQ  R8, R15, R15
 | 
			
		||||
	MOVQ   $0x00001010, R14
 | 
			
		||||
	BEXTRQ R14, R8, R8
 | 
			
		||||
	ADDQ   CX, R8
 | 
			
		||||
	BZHIQ R8, R15, CX
 | 
			
		||||
	SHRXQ R8, R15, R15
 | 
			
		||||
	SHRL  $0x10, R8
 | 
			
		||||
	ADDQ  CX, R8
 | 
			
		||||
 | 
			
		||||
	// Load ctx.ofTable
 | 
			
		||||
	MOVQ ctx+16(FP), CX
 | 
			
		||||
@@ -784,11 +777,10 @@ sequenceDecs_decode_bmi2_fill_2_end:
 | 
			
		||||
	MOVQ (CX)(R8*8), R8
 | 
			
		||||
 | 
			
		||||
	// Update Match Length State
 | 
			
		||||
	BZHIQ  DI, R15, CX
 | 
			
		||||
	SHRXQ  DI, R15, R15
 | 
			
		||||
	MOVQ   $0x00001010, R14
 | 
			
		||||
	BEXTRQ R14, DI, DI
 | 
			
		||||
	ADDQ   CX, DI
 | 
			
		||||
	BZHIQ DI, R15, CX
 | 
			
		||||
	SHRXQ DI, R15, R15
 | 
			
		||||
	SHRL  $0x10, DI
 | 
			
		||||
	ADDQ  CX, DI
 | 
			
		||||
 | 
			
		||||
	// Load ctx.mlTable
 | 
			
		||||
	MOVQ ctx+16(FP), CX
 | 
			
		||||
@@ -796,10 +788,9 @@ sequenceDecs_decode_bmi2_fill_2_end:
 | 
			
		||||
	MOVQ (CX)(DI*8), DI
 | 
			
		||||
 | 
			
		||||
	// Update Literal Length State
 | 
			
		||||
	BZHIQ  SI, R15, CX
 | 
			
		||||
	MOVQ   $0x00001010, R14
 | 
			
		||||
	BEXTRQ R14, SI, SI
 | 
			
		||||
	ADDQ   CX, SI
 | 
			
		||||
	BZHIQ SI, R15, CX
 | 
			
		||||
	SHRL  $0x10, SI
 | 
			
		||||
	ADDQ  CX, SI
 | 
			
		||||
 | 
			
		||||
	// Load ctx.llTable
 | 
			
		||||
	MOVQ ctx+16(FP), CX
 | 
			
		||||
@@ -1032,11 +1023,10 @@ sequenceDecs_decode_56_bmi2_fill_end:
 | 
			
		||||
	BZHIQ   R14, R15, R15
 | 
			
		||||
 | 
			
		||||
	// Update Offset State
 | 
			
		||||
	BZHIQ  R8, R15, CX
 | 
			
		||||
	SHRXQ  R8, R15, R15
 | 
			
		||||
	MOVQ   $0x00001010, R14
 | 
			
		||||
	BEXTRQ R14, R8, R8
 | 
			
		||||
	ADDQ   CX, R8
 | 
			
		||||
	BZHIQ R8, R15, CX
 | 
			
		||||
	SHRXQ R8, R15, R15
 | 
			
		||||
	SHRL  $0x10, R8
 | 
			
		||||
	ADDQ  CX, R8
 | 
			
		||||
 | 
			
		||||
	// Load ctx.ofTable
 | 
			
		||||
	MOVQ ctx+16(FP), CX
 | 
			
		||||
@@ -1044,11 +1034,10 @@ sequenceDecs_decode_56_bmi2_fill_end:
 | 
			
		||||
	MOVQ (CX)(R8*8), R8
 | 
			
		||||
 | 
			
		||||
	// Update Match Length State
 | 
			
		||||
	BZHIQ  DI, R15, CX
 | 
			
		||||
	SHRXQ  DI, R15, R15
 | 
			
		||||
	MOVQ   $0x00001010, R14
 | 
			
		||||
	BEXTRQ R14, DI, DI
 | 
			
		||||
	ADDQ   CX, DI
 | 
			
		||||
	BZHIQ DI, R15, CX
 | 
			
		||||
	SHRXQ DI, R15, R15
 | 
			
		||||
	SHRL  $0x10, DI
 | 
			
		||||
	ADDQ  CX, DI
 | 
			
		||||
 | 
			
		||||
	// Load ctx.mlTable
 | 
			
		||||
	MOVQ ctx+16(FP), CX
 | 
			
		||||
@@ -1056,10 +1045,9 @@ sequenceDecs_decode_56_bmi2_fill_end:
 | 
			
		||||
	MOVQ (CX)(DI*8), DI
 | 
			
		||||
 | 
			
		||||
	// Update Literal Length State
 | 
			
		||||
	BZHIQ  SI, R15, CX
 | 
			
		||||
	MOVQ   $0x00001010, R14
 | 
			
		||||
	BEXTRQ R14, SI, SI
 | 
			
		||||
	ADDQ   CX, SI
 | 
			
		||||
	BZHIQ SI, R15, CX
 | 
			
		||||
	SHRL  $0x10, SI
 | 
			
		||||
	ADDQ  CX, SI
 | 
			
		||||
 | 
			
		||||
	// Load ctx.llTable
 | 
			
		||||
	MOVQ ctx+16(FP), CX
 | 
			
		||||
@@ -1967,8 +1955,7 @@ sequenceDecs_decodeSync_amd64_ll_update_zero:
 | 
			
		||||
 | 
			
		||||
	// Update Literal Length State
 | 
			
		||||
	MOVBQZX DI, R13
 | 
			
		||||
	SHRQ    $0x10, DI
 | 
			
		||||
	MOVWQZX DI, DI
 | 
			
		||||
	SHRL    $0x10, DI
 | 
			
		||||
	LEAQ    (BX)(R13*1), CX
 | 
			
		||||
	MOVQ    DX, R14
 | 
			
		||||
	MOVQ    CX, BX
 | 
			
		||||
@@ -1987,8 +1974,7 @@ sequenceDecs_decodeSync_amd64_ll_update_zero:
 | 
			
		||||
 | 
			
		||||
	// Update Match Length State
 | 
			
		||||
	MOVBQZX R8, R13
 | 
			
		||||
	SHRQ    $0x10, R8
 | 
			
		||||
	MOVWQZX R8, R8
 | 
			
		||||
	SHRL    $0x10, R8
 | 
			
		||||
	LEAQ    (BX)(R13*1), CX
 | 
			
		||||
	MOVQ    DX, R14
 | 
			
		||||
	MOVQ    CX, BX
 | 
			
		||||
@@ -2007,8 +1993,7 @@ sequenceDecs_decodeSync_amd64_ll_update_zero:
 | 
			
		||||
 | 
			
		||||
	// Update Offset State
 | 
			
		||||
	MOVBQZX R9, R13
 | 
			
		||||
	SHRQ    $0x10, R9
 | 
			
		||||
	MOVWQZX R9, R9
 | 
			
		||||
	SHRL    $0x10, R9
 | 
			
		||||
	LEAQ    (BX)(R13*1), CX
 | 
			
		||||
	MOVQ    DX, R14
 | 
			
		||||
	MOVQ    CX, BX
 | 
			
		||||
@@ -2514,11 +2499,10 @@ sequenceDecs_decodeSync_bmi2_fill_2_end:
 | 
			
		||||
	BZHIQ   R13, R14, R14
 | 
			
		||||
 | 
			
		||||
	// Update Offset State
 | 
			
		||||
	BZHIQ  R8, R14, CX
 | 
			
		||||
	SHRXQ  R8, R14, R14
 | 
			
		||||
	MOVQ   $0x00001010, R13
 | 
			
		||||
	BEXTRQ R13, R8, R8
 | 
			
		||||
	ADDQ   CX, R8
 | 
			
		||||
	BZHIQ R8, R14, CX
 | 
			
		||||
	SHRXQ R8, R14, R14
 | 
			
		||||
	SHRL  $0x10, R8
 | 
			
		||||
	ADDQ  CX, R8
 | 
			
		||||
 | 
			
		||||
	// Load ctx.ofTable
 | 
			
		||||
	MOVQ ctx+16(FP), CX
 | 
			
		||||
@@ -2526,11 +2510,10 @@ sequenceDecs_decodeSync_bmi2_fill_2_end:
 | 
			
		||||
	MOVQ (CX)(R8*8), R8
 | 
			
		||||
 | 
			
		||||
	// Update Match Length State
 | 
			
		||||
	BZHIQ  DI, R14, CX
 | 
			
		||||
	SHRXQ  DI, R14, R14
 | 
			
		||||
	MOVQ   $0x00001010, R13
 | 
			
		||||
	BEXTRQ R13, DI, DI
 | 
			
		||||
	ADDQ   CX, DI
 | 
			
		||||
	BZHIQ DI, R14, CX
 | 
			
		||||
	SHRXQ DI, R14, R14
 | 
			
		||||
	SHRL  $0x10, DI
 | 
			
		||||
	ADDQ  CX, DI
 | 
			
		||||
 | 
			
		||||
	// Load ctx.mlTable
 | 
			
		||||
	MOVQ ctx+16(FP), CX
 | 
			
		||||
@@ -2538,10 +2521,9 @@ sequenceDecs_decodeSync_bmi2_fill_2_end:
 | 
			
		||||
	MOVQ (CX)(DI*8), DI
 | 
			
		||||
 | 
			
		||||
	// Update Literal Length State
 | 
			
		||||
	BZHIQ  SI, R14, CX
 | 
			
		||||
	MOVQ   $0x00001010, R13
 | 
			
		||||
	BEXTRQ R13, SI, SI
 | 
			
		||||
	ADDQ   CX, SI
 | 
			
		||||
	BZHIQ SI, R14, CX
 | 
			
		||||
	SHRL  $0x10, SI
 | 
			
		||||
	ADDQ  CX, SI
 | 
			
		||||
 | 
			
		||||
	// Load ctx.llTable
 | 
			
		||||
	MOVQ ctx+16(FP), CX
 | 
			
		||||
@@ -3055,8 +3037,7 @@ sequenceDecs_decodeSync_safe_amd64_ll_update_zero:
 | 
			
		||||
 | 
			
		||||
	// Update Literal Length State
 | 
			
		||||
	MOVBQZX DI, R13
 | 
			
		||||
	SHRQ    $0x10, DI
 | 
			
		||||
	MOVWQZX DI, DI
 | 
			
		||||
	SHRL    $0x10, DI
 | 
			
		||||
	LEAQ    (BX)(R13*1), CX
 | 
			
		||||
	MOVQ    DX, R14
 | 
			
		||||
	MOVQ    CX, BX
 | 
			
		||||
@@ -3075,8 +3056,7 @@ sequenceDecs_decodeSync_safe_amd64_ll_update_zero:
 | 
			
		||||
 | 
			
		||||
	// Update Match Length State
 | 
			
		||||
	MOVBQZX R8, R13
 | 
			
		||||
	SHRQ    $0x10, R8
 | 
			
		||||
	MOVWQZX R8, R8
 | 
			
		||||
	SHRL    $0x10, R8
 | 
			
		||||
	LEAQ    (BX)(R13*1), CX
 | 
			
		||||
	MOVQ    DX, R14
 | 
			
		||||
	MOVQ    CX, BX
 | 
			
		||||
@@ -3095,8 +3075,7 @@ sequenceDecs_decodeSync_safe_amd64_ll_update_zero:
 | 
			
		||||
 | 
			
		||||
	// Update Offset State
 | 
			
		||||
	MOVBQZX R9, R13
 | 
			
		||||
	SHRQ    $0x10, R9
 | 
			
		||||
	MOVWQZX R9, R9
 | 
			
		||||
	SHRL    $0x10, R9
 | 
			
		||||
	LEAQ    (BX)(R13*1), CX
 | 
			
		||||
	MOVQ    DX, R14
 | 
			
		||||
	MOVQ    CX, BX
 | 
			
		||||
@@ -3704,11 +3683,10 @@ sequenceDecs_decodeSync_safe_bmi2_fill_2_end:
 | 
			
		||||
	BZHIQ   R13, R14, R14
 | 
			
		||||
 | 
			
		||||
	// Update Offset State
 | 
			
		||||
	BZHIQ  R8, R14, CX
 | 
			
		||||
	SHRXQ  R8, R14, R14
 | 
			
		||||
	MOVQ   $0x00001010, R13
 | 
			
		||||
	BEXTRQ R13, R8, R8
 | 
			
		||||
	ADDQ   CX, R8
 | 
			
		||||
	BZHIQ R8, R14, CX
 | 
			
		||||
	SHRXQ R8, R14, R14
 | 
			
		||||
	SHRL  $0x10, R8
 | 
			
		||||
	ADDQ  CX, R8
 | 
			
		||||
 | 
			
		||||
	// Load ctx.ofTable
 | 
			
		||||
	MOVQ ctx+16(FP), CX
 | 
			
		||||
@@ -3716,11 +3694,10 @@ sequenceDecs_decodeSync_safe_bmi2_fill_2_end:
 | 
			
		||||
	MOVQ (CX)(R8*8), R8
 | 
			
		||||
 | 
			
		||||
	// Update Match Length State
 | 
			
		||||
	BZHIQ  DI, R14, CX
 | 
			
		||||
	SHRXQ  DI, R14, R14
 | 
			
		||||
	MOVQ   $0x00001010, R13
 | 
			
		||||
	BEXTRQ R13, DI, DI
 | 
			
		||||
	ADDQ   CX, DI
 | 
			
		||||
	BZHIQ DI, R14, CX
 | 
			
		||||
	SHRXQ DI, R14, R14
 | 
			
		||||
	SHRL  $0x10, DI
 | 
			
		||||
	ADDQ  CX, DI
 | 
			
		||||
 | 
			
		||||
	// Load ctx.mlTable
 | 
			
		||||
	MOVQ ctx+16(FP), CX
 | 
			
		||||
@@ -3728,10 +3705,9 @@ sequenceDecs_decodeSync_safe_bmi2_fill_2_end:
 | 
			
		||||
	MOVQ (CX)(DI*8), DI
 | 
			
		||||
 | 
			
		||||
	// Update Literal Length State
 | 
			
		||||
	BZHIQ  SI, R14, CX
 | 
			
		||||
	MOVQ   $0x00001010, R13
 | 
			
		||||
	BEXTRQ R13, SI, SI
 | 
			
		||||
	ADDQ   CX, SI
 | 
			
		||||
	BZHIQ SI, R14, CX
 | 
			
		||||
	SHRL  $0x10, SI
 | 
			
		||||
	ADDQ  CX, SI
 | 
			
		||||
 | 
			
		||||
	// Load ctx.llTable
 | 
			
		||||
	MOVQ ctx+16(FP), CX
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user