From 6c7bffdccbf46130fd7b35a5bdcf8a43a82a3a5d Mon Sep 17 00:00:00 2001 From: strangezak Date: Fri, 15 Jun 2018 17:34:39 -0700 Subject: [PATCH] Quaternion add and sub ops are not SSEd --- HandmadeMath.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/HandmadeMath.h b/HandmadeMath.h index 72b915e..76414ef 100644 --- a/HandmadeMath.h +++ b/HandmadeMath.h @@ -1357,11 +1357,14 @@ HMM_INLINE hmm_quaternion HMM_AddQuaternion(hmm_quaternion Left, hmm_quaternion { hmm_quaternion Result; +#if HANDMADE_MATH__USE_SSE + Result.InternalElementsSSE = _mm_add_ps(Left.InternalElementsSSE, Right.InternalElementsSSE); +#else Result.X = Left.X + Right.X; Result.Y = Left.Y + Right.Y; Result.Z = Left.Z + Right.Z; Result.W = Left.W + Right.W; - +#endif return (Result); } @@ -1369,11 +1372,15 @@ HMM_INLINE hmm_quaternion HMM_SubtractQuaternion(hmm_quaternion Left, hmm_quater { hmm_quaternion Result; +#if HANDMADE_MATH__USE_SSE + Result.InternalElementsSSE = _mm_sub_ps(Left.InternalElementsSSE, Right.InternalElementsSSE); +#else Result.X = Left.X - Right.X; Result.Y = Left.Y - Right.Y; Result.Z = Left.Z - Right.Z; Result.W = Left.W - Right.W; - +#endif + return (Result); }