]> git.ipfire.org Git - thirdparty/zstd.git/commit
[bmi2] Add lzcnt and bmi target attributes 2888/head
authorNick Terrell <terrelln@fb.com>
Wed, 1 Dec 2021 01:43:28 +0000 (17:43 -0800)
committerNick Terrell <terrelln@fb.com>
Wed, 1 Dec 2021 01:54:56 +0000 (17:54 -0800)
commit5414dd7978273967f3d1d22156ff6c68bc543dc1
tree95910b5a0c09f74a70e77318e9a00b37bea0ab43
parent7847c2fd687be41b5b5c2c402764c631320ad6d0
[bmi2] Add lzcnt and bmi target attributes

* When dynamic dispatching to bmi2 add lzcnt and bmi to the
  TARGET_ATTRIBUTE.
* Centralize the bmi2 TARGET_ATTRIBUTE definition to
  BMI2_TARGET_ATTRIBUTE so we can change it in the future.
* Only enable bmi2 when both bmi1 & bmi2 are supported. There shouldn't
  be any cases where bmi2 is supported but bmi1 isn't. But, since we are
  using the instruction we should check bmi1 as well.
lib/common/compiler.h
lib/common/entropy_common.c
lib/common/fse_decompress.c
lib/common/zstd_internal.h
lib/compress/huf_compress.c
lib/compress/zstd_compress.c
lib/compress/zstd_compress_sequences.c
lib/decompress/huf_decompress.c
lib/decompress/zstd_decompress.c
lib/decompress/zstd_decompress_block.c