aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/conf/machine/include/tune-cortexa8.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/conf/machine/include/tune-cortexa8.inc')
-rw-r--r--meta-oe/conf/machine/include/tune-cortexa8.inc17
1 files changed, 17 insertions, 0 deletions
diff --git a/meta-oe/conf/machine/include/tune-cortexa8.inc b/meta-oe/conf/machine/include/tune-cortexa8.inc
new file mode 100644
index 0000000000..2ac0ebfe45
--- /dev/null
+++ b/meta-oe/conf/machine/include/tune-cortexa8.inc
@@ -0,0 +1,17 @@
+# Instead of using -mfpu=vfp[2] we can use -mfpu=neon to make use of gcc intrinsics[1] and vectorize loops with -ftree-vectorize[3]
+# [1] http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html
+# [2] http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
+# [3] https://support.codesourcery.com/GNUToolchain/kbentry29
+
+# Can be 'softfp' or 'hardfp'
+ARM_FP_MODE ?= "softfp"
+
+ARM_FP_OPT = "${@['-mfloat-abi=softfp', '-mfloat-abi=hard'][bb.data.getVar('ARM_FP_MODE', d, 1) == 'hardfp']}"
+ARM_FP_PACKAGESUFFIX = "${@['', '-hardfp'][bb.data.getVar('ARM_FP_MODE', d, 1) == 'hardfp']}"
+
+TARGET_CC_ARCH = "-march=armv7-a -mtune=cortex-a8 -mfpu=neon ${ARM_FP_OPT}"
+
+FEED_ARCH = "armv7a${ARM_FP_PACKAGESUFFIX}"
+BASE_PACKAGE_ARCH = "armv7a${ARM_FP_PACKAGESUFFIX}"
+
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6 armv7 armv7a${ARM_FP_PACKAGESUFFIX}"