From 5a079c0a74c8202683e4da0da923b0dc3b56ee69 Mon Sep 17 00:00:00 2001 From: Stefan Nikolei Date: Wed, 15 Mar 2023 20:57:07 +0100 Subject: [PATCH] Try replicate CompareNotEqual with AdvSimd --- .../Components/ColorConverters/JpegColorConverter.CmykArm64.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykArm64.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykArm64.cs index 0596d8148e..23bf55c415 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykArm64.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykArm64.cs @@ -80,7 +80,7 @@ internal abstract partial class JpegColorConverterBase Vector128 ytmp = AdvSimd.Subtract(scale, Unsafe.Add(ref srcB, i)); Vector128 ktmp = AdvSimd.Min(ctmp, AdvSimd.Min(mtmp, ytmp)); - Vector128 kMask = AdvSimd.CompareEqual(ktmp, scale); + Vector128 kMask = AdvSimd.Negate(AdvSimd.CompareEqual(ktmp, scale)); ctmp = AdvSimd.And(AdvSimd.Arm64.Divide(AdvSimd.Subtract(ctmp, ktmp), AdvSimd.Subtract(scale, ktmp)), kMask); mtmp = AdvSimd.And(AdvSimd.Arm64.Divide(AdvSimd.Subtract(mtmp, ktmp), AdvSimd.Subtract(scale, ktmp)), kMask);