diff options
| author | Adam Stylinski <kungfujesus06@gmail.com> | 2022-04-07 22:57:09 -0400 |
|---|---|---|
| committer | Hans Kristian Rosbach <hk-github@circlestorm.org> | 2022-05-23 16:13:39 +0200 |
| commit | b8269bb7d4702f8e694441112bb4ba7c59ff2362 (patch) | |
| tree | c499c5d0cdafa2c468200445cf55adea83b7c663 /cpu_features.h | |
| parent | 2f2b7e9d6972dcba001c02aedb758a991b82b30d (diff) | |
| download | Project-Tick-b8269bb7d4702f8e694441112bb4ba7c59ff2362.tar.gz Project-Tick-b8269bb7d4702f8e694441112bb4ba7c59ff2362.zip | |
Added inlined AVX512 adler checksum + copy
While we're here, also simplfy the "fold" signature, as reducing the
number of rebases and horizontal sums did not prove to be meaningfully
faster (slower in many circumstances).
Diffstat (limited to 'cpu_features.h')
| -rw-r--r-- | cpu_features.h | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/cpu_features.h b/cpu_features.h index dbabb3ac9f..9e0d5cb95d 100644 --- a/cpu_features.h +++ b/cpu_features.h @@ -36,20 +36,15 @@ extern uint32_t adler32_vmx(uint32_t adler, const unsigned char *buf, size_t len extern uint32_t adler32_ssse3(uint32_t adler, const unsigned char *buf, size_t len); #endif #ifdef X86_SSE42_ADLER32 -extern void adler32_fold_reset_sse42(adler32_fold *adler, uint32_t init_adler); -extern void adler32_fold_copy_sse42(adler32_fold *adler, uint8_t *dst, const uint8_t *src, size_t len); -extern void adler32_fold_sse42(adler32_fold *adler, const uint8_t *src, size_t len); -extern uint32_t adler32_fold_final_sse42(adler32_fold *adler); +extern uint32_t adler32_fold_copy_sse42(uint32_t adler, uint8_t *dst, const uint8_t *src, size_t len); #endif #ifdef X86_AVX2_ADLER32 extern uint32_t adler32_avx2(uint32_t adler, const unsigned char *buf, size_t len); -extern void adler32_fold_reset_avx2(adler32_fold *adler, uint32_t init_adler); -extern void adler32_fold_copy_avx2(adler32_fold *adler, uint8_t *dst, const uint8_t *src, size_t len); -extern void adler32_fold_avx2(adler32_fold *adler, const uint8_t *src, size_t len); -extern uint32_t adler32_fold_final_avx2(adler32_fold *adler); +extern uint32_t adler32_fold_copy_avx2(uint32_t adler, uint8_t *dst, const uint8_t *src, size_t len); #endif #ifdef X86_AVX512_ADLER32 extern uint32_t adler32_avx512(uint32_t adler, const unsigned char *buf, size_t len); +extern uint32_t adler32_fold_copy_avx512(uint32_t adler, uint8_t *dst, const uint8_t *src, size_t len); #endif #ifdef X86_AVX512VNNI_ADLER32 extern uint32_t adler32_avx512_vnni(uint32_t adler, const unsigned char *buf, size_t len); |
