From f16a10d1d9e6cb24dba253cb8105c250b3b9d627 Mon Sep 17 00:00:00 2001 From: Jonathan Wright Date: Mon, 18 Jan 2021 11:19:10 +0000 Subject: Tidy up BUILD.gn file Simplify conditions to use Arm Neon sources and reduce duplication for AArch64 and AArch32 Neon builds. Change-Id: I8c1f8547741db3ccc6db20e6fef9a73ca49db6d3 --- BUILD.gn | 50 ++++++++++++++++++-------------------------------- 1 file changed, 18 insertions(+), 32 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index 80bdf9b..813357a 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -6,7 +6,7 @@ # implementation. Use the meta target //third_party:jpeg instead. import("//build/config/sanitizers/sanitizers.gni") -if (current_cpu == "arm") { +if (current_cpu == "arm" || current_cpu == "arm64") { import("//build/config/arm.gni") } @@ -150,36 +150,11 @@ static_library("simd") { sources = [ "simd/x86_64/jsimd.c", ] - } else if (current_cpu == "arm" && arm_version >= 7 && - (arm_use_neon || arm_optionally_use_neon)) { - include_dirs += [ "simd/arm/" ] - sources = [ - "simd/arm/aarch32/jchuff-neon.c", - "simd/arm/aarch32/jsimd.c", - "simd/arm/jccolor-neon.c", - "simd/arm/jcgray-neon.c", - "simd/arm/jcphuff-neon.c", - "simd/arm/jcsample-neon.c", - "simd/arm/jdcolor-neon.c", - "simd/arm/jdmerge-neon.c", - "simd/arm/jdsample-neon.c", - "simd/arm/jfdctfst-neon.c", - "simd/arm/jfdctint-neon.c", - "simd/arm/jidctfst-neon.c", - "simd/arm/jidctint-neon.c", - "simd/arm/jidctred-neon.c", - "simd/arm/jquanti-neon.c", - ] - defines = [ - "NEON_INTRINSICS" - ] - configs -= [ "//build/config/compiler:default_optimization" ] - configs += [ "//build/config/compiler:optimize_speed" ] - } else if (current_cpu == "arm64") { + } else if ((current_cpu == "arm" || current_cpu == "arm64") && + arm_use_neon) { include_dirs += [ "simd/arm/" ] + sources = [ - "simd/arm/aarch64/jchuff-neon.c", - "simd/arm/aarch64/jsimd.c", "simd/arm/jccolor-neon.c", "simd/arm/jcgray-neon.c", "simd/arm/jcphuff-neon.c", @@ -194,9 +169,22 @@ static_library("simd") { "simd/arm/jidctred-neon.c", "simd/arm/jquanti-neon.c", ] + if (current_cpu == "arm") { + sources += [ + "simd/arm/aarch32/jchuff-neon.c", + "simd/arm/aarch32/jsimd.c", + ] + } else if (current_cpu == "arm64"){ + sources += [ + "simd/arm/aarch64/jchuff-neon.c", + "simd/arm/aarch64/jsimd.c", + ] + } + defines = [ "NEON_INTRINSICS" ] + configs -= [ "//build/config/compiler:default_optimization" ] configs += [ "//build/config/compiler:optimize_speed" ] } else { @@ -286,9 +274,7 @@ static_library("libjpeg") { } else { public_deps += [ ":simd" ] - if ((current_cpu == "arm" && arm_version >= 7 && - (arm_use_neon || arm_optionally_use_neon)) || - current_cpu == "arm64") { + if ((current_cpu == "arm" || current_cpu == "arm64") && arm_use_neon) { defines += [ "NEON_INTRINSICS", ] } } -- cgit v1.2.3