npk.yml 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. ## Package Base Information
  2. name: app-nsdk_coremark
  3. owner: nuclei
  4. version:
  5. description: Coremark Benchmark
  6. type: app
  7. keywords:
  8. - baremetal
  9. - benchmark
  10. category: baremetal application
  11. license: Apache-2.0
  12. homepage: https://www.eembc.org/coremark/
  13. ## Package Dependency
  14. dependencies:
  15. - name: sdk-nuclei_sdk
  16. version:
  17. ## Package Configurations
  18. configuration:
  19. ## Set Configuration for other packages
  20. setconfig:
  21. - config: stdclib
  22. value: newlib_small
  23. ## Source Code Management
  24. codemanage:
  25. copyfiles:
  26. - path: ["*.c", "*.h"]
  27. incdirs:
  28. - path: ["./"]
  29. libdirs:
  30. ldlibs:
  31. ## Build Configuration
  32. buildconfig:
  33. - type: common
  34. cdefines:
  35. - defines: FLAGS_STR=\""See compiler options passed in IDE"\"
  36. - defines: ITERATIONS=5
  37. condition: $( ${cpu_series} == 100 )
  38. - defines: ITERATIONS=800
  39. condition: $( ${cpu_series} != 100 )
  40. - defines: PERFORMANCE_RUN=1
  41. - type: gcc
  42. common_flags: # flags need to be combined together across all packages
  43. - flags: >-
  44. -Ofast -fno-code-hoisting -fno-common -finline-functions -falign-functions=10
  45. -falign-jumps=8 -falign-loops=8 -finline-limit=300 -fno-if-conversion -fno-if-conversion2
  46. -fselective-scheduling -fno-tree-loop-distribute-patterns -funroll-loops -funroll-all-loops
  47. -fno-delete-null-pointer-checks -mbranch-cost=1 --param fsm-scale-path-stmts=3
  48. --param max-average-unrolled-insns=400 --param max-grow-copy-bb-insns=20 --param max-jump-thread-duplication-stmts=26
  49. --param hot-bb-frequency-fraction=4 --param unroll-jam-min-percent=0
  50. condition: $( ${cpu_series} == 200 || ${cpu_series} == 100 )
  51. - flags: >-
  52. -Ofast -fno-code-hoisting -fno-common -finline-functions -falign-functions=6
  53. -falign-jumps=6 -falign-loops=4 -finline-limit=200 -fno-if-conversion -fno-if-conversion2
  54. -fselective-scheduling -fno-tree-loop-distribute-patterns -funroll-loops -funroll-all-loops
  55. -fno-delete-null-pointer-checks -fno-rename-registers -mbranch-cost=1 --param fsm-scale-path-stmts=3
  56. --param max-average-unrolled-insns=200 --param max-grow-copy-bb-insns=20 --param max-jump-thread-duplication-stmts=25
  57. --param hot-bb-frequency-fraction=4
  58. condition: $( ${cpu_series} == 300 )
  59. - flags: >-
  60. -Ofast -fno-version-loops-for-strides -ffloat-store -mbranch-cost=1 -mstrict-align -funroll-all-loops -finline-limit=500
  61. -ftree-dominator-opts -funroll-loops -finline-functions -falign-functions=8
  62. -falign-jumps=8 -falign-loops=6 -fno-if-conversion2 -fno-tree-loop-distribute-patterns -fno-tree-loop-ivcanon
  63. --param=max-loop-header-insns=2 --param=unroll-jam-min-percent=0
  64. --param max-jump-thread-duplication-stmts=12 --param fsm-scale-path-stmts=3 --param max-grow-copy-bb-insns=12
  65. condition: $( ${cpu_series} == 600 ) && $( contains(${nuclei_core}, "x"))
  66. - flags: >-
  67. -Ofast -fno-version-loops-for-strides -ffloat-store -mbranch-cost=1 -mstrict-align -funroll-all-loops -finline-limit=300
  68. -ftree-dominator-opts -funroll-loops -finline-functions -falign-functions=8
  69. -falign-jumps=8 -falign-loops=8 -fipa-pta -fno-code-hoisting -fno-if-conversion
  70. -fno-if-conversion2 -fno-tree-loop-distribute-patterns -fno-tree-loop-ivcanon
  71. -ftree-vrp --param=max-loop-header-insns=2 --param=unroll-jam-min-percent=0
  72. --param max-jump-thread-duplication-stmts=12 --param fsm-scale-path-stmts=3 --param max-grow-copy-bb-insns=12
  73. condition: $( ${cpu_series} == 600 ) && $( ! contains(${nuclei_core}, "x"))
  74. - flags: >-
  75. -Ofast -fgcse-las -fno-code-hoisting -fipa-pta -mbranch-cost=1 -funroll-all-loops -finline-limit=300
  76. -fno-crossjumping -fno-version-loops-for-strides
  77. -fno-tree-sra -fno-tree-sink -fno-tree-partial-pre
  78. -fno-shrink-wrap-separate -ffloat-store -funroll-loops -falign-functions=16
  79. -falign-jumps=8 -falign-loops=6 -fno-if-conversion2 -fno-tree-loop-ivcanon
  80. -fstack-protector -fno-tree-loop-distribute-patterns -fno-cse-follow-jumps -fno-sched-dep-count-heuristic --param loop-max-datarefs-for-datadeps=4
  81. --param max-jump-thread-duplication-stmts=30 --param fsm-scale-path-stmts=3 --param max-grow-copy-bb-insns=12
  82. condition: $( ${cpu_series} == 900 ) && $( contains(${nuclei_core}, "x"))
  83. - flags: >-
  84. -Ofast -mno-autovec-dsp -fno-shrink-wrap-separate -fno-tree-partial-pre -fno-version-loops-for-strides -mbranch-cost=1 -mstrict-align -funroll-all-loops -finline-limit=350
  85. -fno-code-hoisting -fno-sched-last-insn-heuristic -fno-toplevel-reorder -fno-tree-copy-prop -fno-crossjumping -fno-bit-tests -ftree-dominator-opts -funroll-loops -finline-functions -falign-functions=4
  86. -fno-ipa-bit-cp -falign-jumps=16 -falign-loops=8 -fno-if-conversion2 -fno-tree-loop-ivcanon
  87. -fgcse-las --param=max-loop-header-insns=3 --param loop-max-datarefs-for-datadeps=6
  88. --param max-jump-thread-duplication-stmts=58 --param fsm-scale-path-stmts=3 --param max-grow-copy-bb-insns=12
  89. condition: $( ${cpu_series} == 900 ) && $( ! contains(${nuclei_core}, "x"))
  90. - flags: >-
  91. -Ofast -fgcse-las -ffloat-store -mbranch-cost=1 -mstrict-align -funroll-all-loops
  92. -fno-if-conversion -ftree-dominator-opts -fno-selective-scheduling -finline-functions -falign-functions=12
  93. -falign-jumps=8 -finline-limit=400 -fno-common -fno-tree-vectorize -fno-tree-loop-ivcanon
  94. --param max-jump-thread-duplication-stmts=8 -fno-tree-partial-pre -fno-tree-copy-prop -fno-associative-math -ftrapping-math -fno-toplevel-reorder
  95. -fstack-protector -fno-sched-last-insn-heuristic -fno-sched-dep-count-heuristic -fno-ipa-bit-cp -fno-function-cse
  96. -fno-cse-follow-jumps -fno-crossjumping --param max-grow-copy-bb-insns=25
  97. condition: $( ${cpu_series} == 1000 )
  98. - type: clang
  99. common_flags: # flags need to be combined together across all packages
  100. - flags: -O3 -flto
  101. - type: zcc
  102. common_flags: # flags need to be combined together across all packages
  103. - flags: -O3 -flto -falign-functions=4 -falign-loops=4 -flate-loop-unroll -malign-branch
  104. ldflags:
  105. - flags: -Wl,-mllvm,--align-all-nofallthru-blocks=2