Fixing Matrix4x4 to use AdvSimd.Negate (#40684)
authorTanner Gooding <tagoo@outlook.com>
Wed, 12 Aug 2020 07:12:59 +0000 (00:12 -0700)
committerGitHub <noreply@github.com>
Wed, 12 Aug 2020 07:12:59 +0000 (07:12 +0000)
src/libraries/System.Private.CoreLib/src/System/Numerics/Matrix4x4.cs

index da139fa..c357347 100644 (file)
@@ -1930,11 +1930,10 @@ namespace System.Numerics
         {
             if (AdvSimd.IsSupported)
             {
-                Vector128<float> zero = Vector128<float>.Zero;
-                AdvSimd.Store(&value.M11, AdvSimd.Subtract(zero, AdvSimd.LoadVector128(&value.M11)));
-                AdvSimd.Store(&value.M21, AdvSimd.Subtract(zero, AdvSimd.LoadVector128(&value.M21)));
-                AdvSimd.Store(&value.M31, AdvSimd.Subtract(zero, AdvSimd.LoadVector128(&value.M31)));
-                AdvSimd.Store(&value.M41, AdvSimd.Subtract(zero, AdvSimd.LoadVector128(&value.M41)));
+                AdvSimd.Store(&value.M11, AdvSimd.Negate(AdvSimd.LoadVector128(&value.M11)));
+                AdvSimd.Store(&value.M21, AdvSimd.Negate(AdvSimd.LoadVector128(&value.M21)));
+                AdvSimd.Store(&value.M31, AdvSimd.Negate(AdvSimd.LoadVector128(&value.M31)));
+                AdvSimd.Store(&value.M41, AdvSimd.Negate(AdvSimd.LoadVector128(&value.M41)));
                 return value;
             }
             else if (Sse.IsSupported)