diff options
author | arter97 <qkrwngud825@gmail.com> | 2014-09-09 11:44:22 +0900 |
---|---|---|
committer | Michael Bestas <mikeioannina@gmail.com> | 2015-10-27 00:45:16 +0200 |
commit | ce5e2e0f5dad411bf2d51a410075e6842470a829 (patch) | |
tree | 2bb46c3422391c85b88c9b182ef32554eece3c4f /core/combo | |
parent | d17b74bb8d5db9cab53b39fd56532431bb15d05d (diff) | |
download | build-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.mk | 13 |
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 |