...

Source file src/github.com/klauspost/compress/s2/encodeblock_amd64.go

Documentation: github.com/klauspost/compress/s2

     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  
     5  package s2
     6  
     7  func _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
    14  func 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
    21  func 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
    28  func 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
    35  func 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
    42  func 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
    49  func 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
    56  func 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
    63  func 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
    70  func 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
    77  func 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
    84  func 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
    91  func 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
    98  func 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
   105  func 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
   112  func 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
   119  func 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
   126  func 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
   133  func 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
   140  func 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
   147  func 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
   154  func 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
   161  func 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
   171  func 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
   177  func 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
   188  func 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
   199  func 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
   208  func matchLen(a []byte, b []byte) int
   209  
   210  // cvtLZ4Block converts an LZ4 block to S2
   211  //
   212  //go:noescape
   213  func cvtLZ4BlockAsm(dst []byte, src []byte) (uncompressed int, dstUsed int)
   214  
   215  // cvtLZ4sBlock converts an LZ4s block to S2
   216  //
   217  //go:noescape
   218  func cvtLZ4sBlockAsm(dst []byte, src []byte) (uncompressed int, dstUsed int)
   219  
   220  // cvtLZ4Block converts an LZ4 block to Snappy
   221  //
   222  //go:noescape
   223  func cvtLZ4BlockSnappyAsm(dst []byte, src []byte) (uncompressed int, dstUsed int)
   224  
   225  // cvtLZ4sBlock converts an LZ4s block to Snappy
   226  //
   227  //go:noescape
   228  func cvtLZ4sBlockSnappyAsm(dst []byte, src []byte) (uncompressed int, dstUsed int)
   229  

View as plain text