Beat me.  I use vim/gcc/make 1988 as a development environment, and
SETI@home uses its own AVX detection code.  SETI@home's Visual Studio
projects are probably from VS2005, but I don't know if anyone uses them.
Possibly people that use the intel compiler.

It's possible that there is application code out there that won't compile
on anything newer, but if nobody speaks up I'd assume it's OK.  There are
also probably projects that use old versions of the BOINC libraries so as
not to complicate things because of removed/changed APIs.


On Thu, May 22, 2014 at 5:19 PM, Rom Walton <[email protected]> wrote:

> Well, the AVX detection code is only used in the client software and only
> needed on Windows.  Is there a reason to be backwards compatible with VS
> 2008, if the recent versions of express edition are free?
>
>
>
> /lib and /api do not need the additional stuff and should compile fine
> with all the compilers in use.
>
>
>
> ----- Rom
>
>
>
> *From:* [email protected] [mailto:[email protected]] *On Behalf Of *Eric
> J Korpela
> *Sent:* Thursday, May 22, 2014 7:56 PM
> *To:* Rom Walton
> *Cc:* Raistmer the Sorcerer; BOINC Dev Mailing List
>
> *Subject:* Re: [boinc_dev] WINBUILD: Minimum supported VS is now VS 2010
>
>
>
> Coming from a world where no two compilers are alike, I have some
> experience with such problems.
>
> #ifndef HAVE__XGETBV  /* set by autoconf or in boinc_win.h */
>
> static unsigned long long _xgetbv(unsigned int index){
>
>       unsigned int A, D;
>
> #ifdef __GNUC__
>
>   #ifdef ASM_SUPPORTS_XGETBV  /* gcc version >= 4.4, but better tested by
> autoconf */
>
>       __asm__ __volatile__("xgetbv" : "=a"(A), "=d"(D) : "c"(index));
>
>   #else
>
>       __asm__ __volatile__(".byte 0x0f, 0x01, 0xd0": "=a"(A), "=d"(D) :
> "c"(index));
>
>   #endif
>
> #elif defined(_MSC_VER)
>   #ifdef _M_IX86
>
>       __asm {
>                        mov ecx,index
>
>                        __emit 00fh
>                        __emit 001h
>                        __emit 0d0h
>
>                        mov D,edx
>
>                        mov A,eax
>
>        }
>
>   #elif defined(_M_AMD64)
>
>       // damn Microsoft for not having inline assembler in 64-bit code
>
>       // so this is in an NASM compiled library
>
>       return asm_xgetbv(index);
>
>   #endif
>       return ((unsigned long long)D << 32) | A;
>
> #else
>
>       return 0;
>
> #endif
>
> }
>
> #endif
>
>
>
> On Thu, May 22, 2014 at 3:52 PM, Rom Walton <[email protected]> wrote:
>
> I meant to say not supported.
>
> ----- Rom
>
>
> -----Original Message-----
> From: boinc_dev [mailto:[email protected]] On Behalf Of
> Rom Walton
> Sent: Thursday, May 22, 2014 6:49 PM
> To: Raistmer the Sorcerer
> Cc: BOINC Dev Mailing List
>
> Subject: Re: [boinc_dev] WINBUILD: Minimum supported VS is now VS 2010
>
> It is my understanding that the '_xgetbv' intrinsic is supported in VS2008.
>
>
>
> ----- Rom
>
>
>
> From: Raistmer the Sorcerer [mailto:[email protected]]
> Sent: Thursday, May 22, 2014 6:46 PM
> To: Rom Walton
> Cc: BOINC Dev Mailing List; Jord van der Elst
> Subject: Re[2]: [boinc_dev] WINBUILD: Minimum supported VS is now VS 2010
>
>
>
> That is, this code will do wrong being compiled with VS2008?
>
>     int cpuInfo[4];
>
>     __cpuid(cpuInfo, 1);
>
>
>
>     bool osUsesXSAVE_XRSTORE = cpuInfo[2] & (1 << 27) || false;
>
>     bool cpuAVXSuport = cpuInfo[2] & (1 << 28) || false;
>
>
>
>     if (osUsesXSAVE_XRSTORE && cpuAVXSuport)
>
>     {
>
>         // Check if the OS will save the YMM registers
>
>         unsigned long long xcrFeatureMask =
> _xgetbv(_XCR_XFEATURE_ENABLED_MASK);
>
>         avxSupported = (xcrFeatureMask & 0x6) || false;
>
>     }
>
> __cpuid() will not report correctly?
>
>
>
>
> Thu, 22 May 2014 17:47:28 -0400 от "Rom Walton" <[email protected]>:
>
> Demand for AVX detection and support:
>
>
> http://insufficientlycomplicated.wordpress.com/2011/11/07/detecting-intel-advanced-vector-extensions-avx-in-visual-studio/
>
>
>
> ----- Rom
>
>
>
> From: Raistmer the Sorcerer [mailto:[email protected]]
> Sent: Thursday, May 22, 2014 5:19 PM
> To: Jord van der Elst
> Cc: BOINC Dev Mailing List; Rom Walton
> Subject: Re: [boinc_dev] WINBUILD: Minimum supported VS is now VS 2010
>
>
>
> What reasons behind of this version shift?
> What unresolvable problems with VS2008 ?
>
>
>
> Thu, 22 May 2014 16:54:15 +0200 от Jord van der Elst <[email protected] <
> https://e.mail.ru/compose/?mailto=mailto%[email protected]> >:
>
> WINBUILD: Minimum supported VS is now VS 2010
>
> So then that means that someone has to retest and rewrite all and
> everything of http://boinc.berkeley.edu/trac/wiki/CompileClient#Windowsas the 
> compilers the page is written for are VS 2005 (Express) and 2008.
>
> And what VS, full VS or is Express also an option?
> Or is Express still not capable of compiling 64bit applications?
>
> Thanks,
>
> -- Jord van der Elst.
> _______________________________________________
> boinc_dev mailing list
> [email protected] <
> https://e.mail.ru/[email protected]>
> http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
> To unsubscribe, visit the above URL and
> (near bottom of page) enter your email address.
>
>
>
>
>
> _______________________________________________
> boinc_dev mailing list
> [email protected]
> http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
> To unsubscribe, visit the above URL and
> (near bottom of page) enter your email address.
> _______________________________________________
> boinc_dev mailing list
> [email protected]
> http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
> To unsubscribe, visit the above URL and
> (near bottom of page) enter your email address.
>
>
>
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to