Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MSVC AVX512 status #149

Open
kimwalisch opened this issue Apr 7, 2024 · 0 comments
Open

MSVC AVX512 status #149

kimwalisch opened this issue Apr 7, 2024 · 0 comments

Comments

@kimwalisch
Copy link
Owner

The __AVX512F__, __AVX512CD__, __AVX512BW__, __AVX512DQ__ and __AVX512VL__ preprocessor symbols are defined when the /arch:AVX512 compiler option is specified.

According to the Microsoft MSVC website https://learn.microsoft.com/en-us/cpp/build/reference/arch-x64?view=msvc-170 the support of AVX512 macros is not good. When using the /arch:AVX512 option MSVC seems to support all of AVX512 however it only defines a small selection of the AVX512 macros. Because of this it is currently not possible to detect using the preprocessor if MSVC properly supports AVX512.

If MSVC would also define the __AVX512VBMI__ and __AVX512VBMI2__ macros (which might happen in the next major MSVC release) then AVX512 for MSVC would be supported by primesieve without any code changes required.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant