Enable avx512f support for windows builds

This commit is contained in:
Robin Gareus 2023-02-06 21:36:09 +01:00
parent e74cb666ed
commit fbb175df4e
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
2 changed files with 5 additions and 0 deletions

View File

@ -547,6 +547,10 @@ def build(bld):
avx512f_cxxflags.append (bld.env['compiler_flags_dict']['avx'])
avx512f_cxxflags.append (bld.env['compiler_flags_dict']['pic'])
avx512f_cxxflags.append (bld.env['compiler_flags_dict']['fma'])
# work around issue with mingc/gcc-8
# https://stackoverflow.com/questions/43152633/invalid-register-for-seh-savexmm-in-cygwin
if bld.env['build_target'] == 'mingw':
avx512f_cxxflags.append ('-fno-asynchronous-unwind-tables')
bld(features = 'cxx cxxstlib asm',
source = avx512f_sources,

View File

@ -520,6 +520,7 @@ int main() { return 0; }''',
elif conf.env['build_target'] == 'mingw':
if re.search ('x86_64-w64', str(conf.env['CC'])) is not None:
conf.define ('FPU_AVX_FMA_SUPPORT', 1)
conf.define ('FPU_AVX512F_SUPPORT', 1)
elif conf.env['build_target'] == 'i386' or conf.env['build_target'] == 'i686' or conf.env['build_target'] == 'x86_64':
conf.check_cxx(fragment = "#include <immintrin.h>\nint main(void) { __m512 a; _mm512_abs_ps(a); _mm512_fmadd_ps(a, a, a); (void) _mm512_reduce_min_ps(a); (void)_mm512_reduce_max_ps(a); return 0; }\n",
features = ['cxx'],