From 9ce038104c672aca0d16952b55f48fcec0ab5712 Mon Sep 17 00:00:00 2001 From: Amaury Le Leyzour Date: Tue, 19 Nov 2019 17:30:57 -0800 Subject: [PATCH 1/4] Fixing minor compiler issue --- glm/detail/func_common.inl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/glm/detail/func_common.inl b/glm/detail/func_common.inl index 8a7681c4..8c615f11 100644 --- a/glm/detail/func_common.inl +++ b/glm/detail/func_common.inl @@ -287,7 +287,8 @@ namespace detail std::numeric_limits::is_iec559 || (std::numeric_limits::is_signed && std::numeric_limits::is_integer), "'sign' only accept signed inputs"); - return detail::compute_sign<1, genFIType, defaultp, std::numeric_limits::is_iec559, highp>::call(vec<1, genFIType>(x)).x; + return detail::compute_sign<1, genFIType, defaultp, + std::numeric_limits::is_iec559, detailed::is_aligned::value>::call(vec<1, genFIType>(x)).x; } template From 923f7222d10d47bad2046d4f5e2e19d68aaf2e48 Mon Sep 17 00:00:00 2001 From: Amaury Le Leyzour Date: Tue, 19 Nov 2019 18:26:16 -0800 Subject: [PATCH 2/4] Fix Neon issues --- glm/detail/type_vec4_simd.inl | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/glm/detail/type_vec4_simd.inl b/glm/detail/type_vec4_simd.inl index 404c991c..29559b53 100644 --- a/glm/detail/type_vec4_simd.inl +++ b/glm/detail/type_vec4_simd.inl @@ -582,28 +582,6 @@ namespace detail { } }; - template - struct compute_vec4_div - { - static vec<4, uint, Q> call(vec<4, uint, Q> const& a, vec<4, uint, Q> const& b) - { - vec<4, uint, Q> Result; - Result.data = vdivq_u32(a.data, b.data); - return Result; - } - }; - - template - struct compute_vec4_div - { - static vec<4, int, Q> call(vec<4, float, Q> const& a, vec<4, int, Q> const& b) - { - vec<4, int, Q> Result; - Result.data = vdivq_s32(a.data, b.data); - return Result; - } - }; - template struct compute_vec4_equal { From c7dbbee6a1530c716e9f56a1a3450cdd472b60c7 Mon Sep 17 00:00:00 2001 From: Amaury Le Leyzour Date: Wed, 20 Nov 2019 09:05:39 -0800 Subject: [PATCH 3/4] Fix typo --- glm/detail/func_common.inl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glm/detail/func_common.inl b/glm/detail/func_common.inl index 8c615f11..4b5f1441 100644 --- a/glm/detail/func_common.inl +++ b/glm/detail/func_common.inl @@ -288,7 +288,7 @@ namespace detail "'sign' only accept signed inputs"); return detail::compute_sign<1, genFIType, defaultp, - std::numeric_limits::is_iec559, detailed::is_aligned::value>::call(vec<1, genFIType>(x)).x; + std::numeric_limits::is_iec559, detail::is_aligned::value>::call(vec<1, genFIType>(x)).x; } template From 9da0c80e26acd26490b9970ae449505bf5fb53be Mon Sep 17 00:00:00 2001 From: Amaury Le Leyzour Date: Thu, 21 Nov 2019 13:03:22 -0800 Subject: [PATCH 4/4] Yet another fix as this is no longer covered by unit tests --- glm/detail/func_geometric_simd.inl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glm/detail/func_geometric_simd.inl b/glm/detail/func_geometric_simd.inl index ab658be1..dfe3f4c9 100644 --- a/glm/detail/func_geometric_simd.inl +++ b/glm/detail/func_geometric_simd.inl @@ -155,7 +155,7 @@ namespace detail float32x4_t vd = vrsqrteq_f32(p); vec<4, float, Q> Result; - Result.data = vmulq_f32(v, vd); + Result.data = vmulq_f32(v.data, vd); return Result; } };