Skip to content

AVX512 compilation error on MSVC 19.16.27035.0 (VS 2017) #421

@pitrou

Description

@pitrou

While trying to compile code using xsimd::batch<uint32_t, 16> with AVX512 enabled, I got these errors on AppVeyor:
https://ci.appveyor.com/project/pitrou/arrow/builds/37935012/job/5k8hyx5vm69f5bav#L1169

c:\projects\arrow\cpp\build\xsimd_ep\src\xsimd_ep-install\include\xsimd\types\xsimd_sse_conversion.hpp(90): error C3861: '_mm_cvtepu32_ps': identifier not found
c:\projects\arrow\cpp\build\xsimd_ep\src\xsimd_ep-install\include\xsimd\types\xsimd_avx_conversion.hpp(126): error C3861: '_mm256_cvtepu32_ps': identifier not found
c:\projects\arrow\cpp\build\xsimd_ep\src\xsimd_ep-install\include\xsimd\types\xsimd_avx512_double.hpp(452): error C2440: 'type cast': cannot convert from '__m512d' to '__m512i'
c:\projects\arrow\cpp\build\xsimd_ep\src\xsimd_ep-install\include\xsimd\types\xsimd_avx512_double.hpp(452): note: No constructor could take the source type, or constructor overload resolution was ambiguous
c:\projects\arrow\cpp\build\xsimd_ep\src\xsimd_ep-install\include\xsimd\types\xsimd_avx512_double.hpp(452): error C2660: '_mm512_maskz_and_epi64': function does not take 2 arguments
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\zmmintrin.h(1121): note: see declaration of '_mm512_maskz_and_epi64'
[etc.]

While generated, the code which is being compiled is really simple:
https://github.com/pitrou/arrow/blob/xsimd-bpacking/cpp/src/arrow/util/bpacking_simd512_generated.h

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions