From e606edf43b4aa799d09dcbd00be6459f6b816403 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 9 Feb 2014 16:25:36 +0100 Subject: [PATCH] Added instruction set auto detection with Visual C++ using _M_IX86_FP - /arch compiler argument --- glm/detail/setup.hpp | 30 ++++-------------------------- readme.txt | 6 ++++++ 2 files changed, 10 insertions(+), 26 deletions(-) diff --git a/glm/detail/setup.hpp b/glm/detail/setup.hpp index 4ba0f7aa..dfe71a8d 100644 --- a/glm/detail/setup.hpp +++ b/glm/detail/setup.hpp @@ -566,33 +566,11 @@ # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2) #elif(defined(GLM_FORCE_SSE2)) # define GLM_ARCH (GLM_ARCH_SSE2) -#elif((GLM_COMPILER & GLM_COMPILER_VC) && (defined(_M_IX86) || defined(_M_X64))) -# if(GLM_PLATFORM == GLM_PLATFORM_WINCE) -# define GLM_ARCH GLM_ARCH_PURE -# elif(defined(_M_CEE_PURE)) -# define GLM_ARCH GLM_ARCH_PURE -/* TODO: Explore auto detection of instruction set support -# elif(defined(_M_IX86_FP)) -# if(_M_IX86_FP >= 3) -# define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2) -# elif(_M_IX86_FP >= 2) -# define GLM_ARCH (GLM_ARCH_SSE2) -# else -# define GLM_ARCH GLM_ARCH_PURE -# endif -*/ -# elif(GLM_COMPILER >= GLM_COMPILER_VC11) +#elif(GLM_COMPILER & GLM_COMPILER_VC) +# if _M_IX86_FP == 2 && defined(__AVX__) # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2) -# elif(GLM_COMPILER >= GLM_COMPILER_VC10) -# if(_MSC_FULL_VER >= 160031118) //160031118: VC2010 SP1 beta full version -# define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)//GLM_ARCH_AVX (Require SP1) -# else -# define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2) -# endif -# elif(GLM_COMPILER >= GLM_COMPILER_VC9) -# define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2) -# elif(GLM_COMPILER >= GLM_COMPILER_VC8) -# define GLM_ARCH GLM_ARCH_SSE2 +# elif _M_IX86_FP == 2 +# define GLM_ARCH (GLM_ARCH_SSE2) # else # define GLM_ARCH GLM_ARCH_PURE # endif diff --git a/readme.txt b/readme.txt index 19c31112..12a397ec 100644 --- a/readme.txt +++ b/readme.txt @@ -36,6 +36,12 @@ GLM is a header only library, there is nothing to build, just include it. More informations in GLM manual: http://glm.g-truc.net/glm.pdf +================================================================================ +GLM 0.9.5.3: 2014-0X-XX +-------------------------------------------------------------------------------- +- Added instruction set auto detection with Visual C++ using _M_IX86_FP - /arch + compiler argument. + ================================================================================ GLM 0.9.5.2: 2014-02-08 --------------------------------------------------------------------------------