arm: build: Support ARM build without FPU
parent
98d089bccc
commit
83491e4a14
|
|
@ -28,6 +28,8 @@ if (current_cpu == "arm" || v8_current_cpu == "arm") {
|
|||
arm_use_thumb = true
|
||||
|
||||
arm_cpu = ""
|
||||
arm_fpu = ""
|
||||
arm_use_neon = ""
|
||||
}
|
||||
|
||||
if (current_os == "android" || target_os == "android") {
|
||||
|
|
@ -43,6 +45,10 @@ if (current_cpu == "arm" || v8_current_cpu == "arm") {
|
|||
assert(arm_float_abi == "" || arm_float_abi == "hard" ||
|
||||
arm_float_abi == "soft" || arm_float_abi == "softfp")
|
||||
|
||||
if (arm_use_neon == "") {
|
||||
arm_use_neon = false
|
||||
}
|
||||
|
||||
if (arm_version == 6) {
|
||||
assert(false, "arm_version must be >= 7")
|
||||
} else if (arm_version == 7) {
|
||||
|
|
@ -58,6 +64,14 @@ if (current_cpu == "arm" || v8_current_cpu == "arm") {
|
|||
arm_float_abi = "hard"
|
||||
}
|
||||
}
|
||||
|
||||
if (arm_fpu == "") {
|
||||
if (arm_use_neon) {
|
||||
arm_fpu = "neon"
|
||||
} else {
|
||||
arm_fpu = "vfpv3-d16"
|
||||
}
|
||||
}
|
||||
} else if (arm_version == 8) {
|
||||
if (arm_arch == "") {
|
||||
arm_arch = "armv8-a"
|
||||
|
|
@ -65,11 +79,20 @@ if (current_cpu == "arm" || v8_current_cpu == "arm") {
|
|||
if (arm_float_abi == "") {
|
||||
arm_float_abi = "hard"
|
||||
}
|
||||
|
||||
if (arm_fpu == "") {
|
||||
if (arm_use_neon) {
|
||||
arm_fpu = "neon"
|
||||
} else {
|
||||
arm_fpu = "vfpv3-d16"
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (current_cpu == "arm64" || v8_current_cpu == "arm64" ||
|
||||
current_cpu == "arm64e" || v8_current_cpu == "arm64e") {
|
||||
# arm64 supports only "hard".
|
||||
arm_float_abi = "hard"
|
||||
arm_use_neon = true
|
||||
declare_args() {
|
||||
arm_cpu = ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1625,8 +1625,8 @@ config("rustc_revision") {
|
|||
}
|
||||
|
||||
config("compiler_arm_fpu") {
|
||||
if (current_cpu == "arm" && !is_ios) {
|
||||
cflags = [ "-mfpu=neon" ]
|
||||
if (current_cpu == "arm" && !is_ios && arm_fpu != "") {
|
||||
cflags = [ "-mfpu=$arm_fpu" ]
|
||||
if (!arm_use_thumb) {
|
||||
cflags += [ "-marm" ]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ source_set("zlib_common_headers") {
|
|||
# TODO(ritownsend@google.com): Optimizations temporarily disabled for
|
||||
# Windows on Arm MSVC builds, see http://crbug.com/v8/10012.
|
||||
use_arm_neon_optimizations =
|
||||
(current_cpu == "arm" || current_cpu == "arm64") && !(is_win && !is_clang)
|
||||
(current_cpu == "arm" || current_cpu == "arm64") && !(is_win && !is_clang) && arm_use_neon
|
||||
|
||||
use_x86_x64_optimizations =
|
||||
(current_cpu == "x86" || current_cpu == "x64") && !is_ios
|
||||
|
|
|
|||
Loading…
Reference in New Issue