#include "zbuild.h"
#include "arm_features.h"
+#ifdef ARM_FEATURES
+
#if defined(HAVE_SYS_AUXV_H)
# include <sys/auxv.h>
# ifdef ARM_ASM_HWCAP
features->has_eor3 = arm_has_eor3();
features->has_fast_pmull = features->has_pmull && arm_cpu_has_fast_pmull();
}
+
+#endif
#include "zbuild.h"
#include "loongarch_features.h"
+#ifdef LOONGARCH_FEATURES
+
#include <larchintrin.h>
/*
features->has_lsx = w1 & 0x40;
features->has_lasx = w1 & 0x80;
}
+
+#endif
#include "zbuild.h"
#include "deflate.h"
+#ifdef LOONGARCH_LASX
+
#include <lasxintrin.h>
static inline void slide_hash_chain(Pos *table, uint32_t entries, const __m256i wsize) {
slide_hash_chain(s->head, HASH_SIZE, ymm_wsize);
slide_hash_chain(s->prev, wsize, ymm_wsize);
}
+
+#endif
#include "zbuild.h"
#include "deflate.h"
+#ifdef LOONGARCH_LSX
+
#include <lsxintrin.h>
#include <assert.h>
slide_hash_chain(s->head, s->prev, HASH_SIZE, wsize, xmm_wsize);
}
+
+#endif
* This code uses gcc vector builtins instead using assembly directly.
*/
+#ifdef POWER8_VSX_CRC32
+
#include <altivec.h>
#include "zendian.h"
#include "zbuild.h"
return v0[1];
#endif
}
+
+#endif
* Contributed by Alex Chiang <alex.chiang@sifive.com>
* For conditions of distribution and use, see copyright notice in zlib.h
*/
+
+#ifdef RISCV_RVV
+
#include <riscv_vector.h>
#include "zbuild.h"
#define INFLATE_FAST inflate_fast_rvv
#include "inffast_tpl.h"
+
+#endif
+#ifdef RISCV_FEATURES
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
}
#endif
}
+
+#endif
#include "zbuild.h"
#include "arch_functions.h"
+#ifdef S390_CRC32_VX
+
#include <vecintrin.h>
typedef unsigned char uv16qi __attribute__((vector_size(16)));
memcpy(dst, src, len);
return crc;
}
+
+#endif
$ make
*/
+#ifdef S390_DFLTCC_DEFLATE
+
#include "zbuild.h"
#include "deflate.h"
#include "deflate_p.h"
*dict_length = param->hl;
return Z_OK;
}
+
+#endif
$ make
*/
+#ifdef S390_DFLTCC_INFLATE
+
#include "zbuild.h"
#include "zutil.h"
#include "inftrees.h"
*dict_length = param->hl;
return Z_OK;
}
+
+#endif
#include "zbuild.h"
#include "s390_features.h"
+#ifdef S390_FEATURES
+
#ifdef HAVE_SYS_AUXV_H
# include <sys/auxv.h>
#endif
void Z_INTERNAL s390_check_features(struct s390_cpu_features *features) {
features->has_vx = getauxval(AT_HWCAP) & HWCAP_S390_VXRS;
}
+
+#endif
#include "zbuild.h"
#include "adler32_p.h"
#include "adler32_ssse3_p.h"
-#include <immintrin.h>
#ifdef X86_SSE42
+#include <immintrin.h>
+
Z_INTERNAL uint32_t adler32_copy_sse42(uint32_t adler, uint8_t *dst, const uint8_t *src, size_t len) {
uint32_t adler0, adler1;
adler1 = (adler >> 16) & 0xffff;
#include "zbuild.h"
#include "deflate.h"
+#ifdef X86_AVX2
+
#include <immintrin.h>
static inline void slide_hash_chain(Pos *table, uint32_t entries, const __m256i wsize) {
slide_hash_chain(s->head, HASH_SIZE, ymm_wsize);
slide_hash_chain(s->prev, wsize, ymm_wsize);
}
+
+#endif
#include "zbuild.h"
#include "deflate.h"
+#ifdef X86_SSE2
+
#include <immintrin.h>
#include <assert.h>
slide_hash_chain(s->head, s->prev, HASH_SIZE, wsize, xmm_wsize);
}
+
+#endif
#include "zbuild.h"
#include "x86_features.h"
+#ifdef X86_FEATURES
#if defined(HAVE_CPUID_MS)
# include <intrin.h>
}
}
}
+
+#endif