add x86 build optimisations to zlib-ng (part 2)

This commit is contained in:
wuggy 2026-04-21 22:51:58 -07:00
commit be4773e168

View file

@ -55,4 +55,50 @@ SOURCES += [
'trees.c',
'uncompr.c',
'zutil.c',
]
]
if CONFIG['CPU_ARCH'].startswith('x86'):
DEFINES['X86_AVX2'] = True
DEFINES['X86_FEATURES'] = True
DEFINES['X86_PCLMULQDQ_CRC'] = True
DEFINES['X86_SSE2'] = True
DEFINES['X86_SSE41'] = True
DEFINES['X86_SSE42'] = True
DEFINES['X86_SSSE3'] = True
SOURCES += [
'arch/x86/adler32_avx2.c',
'arch/x86/adler32_sse42.c',
'arch/x86/adler32_ssse3.c',
'arch/x86/chunkset_avx2.c',
'arch/x86/chunkset_sse2.c',
'arch/x86/chunkset_ssse3.c',
'arch/x86/compare256_avx2.c',
'arch/x86/compare256_sse2.c',
'arch/x86/crc32_chorba_sse2.c',
'arch/x86/crc32_chorba_sse41.c',
'arch/x86/crc32_pclmulqdq.c',
'arch/x86/slide_hash_avx2.c',
'arch/x86/slide_hash_sse2.c',
]
if CONFIG['GNU_CC']:
SOURCES['arch/x86/adler32_avx2.c'].flags += ['-mavx2', '-mbmi2']
SOURCES['arch/x86/adler32_sse42.c'].flags += ['-msse4.2']
SOURCES['arch/x86/adler32_ssse3.c'].flags += ['-mssse3']
SOURCES['arch/x86/chunkset_avx2.c'].flags += ['-mavx2', '-mbmi2']
SOURCES['arch/x86/chunkset_sse2.c'].flags += ['-msse2']
SOURCES['arch/x86/chunkset_ssse3.c'].flags += ['-mssse3']
SOURCES['arch/x86/compare256_avx2.c'].flags += ['-mavx2', '-mbmi2']
SOURCES['arch/x86/compare256_sse2.c'].flags += ['-msse2']
SOURCES['arch/x86/crc32_chorba_sse2.c'].flags += ['-msse2']
SOURCES['arch/x86/crc32_chorba_sse41.c'].flags += ['-msse4.1']
SOURCES['arch/x86/crc32_pclmulqdq.c'].flags += ['-msse4.2', '-mpclmul']
SOURCES['arch/x86/slide_hash_avx2.c'].flags += ['-mavx2', '-mbmi2']
SOURCES['arch/x86/slide_hash_sse2.c'].flags += ['-msse2']
elif CONFIG['_MSC_VER']:
SOURCES['arch/x86/adler32_avx2.c'].flags += ['/arch:AVX2']
SOURCES['arch/x86/chunkset_avx2.c'].flags += ['/arch:AVX2']
SOURCES['arch/x86/compare256_avx2.c'].flags += ['/arch:AVX2']
SOURCES['arch/x86/crc32_pclmulqdq.c'].flags += ['/arch:AVX2']
SOURCES['arch/x86/slide_hash_avx2.c'].flags += ['/arch:AVX2']