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