aboutsummaryrefslogtreecommitdiffstats
path: root/src/include/glm/ext/quaternion_common_simd.inl
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/glm/ext/quaternion_common_simd.inl')
-rw-r--r--src/include/glm/ext/quaternion_common_simd.inl18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/include/glm/ext/quaternion_common_simd.inl b/src/include/glm/ext/quaternion_common_simd.inl
new file mode 100644
index 0000000..c7abd88
--- /dev/null
+++ b/src/include/glm/ext/quaternion_common_simd.inl
@@ -0,0 +1,18 @@
+#if GLM_ARCH & GLM_ARCH_SSE2_BIT
+
+namespace glm{
+namespace detail
+{
+ template<qualifier Q>
+ struct compute_dot<qua<float, Q>, float, true>
+ {
+ static GLM_FUNC_QUALIFIER float call(qua<float, Q> const& x, qua<float, Q> const& y)
+ {
+ return _mm_cvtss_f32(glm_vec1_dot(x.data, y.data));
+ }
+ };
+}//namespace detail
+}//namespace glm
+
+#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT
+