adler &= 0xffff;
/* in case user likes doing a byte at a time, keep it fast */
- if (len == 1)
+ if (UNLIKELY(len == 1))
return adler32_copy_len_1(adler, dst, src, sum2, COPY);
/* initial Adler-32 value (deferred check for len == 1 speed) */
- if (src == NULL)
+ if (UNLIKELY(src == NULL))
return 1L;
/* in case short lengths are provided, keep it somewhat fast */
- if (len < 16)
+ if (UNLIKELY(len < 16))
return adler32_copy_len_16(adler, dst, src, len, sum2, COPY);
uint32_t pair[2];
extern uint32_t adler32_lsx(uint32_t adler, const uint8_t *src, size_t len);
static inline uint32_t adler32_copy_impl(uint32_t adler, uint8_t *dst, const uint8_t *src, size_t len, const int COPY) {
- if (src == NULL) return 1L;
- if (len == 0) return adler;
+ if (UNLIKELY(src == NULL)) return 1L;
+ if (UNLIKELY(len == 0)) return adler;
uint32_t adler0, adler1;
adler1 = (adler >> 16) & 0xffff;
}
static inline uint32_t adler32_copy_impl(uint32_t adler, uint8_t *dst, const uint8_t *src, size_t len, const int COPY) {
- if (src == NULL) return 1L;
- if (len == 0) return adler;
+ if (UNLIKELY(src == NULL)) return 1L;
+ if (UNLIKELY(len == 0)) return adler;
uint32_t adler0, adler1;
adler1 = (adler >> 16) & 0xffff;
adler &= 0xffff;
/* in case user likes doing a byte at a time, keep it fast */
- if (len == 1)
+ if (UNLIKELY(len == 1))
return adler32_copy_len_1(adler, dst, src, sum2, COPY);
/* initial Adler-32 value (deferred check for len == 1 speed) */
- if (src == NULL)
+ if (UNLIKELY(src == NULL))
return 1L;
/* in case short lengths are provided, keep it somewhat fast */
- if (len < 16)
+ if (UNLIKELY(len < 16))
return adler32_copy_len_16(adler, dst, src, len, sum2, COPY);
size_t left = len;
extern uint32_t adler32_ssse3(uint32_t adler, const uint8_t *src, size_t len);
static inline uint32_t adler32_copy_impl(uint32_t adler, uint8_t *dst, const uint8_t *src, size_t len, const int COPY) {
- if (src == NULL) return 1L;
- if (len == 0) return adler;
+ if (UNLIKELY(src == NULL)) return 1L;
+ if (UNLIKELY(len == 0)) return adler;
uint32_t adler0, adler1;
adler1 = (adler >> 16) & 0xffff;
#include "adler32_avx512_p.h"
static inline uint32_t adler32_copy_impl(uint32_t adler, uint8_t *dst, const uint8_t *src, size_t len, const int COPY) {
- if (src == NULL) return 1L;
- if (len == 0) return adler;
+ if (UNLIKELY(src == NULL)) return 1L;
+ if (UNLIKELY(len == 0)) return adler;
uint32_t adler0, adler1;
adler1 = (adler >> 16) & 0xffff;
#include "adler32_avx2_p.h"
Z_INTERNAL uint32_t adler32_avx512_vnni(uint32_t adler, const uint8_t *src, size_t len) {
- if (src == NULL) return 1L;
- if (len == 0) return adler;
+ if (UNLIKELY(src == NULL)) return 1L;
+ if (UNLIKELY(len == 0)) return adler;
uint32_t adler0, adler1;
adler1 = (adler >> 16) & 0xffff;
}
Z_INTERNAL uint32_t adler32_copy_avx512_vnni(uint32_t adler, uint8_t *dst, const uint8_t *src, size_t len) {
- if (src == NULL) return 1L;
- if (len == 0) return adler;
+ if (UNLIKELY(src == NULL)) return 1L;
+ if (UNLIKELY(len == 0)) return adler;
uint32_t adler0, adler1;
adler1 = (adler >> 16) & 0xffff;
adler0 = adler & 0xffff;
rem_peel:
- if (len < 16)
+ if (UNLIKELY(len < 16))
return adler32_copy_len_16(adler0, dst, src, len, adler1, 1);
__m128i vbuf, vbuf_0;