summaryrefslogtreecommitdiffstats
path: root/core/combo
diff options
context:
space:
mode:
authorarter97 <qkrwngud825@gmail.com>2014-09-09 11:44:22 +0900
committerMichael Bestas <mikeioannina@gmail.com>2015-10-27 00:45:16 +0200
commitce5e2e0f5dad411bf2d51a410075e6842470a829 (patch)
tree2bb46c3422391c85b88c9b182ef32554eece3c4f /core/combo
parentd17b74bb8d5db9cab53b39fd56532431bb15d05d (diff)
downloadbuild-ce5e2e0f5dad411bf2d51a410075e6842470a829.zip
build-ce5e2e0f5dad411bf2d51a410075e6842470a829.tar.gz
build-ce5e2e0f5dad411bf2d51a410075e6842470a829.tar.bz2
Apply correct, optimized mfpu compiler flag for ARMv7-A Cortex CPUs
For those ARMv7-A Cortex CPUs that can handle VFPv4 floating point, We can set "-mfpu=neon-vfpv4" instead of generic "-mfpu=neon" to gain extra performance improvements. References : - GCC : https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html - Cortex A15 : http://www.arm.com/products/processors/cortex-a/cortex-a15.php - Cortex A9 : http://www.arm.com/products/processors/cortex-a/cortex-a9.php - Cortex A8 : http://www.arm.com/products/processors/cortex-a/cortex-a8.php - Cortex A7 : http://www.arm.com/products/processors/cortex-a/cortex-a7.php Change-Id: I91893789ed8edabf3767e1782e494b81158332bb Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com> Signed-off-by: Maxime Poulain <maxime.poulain@student.uclouvain.be>
Diffstat (limited to 'core/combo')
-rw-r--r--core/combo/arch/arm/armv7-a-neon.mk13
1 files changed, 6 insertions, 7 deletions
diff --git a/core/combo/arch/arm/armv7-a-neon.mk b/core/combo/arch/arm/armv7-a-neon.mk
index 2822624..9154f71 100644
--- a/core/combo/arch/arm/armv7-a-neon.mk
+++ b/core/combo/arch/arm/armv7-a-neon.mk
@@ -11,7 +11,7 @@ ifneq (,$(filter cortex-a15 krait denver,$(TARGET_$(combo_2nd_arch_prefix)CPU_VA
# hardware divide operations are generated. This should be removed and a
# krait CPU variant added to GCC. For clang we specify -mcpu for krait in
# core/clang/arm.mk.
- arch_variant_cflags := -mcpu=cortex-a15
+ arch_variant_cflags := -mcpu=cortex-a15 -mfpu=neon-vfpv4
# Fake an ARM compiler flag as these processors support LPAE which GCC/clang
# don't advertise.
@@ -20,19 +20,19 @@ ifneq (,$(filter cortex-a15 krait denver,$(TARGET_$(combo_2nd_arch_prefix)CPU_VA
-Wl,--no-fix-cortex-a8
else
ifeq ($(strip $(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT)),cortex-a9)
- arch_variant_cflags := -mcpu=cortex-a9
+ arch_variant_cflags := -mcpu=cortex-a9 -mfpu=neon
else
ifneq (,$(filter cortex-a8 scorpion,$(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT)))
- arch_variant_cflags := -mcpu=cortex-a8
+ arch_variant_cflags := -mcpu=cortex-a8 -mfpu=neon
arch_variant_ldflags := \
-Wl,--fix-cortex-a8
else
ifeq ($(strip $(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT)),cortex-a7)
- arch_variant_cflags := -mcpu=cortex-a7
+ arch_variant_cflags := -mcpu=cortex-a7 -mfpu=neon-vfpv4
arch_variant_ldflags := \
-Wl,--no-fix-cortex-a8
else
- arch_variant_cflags := -march=armv7-a
+ arch_variant_cflags := -march=armv7-a -mfpu=neon
# Generic ARM might be a Cortex A8 -- better safe than sorry
arch_variant_ldflags := \
-Wl,--fix-cortex-a8
@@ -42,5 +42,4 @@ endif
endif
arch_variant_cflags += \
- -mfloat-abi=softfp \
- -mfpu=neon
+ -mfloat-abi=softfp