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.

Raspunde prin e-mail lui