aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/klauspost/compress/s2/encodeblock_amd64.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/klauspost/compress/s2/encodeblock_amd64.go')
-rw-r--r--vendor/github.com/klauspost/compress/s2/encodeblock_amd64.go228
1 files changed, 228 insertions, 0 deletions
diff --git a/vendor/github.com/klauspost/compress/s2/encodeblock_amd64.go b/vendor/github.com/klauspost/compress/s2/encodeblock_amd64.go
new file mode 100644
index 0000000..297e415
--- /dev/null
+++ b/vendor/github.com/klauspost/compress/s2/encodeblock_amd64.go
@@ -0,0 +1,228 @@
1// Code generated by command: go run gen.go -out ../encodeblock_amd64.s -stubs ../encodeblock_amd64.go -pkg=s2. DO NOT EDIT.
2
3//go:build !appengine && !noasm && gc && !noasm
4
5package s2
6
7func _dummy_()
8
9// encodeBlockAsm encodes a non-empty src to a guaranteed-large-enough dst.
10// Maximum input 4294967295 bytes.
11// It assumes that the varint-encoded length of the decompressed bytes has already been written.
12//
13//go:noescape
14func encodeBlockAsm(dst []byte, src []byte) int
15
16// encodeBlockAsm4MB encodes a non-empty src to a guaranteed-large-enough dst.
17// Maximum input 4194304 bytes.
18// It assumes that the varint-encoded length of the decompressed bytes has already been written.
19//
20//go:noescape
21func encodeBlockAsm4MB(dst []byte, src []byte) int
22
23// encodeBlockAsm12B encodes a non-empty src to a guaranteed-large-enough dst.
24// Maximum input 16383 bytes.
25// It assumes that the varint-encoded length of the decompressed bytes has already been written.
26//
27//go:noescape
28func encodeBlockAsm12B(dst []byte, src []byte) int
29
30// encodeBlockAsm10B encodes a non-empty src to a guaranteed-large-enough dst.
31// Maximum input 4095 bytes.
32// It assumes that the varint-encoded length of the decompressed bytes has already been written.
33//
34//go:noescape
35func encodeBlockAsm10B(dst []byte, src []byte) int
36
37// encodeBlockAsm8B encodes a non-empty src to a guaranteed-large-enough dst.
38// Maximum input 511 bytes.
39// It assumes that the varint-encoded length of the decompressed bytes has already been written.
40//
41//go:noescape
42func encodeBlockAsm8B(dst []byte, src []byte) int
43
44// encodeBetterBlockAsm encodes a non-empty src to a guaranteed-large-enough dst.
45// Maximum input 4294967295 bytes.
46// It assumes that the varint-encoded length of the decompressed bytes has already been written.
47//
48//go:noescape
49func encodeBetterBlockAsm(dst []byte, src []byte) int
50
51// encodeBetterBlockAsm4MB encodes a non-empty src to a guaranteed-large-enough dst.
52// Maximum input 4194304 bytes.
53// It assumes that the varint-encoded length of the decompressed bytes has already been written.
54//
55//go:noescape
56func encodeBetterBlockAsm4MB(dst []byte, src []byte) int
57
58// encodeBetterBlockAsm12B encodes a non-empty src to a guaranteed-large-enough dst.
59// Maximum input 16383 bytes.
60// It assumes that the varint-encoded length of the decompressed bytes has already been written.
61//
62//go:noescape
63func encodeBetterBlockAsm12B(dst []byte, src []byte) int
64
65// encodeBetterBlockAsm10B encodes a non-empty src to a guaranteed-large-enough dst.
66// Maximum input 4095 bytes.
67// It assumes that the varint-encoded length of the decompressed bytes has already been written.
68//
69//go:noescape
70func encodeBetterBlockAsm10B(dst []byte, src []byte) int
71
72// encodeBetterBlockAsm8B encodes a non-empty src to a guaranteed-large-enough dst.
73// Maximum input 511 bytes.
74// It assumes that the varint-encoded length of the decompressed bytes has already been written.
75//
76//go:noescape
77func encodeBetterBlockAsm8B(dst []byte, src []byte) int
78
79// encodeSnappyBlockAsm encodes a non-empty src to a guaranteed-large-enough dst.
80// Maximum input 4294967295 bytes.
81// It assumes that the varint-encoded length of the decompressed bytes has already been written.
82//
83//go:noescape
84func encodeSnappyBlockAsm(dst []byte, src []byte) int
85
86// encodeSnappyBlockAsm64K encodes a non-empty src to a guaranteed-large-enough dst.
87// Maximum input 65535 bytes.
88// It assumes that the varint-encoded length of the decompressed bytes has already been written.
89//
90//go:noescape
91func encodeSnappyBlockAsm64K(dst []byte, src []byte) int
92
93// encodeSnappyBlockAsm12B encodes a non-empty src to a guaranteed-large-enough dst.
94// Maximum input 16383 bytes.
95// It assumes that the varint-encoded length of the decompressed bytes has already been written.
96//
97//go:noescape
98func encodeSnappyBlockAsm12B(dst []byte, src []byte) int
99
100// encodeSnappyBlockAsm10B encodes a non-empty src to a guaranteed-large-enough dst.
101// Maximum input 4095 bytes.
102// It assumes that the varint-encoded length of the decompressed bytes has already been written.
103//
104//go:noescape
105func encodeSnappyBlockAsm10B(dst []byte, src []byte) int
106
107// encodeSnappyBlockAsm8B encodes a non-empty src to a guaranteed-large-enough dst.
108// Maximum input 511 bytes.
109// It assumes that the varint-encoded length of the decompressed bytes has already been written.
110//
111//go:noescape
112func encodeSnappyBlockAsm8B(dst []byte, src []byte) int
113
114// encodeSnappyBetterBlockAsm encodes a non-empty src to a guaranteed-large-enough dst.
115// Maximum input 4294967295 bytes.
116// It assumes that the varint-encoded length of the decompressed bytes has already been written.
117//
118//go:noescape
119func encodeSnappyBetterBlockAsm(dst []byte, src []byte) int
120
121// encodeSnappyBetterBlockAsm64K encodes a non-empty src to a guaranteed-large-enough dst.
122// Maximum input 65535 bytes.
123// It assumes that the varint-encoded length of the decompressed bytes has already been written.
124//
125//go:noescape
126func encodeSnappyBetterBlockAsm64K(dst []byte, src []byte) int
127
128// encodeSnappyBetterBlockAsm12B encodes a non-empty src to a guaranteed-large-enough dst.
129// Maximum input 16383 bytes.
130// It assumes that the varint-encoded length of the decompressed bytes has already been written.
131//
132//go:noescape
133func encodeSnappyBetterBlockAsm12B(dst []byte, src []byte) int
134
135// encodeSnappyBetterBlockAsm10B encodes a non-empty src to a guaranteed-large-enough dst.
136// Maximum input 4095 bytes.
137// It assumes that the varint-encoded length of the decompressed bytes has already been written.
138//
139//go:noescape
140func encodeSnappyBetterBlockAsm10B(dst []byte, src []byte) int
141
142// encodeSnappyBetterBlockAsm8B encodes a non-empty src to a guaranteed-large-enough dst.
143// Maximum input 511 bytes.
144// It assumes that the varint-encoded length of the decompressed bytes has already been written.
145//
146//go:noescape
147func encodeSnappyBetterBlockAsm8B(dst []byte, src []byte) int
148
149// calcBlockSize encodes a non-empty src to a guaranteed-large-enough dst.
150// Maximum input 4294967295 bytes.
151// It assumes that the varint-encoded length of the decompressed bytes has already been written.
152//
153//go:noescape
154func calcBlockSize(src []byte) int
155
156// calcBlockSizeSmall encodes a non-empty src to a guaranteed-large-enough dst.
157// Maximum input 1024 bytes.
158// It assumes that the varint-encoded length of the decompressed bytes has already been written.
159//
160//go:noescape
161func calcBlockSizeSmall(src []byte) int
162
163// emitLiteral writes a literal chunk and returns the number of bytes written.
164//
165// It assumes that:
166//
167// dst is long enough to hold the encoded bytes with margin of 0 bytes
168// 0 <= len(lit) && len(lit) <= math.MaxUint32
169//
170//go:noescape
171func emitLiteral(dst []byte, lit []byte) int
172
173// emitRepeat writes a repeat chunk and returns the number of bytes written.
174// Length must be at least 4 and < 1<<32
175//
176//go:noescape
177func emitRepeat(dst []byte, offset int, length int) int
178
179// emitCopy writes a copy chunk and returns the number of bytes written.
180//
181// It assumes that:
182//
183// dst is long enough to hold the encoded bytes
184// 1 <= offset && offset <= math.MaxUint32
185// 4 <= length && length <= 1 << 24
186//
187//go:noescape
188func emitCopy(dst []byte, offset int, length int) int
189
190// emitCopyNoRepeat writes a copy chunk and returns the number of bytes written.
191//
192// It assumes that:
193//
194// dst is long enough to hold the encoded bytes
195// 1 <= offset && offset <= math.MaxUint32
196// 4 <= length && length <= 1 << 24
197//
198//go:noescape
199func emitCopyNoRepeat(dst []byte, offset int, length int) int
200
201// matchLen returns how many bytes match in a and b
202//
203// It assumes that:
204//
205// len(a) <= len(b)
206//
207//go:noescape
208func matchLen(a []byte, b []byte) int
209
210// cvtLZ4Block converts an LZ4 block to S2
211//
212//go:noescape
213func cvtLZ4BlockAsm(dst []byte, src []byte) (uncompressed int, dstUsed int)
214
215// cvtLZ4sBlock converts an LZ4s block to S2
216//
217//go:noescape
218func cvtLZ4sBlockAsm(dst []byte, src []byte) (uncompressed int, dstUsed int)
219
220// cvtLZ4Block converts an LZ4 block to Snappy
221//
222//go:noescape
223func cvtLZ4BlockSnappyAsm(dst []byte, src []byte) (uncompressed int, dstUsed int)
224
225// cvtLZ4sBlock converts an LZ4s block to Snappy
226//
227//go:noescape
228func cvtLZ4sBlockSnappyAsm(dst []byte, src []byte) (uncompressed int, dstUsed int)