From c0a12fcdfd7525cd70c329f50a37eb371211841b Mon Sep 17 00:00:00 2001 From: Joshua Simmons Date: Sat, 4 Oct 2025 22:58:51 +0200 Subject: [PATCH] narcissus-maths: Remove unnecessary unsafe --- engine/narcissus-maths/src/mat4.rs | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/engine/narcissus-maths/src/mat4.rs b/engine/narcissus-maths/src/mat4.rs index 104d36b..4fa7c75 100644 --- a/engine/narcissus-maths/src/mat4.rs +++ b/engine/narcissus-maths/src/mat4.rs @@ -265,12 +265,10 @@ impl Mat4 { #[inline] #[target_feature(enable = "sse2")] unsafe fn transpose_sse2(self) -> Mat4 { - unsafe { - use std::arch::x86_64::_MM_TRANSPOSE4_PS; - let [mut row0, mut row1, mut row2, mut row3] = self.as_m128_array(); - _MM_TRANSPOSE4_PS(&mut row0, &mut row1, &mut row2, &mut row3); - Mat4::from_m128_array([row0, row1, row2, row3]) - } + use std::arch::x86_64::_MM_TRANSPOSE4_PS; + let [mut row0, mut row1, mut row2, mut row3] = self.as_m128_array(); + _MM_TRANSPOSE4_PS(&mut row0, &mut row1, &mut row2, &mut row3); + Mat4::from_m128_array([row0, row1, row2, row3]) } /// Returns the transpose of `self`. @@ -340,19 +338,17 @@ impl Mat4 { #[inline] #[target_feature(enable = "sse4.1")] unsafe fn transform_vec4_sse41(&self, vec: Vec4) -> Vec4 { - unsafe { - use std::arch::x86_64::{_mm_hadd_ps, _mm_mul_ps}; + use std::arch::x86_64::{_mm_hadd_ps, _mm_mul_ps}; - let vec = vec.into(); - let rows = self.as_m128_array(); + let vec = vec.into(); + let rows = self.as_m128_array(); - let values = _mm_hadd_ps( - _mm_hadd_ps(_mm_mul_ps(rows[0], vec), _mm_mul_ps(rows[1], vec)), - _mm_hadd_ps(_mm_mul_ps(rows[2], vec), _mm_mul_ps(rows[3], vec)), - ); + let values = _mm_hadd_ps( + _mm_hadd_ps(_mm_mul_ps(rows[0], vec), _mm_mul_ps(rows[1], vec)), + _mm_hadd_ps(_mm_mul_ps(rows[2], vec), _mm_mul_ps(rows[3], vec)), + ); - values.into() - } + values.into() } /// Transforms the given [`Vec4`] `vec` by `self`. -- 2.49.0