On Wed, 20 Jan 2021 17:40:16 +0100, David Marchand wrote: > There is probably better to do rather than disabling AVX512 globally for > Windows but since I saw no patch fixing this, here it is. > > --- > drivers/net/i40e/meson.build | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/i40e/meson.build b/drivers/net/i40e/meson.build > index c0acdf4fd4..c9a1a50407 100644 > --- a/drivers/net/i40e/meson.build > +++ b/drivers/net/i40e/meson.build > @@ -54,7 +54,7 @@ if arch_subdir == 'x86' > cc.has_argument('-mavx512f') and > cc.has_argument('-mavx512bw')) > > - if i40e_avx512_cpu_support == true or i40e_avx512_cc_support == true > + if not is_windows and (i40e_avx512_cpu_support == true or > i40e_avx512_cc_support == true) > cflags += ['-DCC_AVX512_SUPPORT'] > avx512_args = [cflags, '-mavx512f', '-mavx512bw'] > if cc.has_argument('-march=skylake-avx512')
Clang doesn't seem to be affected, suggesting a cc.get_id() == 'gcc' check. The error seems related to SEH (structured exception handling). Some MinGW flavours don't use it, which can explain why the bug isn't not 100% reproducible. IMO, just disabling AVX512 for MinGW is enough. A nit, is there a reason to prefer "x == true" over "x"?