From 7802cf1751cd55d3d768fb12597990c8be5fb309 Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Fri, 3 Sep 2021 15:19:41 +0200 Subject: Add support for mcpu In case of arm , mcpu can be specified instead of 'march' and 'mtune'. Change-Id: I8318f6dfaf02beb2dad40dec59fc73a263e7d04f Reviewed-by: Allan Sandfeld Jensen --- chromium/build/config/arm.gni | 13 ++++++++----- chromium/build/config/compiler/BUILD.gn | 16 +++++++++++----- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/chromium/build/config/arm.gni b/chromium/build/config/arm.gni index ddd1c5df823..eb7731337f1 100644 --- a/chromium/build/config/arm.gni +++ b/chromium/build/config/arm.gni @@ -36,6 +36,9 @@ if (current_cpu == "arm" || v8_current_cpu == "arm") { # Thumb is a reduced instruction set available on some ARM processors that # has increased code density. arm_use_thumb = true + + # arch + tune + arm_cpu = "" } if (current_os == "android" || target_os == "android") { @@ -61,7 +64,7 @@ if (current_cpu == "arm" || v8_current_cpu == "arm") { } if (arm_version == 6) { - if (arm_arch == "") { + if (arm_arch == "" && arm_cpu == "") { arm_arch = "armv6" } if (arm_tune != "") { @@ -76,10 +79,10 @@ if (current_cpu == "arm" || v8_current_cpu == "arm") { arm_use_thumb = false arm_use_neon = false } else if (arm_version == 7) { - if (arm_arch == "") { + if (arm_arch == "" && arm_cpu == "") { arm_arch = "armv7-a" } - if (arm_tune == "") { + if (arm_tune == "" && arm_cpu == "") { arm_tune = "generic-armv7-a" } @@ -100,10 +103,10 @@ if (current_cpu == "arm" || v8_current_cpu == "arm") { } } } else if (arm_version == 8) { - if (arm_arch == "") { + if (arm_arch == "" && arm_cpu == "") { arm_arch = "armv8-a" } - if (arm_tune == "") { + if (arm_tune == "" && arm_cpu == "") { arm_tune = "generic-armv8-a" } diff --git a/chromium/build/config/compiler/BUILD.gn b/chromium/build/config/compiler/BUILD.gn index cda452e8a8b..33abfc46b81 100644 --- a/chromium/build/config/compiler/BUILD.gn +++ b/chromium/build/config/compiler/BUILD.gn @@ -753,9 +753,12 @@ config("compiler") { # unless the architecture revision in .ARM.attributes is sufficiently new. # TODO(pcc): The contents of .ARM.attributes should be based on the # -march flag passed at compile time (see llvm.org/pr36291). - if (current_cpu == "arm") { + if (current_cpu == "arm" && arm_arch != "") { ldflags += [ "-march=$arm_arch" ] } + if (current_cpu == "arm" && arm_cpu != "") { + ldflags += [ "-mcpu=$arm_cpu" ] + } } if (compiler_timing) { @@ -892,10 +895,13 @@ config("compiler_cpu_abi") { ldflags += [ "--target=arm-linux-gnueabihf" ] } if (!is_nacl) { - cflags += [ - "-march=$arm_arch", - "-mfloat-abi=$arm_float_abi", - ] + cflags += ["-mfloat-abi=$arm_float_abi"] + if (arm_arch != "") { + cflags += [ "-march=$arm_arch"] + } + if (arm_cpu != "") { + cflags += [ "-mcpu=$arm_cpu"] + } } if (arm_tune != "") { cflags += [ "-mtune=$arm_tune" ] -- cgit v1.2.1