diff --git a/src/ImageSharp/Compression/Zlib/Adler32.cs b/src/ImageSharp/Compression/Zlib/Adler32.cs index 1b1a77715..dd8217541 100644 --- a/src/ImageSharp/Compression/Zlib/Adler32.cs +++ b/src/ImageSharp/Compression/Zlib/Adler32.cs @@ -71,6 +71,11 @@ internal static class Adler32 return CalculateSse(adler, buffer); } + if (AdvSimd.IsSupported) + { + return CalculateArm(adler, buffer); + } + return CalculateScalar(adler, buffer); } diff --git a/src/ImageSharp/Compression/Zlib/Crc32.cs b/src/ImageSharp/Compression/Zlib/Crc32.cs index c85d58df5..39c535c77 100644 --- a/src/ImageSharp/Compression/Zlib/Crc32.cs +++ b/src/ImageSharp/Compression/Zlib/Crc32.cs @@ -61,6 +61,16 @@ internal static partial class Crc32 return ~CalculateSse(~crc, buffer); } + if (ArmCrc32.Arm64.IsSupported) + { + return ~CalculateArm64(~crc, buffer); + } + + if (ArmCrc32.IsSupported) + { + return ~CalculateArm(~crc, buffer); + } + return ~CalculateScalar(~crc, buffer); }