From 0a19a4b057d335c12fedae895135b0c2de4dcfd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Tue, 29 Mar 2022 16:03:47 +0200 Subject: [PATCH] Havok: Fix hkVector4f::setReciprocal --- lib/hkStubs/Havok/Common/Base/Math/Vector/hkVector4f.inl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/hkStubs/Havok/Common/Base/Math/Vector/hkVector4f.inl b/lib/hkStubs/Havok/Common/Base/Math/Vector/hkVector4f.inl index 8356223a..4aee6887 100644 --- a/lib/hkStubs/Havok/Common/Base/Math/Vector/hkVector4f.inl +++ b/lib/hkStubs/Havok/Common/Base/Math/Vector/hkVector4f.inl @@ -134,7 +134,10 @@ inline void hkVector4f::setSub(hkVector4fParameter a, hkSimdFloat32Parameter b) inline void hkVector4f::setReciprocal(hkVector4fParameter a) { #ifdef HK_VECTOR4F_AARCH64_NEON - v = vrecpeq_f32(a.v); + auto result = vrecpeq_f32(a.v); + result *= vrecpsq_f32(a.v, result); + result *= vrecpsq_f32(a.v, result); + v = result; #else for (int i = 0; i < 4; ++i) v[i] = 1.0f / a[i];