[meta-xilinx] [PATCH v2 5/7] arch-microblaze.inc: Add 'frequency-optimized' tune
Nathan Rossi
nathan at nathanrossi.com
Fri Nov 24 05:28:00 PST 2017
With MicroBlaze v10.0 an additional AREA_OPTIMIZED value of 2 was added
named Frequency. This optimization adds additional pipeline stages, and
code can be optimized differently to achieve better tuned performance
for these targets.
The '-mxl-frequency' flag has been added to GCC (not in mainline) to
enable specific tune optimizations for CPUs configured this way.
Whilst this tune does not change any ABI the addition of the 'fo'
package arch flag is added to allow for building both target optimized
and un-optimized without mixing packages.
Signed-off-by: Nathan Rossi <nathan at nathanrossi.com>
---
conf/machine/include/microblaze/arch-microblaze.inc | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/conf/machine/include/microblaze/arch-microblaze.inc b/conf/machine/include/microblaze/arch-microblaze.inc
index 604dc7a691..d79269cc5b 100644
--- a/conf/machine/include/microblaze/arch-microblaze.inc
+++ b/conf/machine/include/microblaze/arch-microblaze.inc
@@ -18,9 +18,14 @@ TUNEVALID[pattern-compare] = "Enable Pattern Compare Instructions"
TUNEVALID[reorder] = "Enable Reorder Instructions"
TUNECONFLICTS[reorder] += "v8.00 v8.10 v8.20"
-# General feature compiler args
+# Core configuration tune optimizations
+TUNEVALID[frequency-optimized] = "Enabling tuning for frequency optimized core (AREA_OPTIMIZED_2)"
+TUNECONFLICTS[frequency-optimized] += "v8.00 v8.10 v8.20 v8.30 v8.40 v8.50 v9.0 v9.1 v9.2 v9.3 v9.4 v9.5 v9.6"
+
+# Feature compiler args
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "barrel-shift", "-mxl-barrel-shift", "-mno-xl-barrel-shift" ,d)}"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "pattern-compare", "-mxl-pattern-compare", "-mno-xl-pattern-compare" ,d)}"
+TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "frequency-optimized", "-mxl-frequency", "", d)}"
# Disable reorder for v8.30 if pattern-compare is not enabled
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "reorder", \
@@ -29,11 +34,12 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "reorder", \
"-mxl-reorder", "-mno-xl-reorder", d), \
"-mxl-reorder", d), "-mno-xl-reorder", d)}"
-# General feature package architecture formatting
+# Feature package architecture formatting
MBPKGARCH_TUNE = ""
MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "barrel-shift", "-bs", "" ,d)}"
MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "pattern-compare", "-cmp", "" ,d)}"
MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "reorder", "-re", "" ,d)}"
+MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "frequency-optimized", "-fo", "" ,d)}"
# Additional features
require conf/machine/include/microblaze/feature-microblaze-versions.inc
--
2.15.0
More information about the meta-xilinx
mailing list