Compare commits
2 Commits
LA664_v1.0
...
默认分支
Author | SHA1 | Date | |
---|---|---|---|
1b410736e3 | |||
6e7de8a562 |
148
SPEC2017/gcc-config-general.cfg
Normal file
148
SPEC2017/gcc-config-general.cfg
Normal file
@ -0,0 +1,148 @@
|
||||
# match spec result standard
|
||||
reportable = yes
|
||||
# skip peak
|
||||
basepeak = yes
|
||||
# show live output
|
||||
teeout = yes
|
||||
# speedup compilation
|
||||
makeflags = --jobs=%{nproc}
|
||||
|
||||
# compilers
|
||||
default:
|
||||
preENV_LD_LIBRARY_PATH = /usr/lib64:/usr/lib:/lib64
|
||||
SPECLANG = /usr/bin/
|
||||
%if %{clang} eq "1"
|
||||
CC = $(SPECLANG)clang -std=c99
|
||||
CXX = $(SPECLANG)clang++
|
||||
%else
|
||||
CC = $(SPECLANG)gcc -std=c99
|
||||
CXX = $(SPECLANG)g++
|
||||
%endif
|
||||
%if %{flang} eq "1"
|
||||
FC = $(SPECLANG)flang-new
|
||||
%else
|
||||
FC = $(SPECLANG)gfortran
|
||||
%endif
|
||||
# allow to override compilers
|
||||
%ifdef %{override-cc}
|
||||
CC = %{override-cc} -std=c99
|
||||
%endif
|
||||
%ifdef %{override-cxx}
|
||||
CXX = %{override-cxx}
|
||||
%endif
|
||||
%ifdef %{override-fc}
|
||||
FC = %{override-fc}
|
||||
%endif
|
||||
# How to say "Show me your version, please"
|
||||
CC_VERSION_OPTION = -v
|
||||
CXX_VERSION_OPTION = -v
|
||||
FC_VERSION_OPTION = -v
|
||||
|
||||
# perf: use runcpu --define perf=1 --noreportable to enable
|
||||
%if %{perf} eq "1"
|
||||
# override branch-misses counter if necessary
|
||||
# e.g. on ARMv8 PMUv3, use r22 for branch misses
|
||||
# e.g. on Apple M1, use rcb for branch misses
|
||||
%ifndef %{perf-branchmisses}
|
||||
%define perf-branchmisses branch-misses
|
||||
%endif
|
||||
# override branches counter if necessary
|
||||
# e.g. on Apple M1, use r8d for branches
|
||||
%ifndef %{perf-branches}
|
||||
%define perf-branches branches
|
||||
%endif
|
||||
default:
|
||||
command_add_redirect = 1
|
||||
# bind to core if requested
|
||||
%ifdef %{bindcore}
|
||||
monitor_wrapper = mkdir -p $[top]/result/perf.$lognum; echo "$command" > $[top]/result/perf.$lognum/$benchmark.cmd.$iter.\$\$; taskset -c %{bindcore} perf stat -x \\; -e instructions,cycles,%{perf-branches},%{perf-branchmisses},task-clock -o $[top]/result/perf.$lognum/$benchmark.perf.$iter.\$\$ $command
|
||||
%else
|
||||
monitor_wrapper = mkdir -p $[top]/result/perf.$lognum; echo "$command" > $[top]/result/perf.$lognum/$benchmark.cmd.$iter.\$\$; perf stat -x \\; -e instructions,cycles,%{perf-branches},%{perf-branchmisses},task-clock -o $[top]/result/perf.$lognum/$benchmark.perf.$iter.\$\$ $command
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# portability flags
|
||||
default:
|
||||
EXTRA_PORTABILITY = -DSPEC_LP64
|
||||
500.perlbench_r,600.perlbench_s: #lang='C'
|
||||
%if %{machine} eq "x86_64"
|
||||
PORTABILITY = -DSPEC_LINUX_X64
|
||||
%else
|
||||
PORTABILITY = -DSPEC_LINUX_AARCH64
|
||||
%endif
|
||||
|
||||
521.wrf_r,621.wrf_s: #lang='F,C'
|
||||
CPORTABILITY = -DSPEC_CASE_FLAG
|
||||
FPORTABILITY = -fconvert=big-endian
|
||||
|
||||
523.xalancbmk_r,623.xalancbmk_s: #lang='CXX'
|
||||
PORTABILITY = -DSPEC_LINUX
|
||||
|
||||
526.blender_r: #lang='CXX,C'
|
||||
PORTABILITY = -funsigned-char -DSPEC_LINUX
|
||||
%if %{clang} eq "1"
|
||||
# from config/Example-aocc-linux-x86.cfg
|
||||
CXXPORTABILITY = -D__BOOL_DEFINED
|
||||
%endif
|
||||
|
||||
527.cam4_r,627.cam4_s: #lang='F,C'
|
||||
PORTABILITY = -DSPEC_CASE_FLAG
|
||||
|
||||
628.pop2_s: #lang='F,C'
|
||||
CPORTABILITY = -DSPEC_CASE_FLAG
|
||||
FPORTABILITY = -fconvert=big-endian
|
||||
|
||||
intspeed,fpspeed:
|
||||
EXTRA_OPTIMIZE = -fopenmp -DSPEC_OPENMP
|
||||
fpspeed:
|
||||
#
|
||||
# 627.cam4 needs a big stack; the preENV will apply it to all
|
||||
# benchmarks in the set, as required by the rules.
|
||||
#
|
||||
preENV_OMP_STACKSIZE = 120M
|
||||
|
||||
default=base: # flags for all base
|
||||
%ifdef %{extralibs}
|
||||
EXTRA_LIBS = %{extralibs}
|
||||
%endif
|
||||
%ifdef %{optflags}
|
||||
OPTIMIZE = %{optflags}
|
||||
%else
|
||||
OPTIMIZE = -O3
|
||||
%endif
|
||||
# -std=c++03 required for https://www.spec.org/cpu2017/Docs/benchmarks/510.parest_r.html
|
||||
CXXOPTIMIZE = -std=c++03
|
||||
%if %{flang} ne "1"
|
||||
# -fallow-argument-mismatch required for https://www.spec.org/cpu2017/Docs/benchmarks/521.wrf_r.html
|
||||
FOPTIMIZE = -fallow-argument-mismatch
|
||||
%endif
|
||||
|
||||
intrate,intspeed=base: # flags for integer base
|
||||
EXTRA_COPTIMIZE = -fno-strict-aliasing -fno-unsafe-math-optimizations -fno-finite-math-only -fgnu89-inline -fcommon
|
||||
# Notes about the above
|
||||
# - 500.perlbench_r/600.perlbench_s needs -fno-strict-aliasing, -fno-unsafe-math-optimizations and -fno-finite-math-only
|
||||
# - 502.gcc_r/602.gcc_s needs -fgnu89-inline or -z muldefs
|
||||
# - 525.x264_r/625.x264_s needs -fcommon
|
||||
# - For 'base', all benchmarks in a set must use the same options.
|
||||
# - Therefore, all base benchmarks get the above. See:
|
||||
# https://www.spec.org/cpu2017/Docs/runrules.html#BaseFlags
|
||||
# https://www.spec.org/cpu2017/Docs/benchmarks/500.perlbench_r.html
|
||||
# https://www.spec.org/cpu2017/Docs/benchmarks/502.gcc_r.html
|
||||
# https://www.spec.org/cpu2017/Docs/benchmarks/525.x264_r.html
|
||||
|
||||
%if %{clang} eq "1"
|
||||
# https://github.com/llvm/llvm-project/issues/96859
|
||||
# 523.xalancbmk_r
|
||||
EXTRA_CXXOPTIMIZE = -fdelayed-template-parsing
|
||||
%endif
|
||||
|
||||
%if %{gcc15} eq "1"
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116064
|
||||
# 523.xalamcbmk_r
|
||||
EXTRA_CXXOPTIMIZE += -Wno-error=template-body
|
||||
%endif
|
||||
|
||||
fprate,fpspeed=base: # flags for fp base
|
||||
EXTRA_COPTIMIZE = -Wno-error=implicit-int
|
||||
# Notes about the above
|
||||
# - 527.cam4_r,627.cam4_s needs -Wno-error=implicit-int
|
9439
SPEC2017/gcc-loongarch-2017-3a6000-15.v1.24.cfg
Normal file
9439
SPEC2017/gcc-loongarch-2017-3a6000-15.v1.24.cfg
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user