From 6ddc5873b0ede30e6542f0ab151a6236acc37944 Mon Sep 17 00:00:00 2001 From: Nathan Rossi Date: Fri, 24 Nov 2017 23:28:00 +1000 Subject: arch-microblaze.inc: Add 'frequency-optimized' tune 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 Signed-off-by: Manjukumar Matha --- conf/machine/include/microblaze/arch-microblaze.inc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'conf') diff --git a/conf/machine/include/microblaze/arch-microblaze.inc b/conf/machine/include/microblaze/arch-microblaze.inc index 604dc7a6..d79269cc 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 -- cgit v1.2.3-54-g00ecf