1# Copyright 2019 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5declare_args() { 6 # Version of the ARM processor when compiling on ARM. Ignored on non-ARM 7 # platforms. 8 arm_version = 7 9 10 # The ARM architecture. This will be a string like "armv6" or "armv7-a". 11 # An empty string means to use the default for the arm_version. Getting 12 # a proper list of supported architectures is challenging for clang, but 13 # can be found in the triple.h header in the LLVM source, under the 14 # SubArchType enum. 15 arm_arch = "armv7-a" 16 17 # The ARM floating point hardware. This will be a string like "neon" or 18 # "vfpv3". 19 arm_fpu = "vfpv3-d16" 20 21 # The ARM floating point mode. This is either the string "hard", "soft", or 22 # "softfp". 23 arm_float_abi = "hard" 24 25 # The ARM variant-specific tuning mode. This will be a string like "armv6" 26 # or "cortex-a15". Each cpu-type has a different tuning value. 27 arm_tune = "generic-armv7-a" 28} 29 30declare_args() { 31 # Whether to use the neon FPU instruction set or not. Actual value is set 32 # below, based on the arm_fpu argument. 33 arm_use_neon = arm_fpu == "neon" 34} 35 36if (current_cpu == "arm64") { 37 # arm64 supports only "hard". 38 arm_float_abi = "hard" 39 arm_fpu = "neon" 40 arm_use_neon = true 41} 42 43assert(arm_float_abi == "hard" || arm_float_abi == "soft" || 44 arm_float_abi == "softfp") 45assert(arm_version == 6 || arm_version == 7 || arm_version == 8) 46