On Sunday, 28 May 2017 23:59:03 UTC+2, Leonardo Valeri Manera wrote: > Since SSE2 is supported as a compilation flag, I figure we might as well add > in AVX/AVX2. > > I've had it on my own tree for a while, I figure I could clean it up and send > a pull. > > Couple of questions: > > should I keep the "intel name" style for the CPUNR options? Ie, calling them > sandybridge and haswell, or should I just name them AVX & AVX2. > /arch:AVX2 is supported from VC 2013 Update 2 onwards. To detect it that > finely requires a few extra lines as I need to check _MSC_FULL_VER, which is > not currently used. Currently it only checks _MSC_VER which is 1800 for all > 2013 versions. Is that an issue? Elsewise I can make it a 2015 and up option. > > > Thoughts? > > > — > You are receiving this because you are subscribed to this thread. > Reply to this email directly, view it on GitHub
Taking a deeper look, I have many questions, and found some issues. Also, I'm not understanding how integration with github issues works, given how my comment on the issue did not get duplicated here. Please excuse. Questions: * i386 is not actually a valid target, because NT4 requires a 486 at minimum. Is it worth supporting someone who wants to build for NT4 but also for a processor that can't actually run NT4? * Will Vim8 even compile for NT4? Does anyone have a VC++ install old enough to test, and an NT4 VM to test the build in? The Makefile is ambiguous, but suggests XP (i586 and up) is the minimum. Recent Windows SDKs have a Windows XP floor. * What would the preferred behaviour be when specifying AVX/AVX2 architecture on a compiler that doesn't support it? The current behaviour is to go to defaults, maybe it would be better to fall back to the arch below? Ie, if you ask for AVX2 but you're building on VC10 you get AVX. Or should we spit an error and stop? Bugs: * The makefile says it defaults to i386, but it doesn't. It defaults to no architecture optimization for VC<8, and leaves the defaults to the compiler for VC>8. This varies depending on the compiler. For VS 2015 and up at least, that means SSE2 was the default. This means that with recent compilers you cannot, currently, build for SSE or IA32/x87fp processors. * There is actually no support for SSE (Pentium3) architecture at all, on any VC version. -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
