From 2fc4532931902b87ca0fba2ad992e24b85c0936d Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Tue, 10 Feb 2015 00:59:57 +0100 Subject: [PATCH 1/6] Fixed functions not inlined with Clang #302 --- glm/detail/setup.hpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/glm/detail/setup.hpp b/glm/detail/setup.hpp index 115a2d28..ad734ed7 100644 --- a/glm/detail/setup.hpp +++ b/glm/detail/setup.hpp @@ -824,12 +824,9 @@ # if GLM_COMPILER & GLM_COMPILER_VC # define GLM_INLINE __forceinline # define GLM_NEVER_INLINE __declspec((noinline)) -# elif GLM_COMPILER & GLM_COMPILER_GCC +# elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM) # define GLM_INLINE inline __attribute__((__always_inline__)) # define GLM_NEVER_INLINE __attribute__((__noinline__)) -# elif GLM_COMPILER & (GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM) -# define GLM_INLINE __attribute__((__always_inline__)) -# define GLM_NEVER_INLINE __attribute__((__noinline__)) # else # define GLM_INLINE inline # define GLM_NEVER_INLINE From 72691336c7639c67053e55b5466347d0a2ae7061 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Tue, 10 Feb 2015 01:00:25 +0100 Subject: [PATCH 2/6] Fixed functions not inlined with Clang #302 --- readme.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.txt b/readme.txt index 54890b84..1c19ba1f 100644 --- a/readme.txt +++ b/readme.txt @@ -86,6 +86,7 @@ Fixes: - Fixed GTC_packing *pack*norm*x* build and added tests #292 - Disabled GTX_scalar_multiplication for GCC, failing to build tests #242 - Fixed Visual C++ 2015 constexpr errors: Disabled only partial support +- Fixed functions not inlined with Clang #302 ================================================================================ GLM 0.9.6.1: 2014-12-10 From d33974afa6c8093daf81754481a9ed2aacc71f65 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Fri, 13 Feb 2015 23:24:12 +0100 Subject: [PATCH 3/6] Fixed warning --- glm/detail/intrinsic_common.inl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/glm/detail/intrinsic_common.inl b/glm/detail/intrinsic_common.inl index 5f5f0fd8..bd9774bb 100644 --- a/glm/detail/intrinsic_common.inl +++ b/glm/detail/intrinsic_common.inl @@ -301,13 +301,13 @@ GLM_FUNC_QUALIFIER __m128 sse_ssp_ps(__m128 edge0, __m128 edge1, __m128 x) // By Elan Ruskin, http://assemblyrequired.crashworks.org/ GLM_FUNC_QUALIFIER __m128 sse_sqrt_wip_ss(__m128 const & x) { - __m128 recip = _mm_rsqrt_ss(x); // "estimate" opcode - const static __m128 three = {3, 3, 3, 3}; // aligned consts for fast load - const static __m128 half = {0.5,0.5,0.5,0.5}; - __m128 halfrecip = _mm_mul_ss(half, recip); - __m128 threeminus_xrr = _mm_sub_ss(three, _mm_mul_ss(x, _mm_mul_ss (recip, recip))); - return _mm_mul_ss( halfrecip, threeminus_xrr); + __m128 const recip = _mm_rsqrt_ss(x); // "estimate" opcode + __m128 const half = _mm_set_ps1(0.5f); + __m128 const halfrecip = _mm_mul_ss(half, recip); + __m128 const threeminus_xrr = _mm_sub_ss(three, _mm_mul_ss(x, _mm_mul_ss (recip, recip))); + return _mm_mul_ss(halfrecip, threeminus_xrr); } }//namespace detail }//namespace glms + From 7751bd4af4ed1c7c26711a3c005c866b03f27c50 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 14 Feb 2015 00:19:47 +0100 Subject: [PATCH 4/6] Fixed MinGW32 build --- CMakeLists.txt | 4 ++-- glm/detail/setup.hpp | 2 +- readme.txt | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0ac4411d..84d2c1d0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -129,8 +129,8 @@ endif() if(CMAKE_COMPILER_IS_GNUCXX) #add_definitions(-S) #add_definitions(-s) - #add_definitions(-m32) - #add_definitions(-O3) + add_definitions(-m32) + add_definitions(-O2) #add_definitions(-fprofile-arcs -ftest-coverage) gcov #ctest_enable_coverage() diff --git a/glm/detail/setup.hpp b/glm/detail/setup.hpp index ad734ed7..f4385fca 100644 --- a/glm/detail/setup.hpp +++ b/glm/detail/setup.hpp @@ -745,7 +745,7 @@ // With MinGW-W64, including intrinsic headers before intrin.h will produce some errors. The problem is // that windows.h (and maybe other headers) will silently include intrin.h, which of course causes problems. // To fix, we just explicitly include intrin.h here. -#if defined(__MINGW32__) && (GLM_ARCH != GLM_ARCH_PURE) +#if defined(__MINGW64__) && (GLM_ARCH != GLM_ARCH_PURE) # include #endif diff --git a/readme.txt b/readme.txt index 1c19ba1f..7ca5bf76 100644 --- a/readme.txt +++ b/readme.txt @@ -64,7 +64,7 @@ More informations in GLM manual: http://glm.g-truc.net/glm.pdf ================================================================================ -GLM 0.9.6.2: 2015-01-XX +GLM 0.9.6.2: 2015-02-15 -------------------------------------------------------------------------------- Features: - Added display of GLM version with other GLM_MESSAGES From cb427b053d7b9b21cd96f19deb293544aaa14ab9 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 14 Feb 2015 00:50:00 +0100 Subject: [PATCH 5/6] 64 bits GCC build --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 84d2c1d0..5925d5fe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -129,7 +129,7 @@ endif() if(CMAKE_COMPILER_IS_GNUCXX) #add_definitions(-S) #add_definitions(-s) - add_definitions(-m32) + add_definitions(-m64) add_definitions(-O2) #add_definitions(-fprofile-arcs -ftest-coverage) gcov From 49cf8d896419c359f9c79bc6e86e570d9ab4fdce Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 14 Feb 2015 00:51:10 +0100 Subject: [PATCH 6/6] Disable GLM_HAS_TRIVIAL_QUERIES --- glm/detail/setup.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glm/detail/setup.hpp b/glm/detail/setup.hpp index f4385fca..730cb7a7 100644 --- a/glm/detail/setup.hpp +++ b/glm/detail/setup.hpp @@ -633,8 +633,8 @@ #endif // -#define GLM_HAS_TRIVIAL_QUERIES ( \ - ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013))) +#define GLM_HAS_TRIVIAL_QUERIES 0//( \ + //((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2013))) // #if GLM_LANG & GLM_LANG_CXX11_FLAG