Merge "Revert "Enable the various chrome zlib optimizations.""
am: 8dda271246

Change-Id: I85e8274171fcd4dd5291567bf2e848e8aebbd819
diff --git a/Android.bp b/Android.bp
index 3e060b0..2937ca3 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,62 +1,9 @@
-srcs_opt = [
-    "adler32_simd.c",
-    // See https://chromium-review.googlesource.com/749732.
-    "contrib/optimizations/inffast_chunk.c",
-    "contrib/optimizations/inflate.c",
-    "crc32_simd.c",
-]
-
-cflags_arm = [
-    // Since we're building for the platform, we claim to be Linux rather than
-    // Android so we use getauxval() directly instead of the NDK
-    // android_getCpuFeatures which isn't available to us anyway.
-    "-DARMV8_OS_LINUX",
-    // We no longer support non-Neon platform builds.
-    "-DADLER32_SIMD_NEON",
-    "-DINFLATE_CHUNK_SIMD_NEON",
-    // HWCAP_CRC32 is checked at runtime, so it's okay to turn crc32
-    // acceleration on for both 32- and 64-bit.
-    "-DCRC32_ARMV8_CRC32",
-    // Testing with zlib_bench shows -O3 is a win for ARM but a bit of a wash
-    // for x86, so match the BUILD file in only enabling this for ARM.
-    "-O3",
-]
-srcs_arm = [
-    "arm_features.c",
-] + srcs_opt
-
-cflags_x86 = []
-srcs_x86 = ["inflate.c"]
-
-/* TODO: this should work, but fails some tests on cuttlefish.
-cflags_x86 = [
-    // Android's x86/x86-64 ABI includes SSE2 and SSSE3.
-    "-DADLER32_SIMD_SSSE3",
-    "-DINFLATE_CHUNK_SIMD_SSE2",
-    // TODO: ...but the host build system defaults don't match our official ABI.
-    "-mssse3",
-    // PCLMUL isn't in the ABI, but it won't actually be used unless CPUID
-    // reports that the processor really does have the instruction.
-    "-mpclmul",
-    "-DCRC32_SIMD_SSE42_PCLMUL",
-]
-srcs_x86 = [
-    "crc_folding.c",
-    "fill_window_sse.c",
-    "x86.c",
-] + srcs_opt
-*/
-
-// This optimization is applicable to arm64 and x86-64.
-cflags_64 = ["-DINFLATE_CHUNK_READ_64LE"]
-
 cc_defaults {
     name: "libz_defaults",
 
     cflags: [
-        // We do support hidden visibility, so turn that on.
+        "-O3",
         "-DHAVE_HIDDEN",
-        // We do support const, so turn that on.
         "-DZLIB_CONST",
         "-Wall",
         "-Werror",
@@ -75,35 +22,27 @@
         "gzread.c",
         "gzwrite.c",
         "infback.c",
+        "inflate.c",
         "inftrees.c",
         "inffast.c",
-        "simd_stub.c",
         "trees.c",
         "uncompr.c",
         "zutil.c",
+
+        "simd_stub.c",
     ],
 
     arch: {
         arm: {
+            // measurements show that the ARM version of ZLib is about x1.17 faster
+            // than the thumb one...
+            // TODO: re-test with zlib_bench after SIMD is enabled.
+            instruction_set: "arm",
+
             // TODO: This is to work around b/24465209. Remove after root cause
             // is fixed.
             pack_relocations: false,
             ldflags: ["-Wl,--hash-style=both"],
-
-            cflags: cflags_arm,
-            srcs: srcs_arm,
-        },
-        arm64: {
-            cflags: cflags_arm + cflags_64,
-            srcs: srcs_arm,
-        },
-        x86: {
-            cflags: cflags_x86,
-            srcs: srcs_x86,
-        },
-        x86_64: {
-            cflags: cflags_x86 + cflags_64,
-            srcs: srcs_x86,
         },
     },
 }
@@ -134,8 +73,6 @@
     },
 }
 
-// libz_current allows modules building against the NDK to have access to zlib
-// API that's not available from the NDK libz.
 cc_library_static {
     name: "libz_current",
     defaults: ["libz_defaults"],
@@ -156,12 +93,6 @@
     cflags: ["-Wall", "-Werror"],
     host_supported: true,
     shared_libs: ["libz"],
-    // We build zlib_bench32 and zlib_bench64 so it's easy to test LP32.
-    compile_multilib: "both",
-    multilib: {
-        lib32: { suffix: "32", },
-        lib64: { suffix: "64", },
-    },
 }
 
 // This module is defined in development/ndk/Android.bp. Updating these headers