]> git.ipfire.org Git - thirdparty/zstd.git/commit
Implemented BMI2 functions directly within huf_decompress.c 1022/head
authorYann Collet <cyan@fb.com>
Thu, 22 Feb 2018 07:52:45 +0000 (23:52 -0800)
committerYann Collet <cyan@fb.com>
Thu, 22 Feb 2018 18:51:47 +0000 (10:51 -0800)
commit0fd4df6ed320f73b00ad2c3b2e53c8609dabd925
treee35fff67810340309e994c76706ec0984e6f5831
parent4d6632c8f3f1049ee249621dc0587323de1e32f4
Implemented BMI2 functions directly within huf_decompress.c

This makes it easier to edit for maintenance and evolutions
(I plan to experiment modifications in huffman decompression functions).

The methology followed seems broadly applicable to other BMI2 modules.

Performance was tracked rigorously at each step,
there is no noticeable loss (nor win) of performance compared to `#include` version.

Note however that 4X decoder variants tend to be extremely sensitive to code alignment.
This source code resulted in pretty good performance for gcc 7.2 and 7.3,
but future changes (even in other parts of the code) might trigger the issue again.
lib/decompress/huf_decompress.c
lib/decompress/huf_decompress_impl.h [deleted file]