blob: 731d66afd57ec8405200d474275683e3155d0f8b [file] [log] [blame]
# https://www.spec.org/cpu2017/Docs/benchmarks/502.gcc_r.html
include(../../SpecCPU2017.cmake)
if (NOT TEST_SUITE_SPEC2017_ROOT)
return ()
endif ()
speccpu2017_benchmark(RATE)
add_definitions(-DSPEC_502 -DIN_GCC -DHAVE_CONFIG_H)
speccpu2017_add_include_dirs(. include spec_qsort)
add_compile_options(-fgnu89-inline -fno-strict-aliasing)
## test ########################################################################
speccpu2017_run_test(
"${RUN_test_DIR_REL}/t1.c" -O3 -finline-limit=50000 -o t1.opts-O3_-finline-limit_50000.s
RUN_TYPE test
)
## train #######################################################################
speccpu2017_run_test(
"${RUN_train_DIR_REL}/200.c" -O3 -finline-limit=50000 -o 200.opts-O3_-finline-limit_50000.s
RUN_TYPE train
)
speccpu2017_run_test(
"${RUN_train_DIR_REL}/scilab.c" -O3 -finline-limit=50000 -o scilab.opts-O3_-finline-limit_50000.s
RUN_TYPE train
)
speccpu2017_run_test(
"${RUN_train_DIR_REL}/train01.c" -O3 -finline-limit=50000 -o train01.opts-O3_-finline-limit_50000.s
RUN_TYPE train
)
## ref #########################################################################
speccpu2017_run_test(
"${RUN_ref_DIR_REL}/gcc-pp.c" -O3 -finline-limit=0 -fif-conversion -fif-conversion2 -o gcc-pp.opts-O3_-finline-limit_0_-fif-conversion_-fif-conversion2.s
RUN_TYPE ref
SUITE_TYPE rate
)
speccpu2017_run_test(
"${RUN_ref_DIR_REL}/gcc-pp.c" -O2 -finline-limit=36000 -fpic -o gcc-pp.opts-O2_-finline-limit_36000_-fpic.s
RUN_TYPE ref
SUITE_TYPE rate
)
speccpu2017_run_test(
"${RUN_ref_DIR_REL}/gcc-smaller.c" -O3 -fipa-pta -o gcc-smaller.opts-O3_-fipa-pta.s
RUN_TYPE ref
SUITE_TYPE rate
)
speccpu2017_run_test(
"${RUN_ref_DIR_REL}/ref32.c" -O5 -o ref32.opts-O5.s
RUN_TYPE ref
SUITE_TYPE rate
)
speccpu2017_run_test(
"${RUN_ref_DIR_REL}/ref32.c" -O3 -fselective-scheduling -fselective-scheduling2 -o ref32.opts-O3_-fselective-scheduling_-fselective-scheduling2.s
RUN_TYPE ref
SUITE_TYPE rate
)
################################################################################
speccpu2017_verify_output()
speccpu2017_add_executable(
main.c
cc1-checksum.c
alias.c
alloca.c
alloc-pool.c
argv.c
attribs.c
auto-inc-dec.c
bb-reorder.c
bid2dpd_dpd2bid.c
bitmap.c
bt-load.c
c-lang.c
c-errors.c
c-lex.c
c-pragma.c
c-decl.c
c-typeck.c
c-convert.c
c-aux-info.c
c-common.c
c-opts.c
c-format.c
c-semantics.c
c-ppoutput.c
c-objc-common.c
c-dump.c
c-parser.c
c-gimplify.c
c-pretty-print.c
c-omp.c
caller-save.c
calls.c
cfg.c
cfganal.c
cfgbuild.c
cfgcleanup.c
cfgexpand.c
cfghooks.c
cfglayout.c
cfgloop.c
cfgloopanal.c
cfgloopmanip.c
cfgrtl.c
cgraph.c
cgraphbuild.c
cgraphunit.c
combine.c
combine-stack-adj.c
concat.c
convert.c
coverage.c
cp-demangle.c
cp-demint.c
cplus-dem.c
cpp_directives.c
cpp_lex.c
cpp_errors.c
cpp_expr.c
cpp_charset.c
cpp_macro.c
cpp_traditional.c
cpp_line-map.c
cpp_symtab.c
cpp_identifiers.c
cpp_mkdeps.c
cpp_pch.c
cpp_directives-only.c
crc32.c
cse.c
cselib.c
dbxout.c
dbgcnt.c
dce.c
ddg.c
debug.c
decContext.c
decimal128.c
decimal32.c
decimal64.c
decNumber.c
df-byte-scan.c
df-core.c
df-problems.c
df-scan.c
dfp.c
diagnostic.c
dojump.c
dominance.c
domwalk.c
double-int.c
dse.c
dwarf2asm.c
dwarf2out.c
dyn-string.c
ebitmap.c
emit-rtl.c
et-forest.c
except.c
explow.c
expmed.c
expr.c
fdmatch.c
fibheap.c
filename_cmp.c
final.c
fixed-value.c
floatformat.c
fold-const.c
fopen_unlocked.c
function.c
fwprop.c
gcse.c
genrtl.c
getopt1.c
getopt.c
getpwd.c
getruntime.c
ggc-common.c
ggc-page.c
gimple.c
gimple-iterator.c
gimple-low.c
gimple-pretty-print.c
gimplify.c
graph.c
graphds.c
graphite.c
graphite-blocking.c
graphite-clast-to-gimple.c
graphite-dependences.c
graphite-interchange.c
graphite-poly.c
graphite-ppl.c
graphite-scop-detection.c
graphite-sese-to-poly.c
gtype-desc.c
haifa-sched.c
hashtab.c
hex.c
hooks.c
host-ieee128.c
host-ieee32.c
host-ieee64.c
host-linux.c
i386.c
i386-c.c
ifcvt.c
incpath.c
init-regs.c
insn-attrtab.c
insn-automata.c
insn-emit.c
insn-extract.c
insn-modes.c
insn-opinit.c
insn-output.c
insn-peep.c
insn-preds.c
insn-recog.c
integrate.c
ipa-cp.c
ipa-inline.c
ipa-prop.c
ipa-pure-const.c
ipa-reference.c
ipa-struct-reorg.c
ipa-type-escape.c
ipa-utils.c
ipa.c
ira.c
ira-build.c
ira-costs.c
ira-conflicts.c
ira-color.c
ira-emit.c
ira-lives.c
jump.c
lambda-code.c
lambda-mat.c
lambda-trans.c
langhooks.c
lbasename.c
lcm.c
lists.c
loop-doloop.c
loop-init.c
loop-invariant.c
loop-iv.c
loop-unroll.c
loop-unswitch.c
lower-subreg.c
lrealpath.c
lto-cgraph.c
lto-streamer-in.c
lto-streamer-out.c
lto-section-in.c
lto-section-out.c
lto-symtab.c
lto-opts.c
lto-streamer.c
lto-wpa-fixup.c
make-relative-prefix.c
make-temp-file.c
partition.c
matrix-reorg.c
mcf.c
md5.c
mkstemps.c
mode-switching.c
modulo-sched.c
objalloc.c
obstack.c
omega.c
omp-low.c
optabs.c
options.c
opts-common.c
opts.c
params.c
passes.c
physmem.c
plugin.c
pointer-set.c
postreload-gcse.c
postreload.c
predict.c
pretty-print.c
print-rtl.c
print-tree.c
profile.c
recog.c
reg-stack.c
regcprop.c
regex.c
reginfo.c
regmove.c
regrename.c
regstat.c
reload.c
reload1.c
reorg.c
resource.c
rtl-error.c
rtl.c
rtlanal.c
rtlhooks.c
safe-ctype.c
sbitmap.c
sched-deps.c
sched-ebb.c
sched-rgn.c
sched-vis.c
sdbout.c
sel-sched-ir.c
sel-sched-dump.c
sel-sched.c
sese.c
sha1.c
simplify-rtx.c
sort.c
spaces.c
sparseset.c
splay-tree.c
sreal.c
stack-ptr-mod.c
statistics.c
stmt.c
stor-layout.c
store-motion.c
stringpool.c
strsignal.c
stub-objc.c
targhooks.c
timevar.c
tracer.c
tree-affine.c
tree-call-cdce.c
tree-cfg.c
tree-cfgcleanup.c
tree-chrec.c
tree-complex.c
tree-data-ref.c
tree-dfa.c
tree-dump.c
tree-eh.c
tree-if-conv.c
tree-inline.c
tree-into-ssa.c
tree-iterator.c
tree-loop-distribution.c
tree-loop-linear.c
tree-mudflap.c
tree-nested.c
tree-nrv.c
tree-object-size.c
tree-optimize.c
tree-outof-ssa.c
tree-parloops.c
tree-phinodes.c
tree-predcom.c
tree-pretty-print.c
tree-profile.c
tree-scalar-evolution.c
tree-sra.c
tree-switch-conversion.c
tree-ssa-address.c
tree-ssa-alias.c
tree-ssa-ccp.c
tree-ssa-coalesce.c
tree-ssa-copy.c
tree-ssa-copyrename.c
tree-ssa-dce.c
tree-ssa-dom.c
tree-ssa-dse.c
tree-ssa-forwprop.c
tree-ssa-ifcombine.c
tree-ssa-live.c
tree-ssa-loop-ch.c
tree-ssa-loop-im.c
tree-ssa-loop-ivcanon.c
tree-ssa-loop-ivopts.c
tree-ssa-loop-manip.c
tree-ssa-loop-niter.c
tree-ssa-loop-prefetch.c
tree-ssa-loop-unswitch.c
tree-ssa-loop.c
tree-ssa-math-opts.c
tree-ssa-operands.c
tree-ssa-phiopt.c
tree-ssa-phiprop.c
tree-ssa-pre.c
tree-ssa-propagate.c
tree-ssa-reassoc.c
tree-ssa-sccvn.c
tree-ssa-sink.c
tree-ssa-structalias.c
tree-ssa-ter.c
tree-ssa-threadedge.c
tree-ssa-threadupdate.c
tree-ssa-uncprop.c
tree-ssa.c
tree-ssanames.c
tree-stdarg.c
tree-tailcall.c
tree-vect-generic.c
tree-vect-patterns.c
tree-vect-data-refs.c
tree-vect-stmts.c
tree-vect-loop.c
tree-vect-loop-manip.c
tree-vect-slp.c
tree-vectorizer.c
tree-vrp.c
tree.c
unlink-if-ordinary.c
value-prof.c
var-tracking.c
varpool.c
varasm.c
varray.c
vec.c
vmsdbgout.c
web.c
xatexit.c
xcoffout.c
xexit.c
xmalloc.c
xmemdup.c
xstrdup.c
xstrerror.c
xstrndup.c
c-cppbuiltin.c
c-pch.c
cpp_files.c
cpp_init.c
cppdefault.c
intl.c
prefix.c
strerror.c
toplev.c
vasprintf.c
version.c
builtins.c
real.c
mini-gmp.c
spec_qsort/spec_qsort.c
)
speccpu2017_prepare_rundir()