xref: /aosp_15_r20/external/zlib/patches/0013-cpu-feature-detection-for-arm.patch (revision 86ee64e75fa5f8bce2c8c356138035642429cd05)
1*86ee64e7SAndroid Build Coastguard WorkerFrom c43ba7a55f091c0dcbfd8d89f7a5121269ce1b81 Mon Sep 17 00:00:00 2001
2*86ee64e7SAndroid Build Coastguard WorkerFrom: Ho Cheung <[email protected]>
3*86ee64e7SAndroid Build Coastguard WorkerDate: Thu, 27 Jul 2023 09:47:52 +0800
4*86ee64e7SAndroid Build Coastguard WorkerSubject: [PATCH] [zlib] Perform CPU feature detection for ARM inside adler32()
5*86ee64e7SAndroid Build Coastguard Worker
6*86ee64e7SAndroid Build Coastguard WorkerPerform CPU feature detection for ARM within adler32() to have the same
7*86ee64e7SAndroid Build Coastguard Workerbehavior as x86.
8*86ee64e7SAndroid Build Coastguard Worker
9*86ee64e7SAndroid Build Coastguard Worker---
10*86ee64e7SAndroid Build Coastguard Worker third_party/zlib/adler32.c | 4 ++--
11*86ee64e7SAndroid Build Coastguard Worker 1 file changed, 2 insertions(+), 2 deletions(-)
12*86ee64e7SAndroid Build Coastguard Worker
13*86ee64e7SAndroid Build Coastguard Workerdiff --git a/third_party/zlib/adler32.c b/third_party/zlib/adler32.c
14*86ee64e7SAndroid Build Coastguard Workerindex 81c584f68e233..99a294496f7eb 100644
15*86ee64e7SAndroid Build Coastguard Worker--- a/third_party/zlib/adler32.c
16*86ee64e7SAndroid Build Coastguard Worker+++ b/third_party/zlib/adler32.c
17*86ee64e7SAndroid Build Coastguard Worker@@ -90,9 +90,9 @@ uLong ZEXPORT adler32_z(uLong adler, const Bytef *buf, z_size_t len) {
18*86ee64e7SAndroid Build Coastguard Worker         return adler | (sum2 << 16);
19*86ee64e7SAndroid Build Coastguard Worker     }
20*86ee64e7SAndroid Build Coastguard Worker
21*86ee64e7SAndroid Build Coastguard Worker-#if defined(ADLER32_SIMD_SSSE3)
22*86ee64e7SAndroid Build Coastguard Worker+#if defined(ADLER32_SIMD_SSSE3) || defined(ADLER32_SIMD_NEON)
23*86ee64e7SAndroid Build Coastguard Worker     /*
24*86ee64e7SAndroid Build Coastguard Worker-     * Use SSSE3 to compute the adler32. Since this routine can be
25*86ee64e7SAndroid Build Coastguard Worker+     * Use SIMD to compute the adler32. Since this function can be
26*86ee64e7SAndroid Build Coastguard Worker      * freely used, check CPU features here. zlib convention is to
27*86ee64e7SAndroid Build Coastguard Worker      * call adler32(0, NULL, 0), before making calls to adler32().
28*86ee64e7SAndroid Build Coastguard Worker      * So this is a good early (and infrequent) place to cache CPU
29*86ee64e7SAndroid Build Coastguard Worker--
30*86ee64e7SAndroid Build Coastguard Worker2.41.0.windows.3
31