Browse Source

Fixed SSE includes with GCC

Christophe Riccio 13 years ago
parent
commit
ac8ec9b97c
2 changed files with 18 additions and 11 deletions
  1. 16 11
      glm/core/setup.hpp
  2. 2 0
      readme.txt

+ 16 - 11
glm/core/setup.hpp

@@ -49,9 +49,12 @@
 #define GLM_PLATFORM_ANDROID		0x00100000
 #define GLM_PLATFORM_CHROME_NACL	0x00200000
 #define GLM_PLATFORM_UNIX			0x00400000
+#define GLM_PLATFORM_QNXNTO			0x00800000
 
 #ifdef GLM_FORCE_PLATFORM_UNKNOWN
 #	define GLM_PLATFORM GLM_PLATFORM_UNKNOWN
+#elif defined(__QNXNTO__)
+#   define GLM_PLATFORM GLM_PLATFORM_QNXNTO
 #elif defined(__APPLE__)
 #   define GLM_PLATFORM GLM_PLATFORM_APPLE
 #elif defined(_WIN32)
@@ -471,10 +474,10 @@
 
 #define GLM_ARCH_PURE		0x0000
 #define GLM_ARCH_SSE2		0x0001
-#define GLM_ARCH_SSE3		0x0002 | GLM_ARCH_SSE2
-#define GLM_ARCH_SSE4		0x0004 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2
-#define GLM_ARCH_AVX		0x0008 | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2
-#define GLM_ARCH_AVX2		0x0010 | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2
+#define GLM_ARCH_SSE3		0x0002// | GLM_ARCH_SSE2
+#define GLM_ARCH_SSE4		0x0004// | GLM_ARCH_SSE3 | GLM_ARCH_SSE2
+#define GLM_ARCH_AVX		0x0008// | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2
+#define GLM_ARCH_AVX2		0x0010// | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2
 
 #if(defined(GLM_FORCE_PURE))
 #	define GLM_ARCH GLM_ARCH_PURE
@@ -504,6 +507,8 @@
 #	else
 #		define GLM_ARCH GLM_ARCH_PURE
 #	endif
+#elif((GLM_PLATFORM & GLM_PLATFORM_APPLE) && (GLM_COMPILER & GLM_COMPILER_GCC))
+#	define GLM_ARCH GLM_ARCH_PURE
 #elif(((GLM_COMPILER & GLM_COMPILER_GCC) && (defined(__i386__) || defined(__x86_64__))) || (GLM_COMPILER & GLM_COMPILER_LLVM_GCC))
 #	if(defined(__AVX2__))
 #		define GLM_ARCH GLM_ARCH_AVX2
@@ -522,23 +527,23 @@
 #	define GLM_ARCH GLM_ARCH_PURE
 #endif
 
-#if(GLM_ARCH != GLM_ARCH_PURE)
-#if((GLM_ARCH & GLM_ARCH_AVX2) == GLM_ARCH_AVX2)
+//#if(GLM_ARCH != GLM_ARCH_PURE)
+#if(GLM_ARCH & GLM_ARCH_AVX2)
 #	include <immintrin.h>
 #endif//GLM_ARCH
-#if((GLM_ARCH & GLM_ARCH_AVX) == GLM_ARCH_AVX)
+#if(GLM_ARCH & GLM_ARCH_AVX)
 #	include <immintrin.h>
 #endif//GLM_ARCH
-#if((GLM_ARCH & GLM_ARCH_SSE4) == GLM_ARCH_SSE4)
+#if(GLM_ARCH & GLM_ARCH_SSE4)
 #	include <smmintrin.h>
 #endif//GLM_ARCH
-#if((GLM_ARCH & GLM_ARCH_SSE3) == GLM_ARCH_SSE3)
+#if(GLM_ARCH & GLM_ARCH_SSE3)
 #	include <pmmintrin.h>
 #endif//GLM_ARCH
-#if((GLM_ARCH & GLM_ARCH_SSE2) == GLM_ARCH_SSE2)
+#if(GLM_ARCH & GLM_ARCH_SSE2)
 #	include <emmintrin.h>
 #endif//GLM_ARCH
-#endif//(GLM_ARCH != GLM_ARCH_PURE)
+//#endif//(GLM_ARCH != GLM_ARCH_PURE)
 
 #if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_ARCH_DISPLAYED))
 #	define GLM_MESSAGE_ARCH_DISPLAYED

+ 2 - 0
readme.txt

@@ -44,6 +44,8 @@ GLM 0.9.3.4: 2012-06-28
 - Fixed C++11 compiler option for GCC
 - Removed MS language extension option for GCC (not fonctionnal)
 - Fixed bitfieldExtract for vector types
+- Fixed warnings
+- Fixed SSE includes
 
 ================================================================================
 GLM 0.9.3.3: 2012-05-10