diff options
author | Nathan Rossi <nathan@nathanrossi.com> | 2017-11-24 23:28:00 +1000 |
---|---|---|
committer | Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> | 2017-12-06 15:45:16 -0800 |
commit | 6ddc5873b0ede30e6542f0ab151a6236acc37944 (patch) | |
tree | 4c53731b6e0951e7f9930c13a585ce59f4540020 /conf | |
parent | f408be5a95881803fb9b84babf122b42a3d853a0 (diff) | |
download | meta-xilinx-6ddc5873b0ede30e6542f0ab151a6236acc37944.tar.gz |
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 <nathan@nathanrossi.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Diffstat (limited to 'conf')
-rw-r--r-- | conf/machine/include/microblaze/arch-microblaze.inc | 10 |
1 files changed, 8 insertions, 2 deletions
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" | |||
18 | TUNEVALID[reorder] = "Enable Reorder Instructions" | 18 | TUNEVALID[reorder] = "Enable Reorder Instructions" |
19 | TUNECONFLICTS[reorder] += "v8.00 v8.10 v8.20" | 19 | TUNECONFLICTS[reorder] += "v8.00 v8.10 v8.20" |
20 | 20 | ||
21 | # General feature compiler args | 21 | # Core configuration tune optimizations |
22 | TUNEVALID[frequency-optimized] = "Enabling tuning for frequency optimized core (AREA_OPTIMIZED_2)" | ||
23 | 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" | ||
24 | |||
25 | # Feature compiler args | ||
22 | TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "barrel-shift", "-mxl-barrel-shift", "-mno-xl-barrel-shift" ,d)}" | 26 | TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "barrel-shift", "-mxl-barrel-shift", "-mno-xl-barrel-shift" ,d)}" |
23 | TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "pattern-compare", "-mxl-pattern-compare", "-mno-xl-pattern-compare" ,d)}" | 27 | TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "pattern-compare", "-mxl-pattern-compare", "-mno-xl-pattern-compare" ,d)}" |
28 | TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "frequency-optimized", "-mxl-frequency", "", d)}" | ||
24 | 29 | ||
25 | # Disable reorder for v8.30 if pattern-compare is not enabled | 30 | # Disable reorder for v8.30 if pattern-compare is not enabled |
26 | TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "reorder", \ | 31 | TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "reorder", \ |
@@ -29,11 +34,12 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "reorder", \ | |||
29 | "-mxl-reorder", "-mno-xl-reorder", d), \ | 34 | "-mxl-reorder", "-mno-xl-reorder", d), \ |
30 | "-mxl-reorder", d), "-mno-xl-reorder", d)}" | 35 | "-mxl-reorder", d), "-mno-xl-reorder", d)}" |
31 | 36 | ||
32 | # General feature package architecture formatting | 37 | # Feature package architecture formatting |
33 | MBPKGARCH_TUNE = "" | 38 | MBPKGARCH_TUNE = "" |
34 | MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "barrel-shift", "-bs", "" ,d)}" | 39 | MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "barrel-shift", "-bs", "" ,d)}" |
35 | MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "pattern-compare", "-cmp", "" ,d)}" | 40 | MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "pattern-compare", "-cmp", "" ,d)}" |
36 | MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "reorder", "-re", "" ,d)}" | 41 | MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "reorder", "-re", "" ,d)}" |
42 | MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "frequency-optimized", "-fo", "" ,d)}" | ||
37 | 43 | ||
38 | # Additional features | 44 | # Additional features |
39 | require conf/machine/include/microblaze/feature-microblaze-versions.inc | 45 | require conf/machine/include/microblaze/feature-microblaze-versions.inc |