- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello. We are compiling software for Windows to be used on both Intel and non-Intel processors. We would like to compile this with AVX2 support on both types of processors. However, we also need a fallback in case a processor does not support AVX2 instructions. Looking at the compiler options I don't see a combination that supports this scenario.
The `/arch` flag is the one that provides "generic" support for instruction sets. However, this does not allow multiple architectures to be specified so there is no way to have a fallback. `/Qax` provides Intel-specific support and also uses a baseline provided by `/arch`. However, since `/Qax` is Intel-specific and will not work on non-Intel processors, the `/arch` flag must be used as the baseline but both AVX2 and the baseline cannot be specified for non-Intel processors. Similarly, `/Qx` only provides Intel-specific AVX2 optimisations and so has the same problem as `/Qax` and a baseline cannot be specified with this option.
Hopefully I understand the flags and their details. Can you please verify that my understanding is correct? If so, I would appreciate any advice you have to tackle this situation.
Thanks!
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Your understanding is correct. But I don't have any advice to tackle this situation.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page