1 Star 0 Fork 0

zhangdaolong/speccpu2006-config-flags

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
CPU2006_flags.20090714.12.xml 23.14 KB
一键复制 编辑 原始数据 按行查看 历史
zhangdaolong 提交于 2024-04-07 09:28 . add flag file
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817
<?xml version="1.0"?>
<!DOCTYPE flagsdescription
SYSTEM "http://www.spec.org/dtd/cpuflags1.dtd"
>
<!-- The lines above are NOT optional. If you're adept at reading DTDs,
the one that this file conforms to is at the URL listed above.
But most humans writing a flags file will want to have it automatically
checked using a validating parser such as RXP (available at
http://www.ltg.ed.ac.uk/~richard/rxp.html), or use one of the on-line
parsers:
http://www.stg.brown.edu/service/xmlvalid/
http://www.cogsci.ed.ac.uk/~richard/xml-check.html
The parser used by the CPU tools is _not_ a validating parser, so it
may be possible to sneak things by it that would not pass the checkers
above. However, if the checkers above say that your file is clean, it's
clean.
Flag files submitted to SPEC _will_ be checked by a validating parser.
Invalid or not-well-formed flag files will be rejected.
This file is
Copyright (C) 2006 Standard Performance Evaluation Corporation
All Rights Reserved
This file may be freely modified and redistributed, provided that the
copyright notice above and this notice remain unaltered.
$Id: flags-simple.xml 4007 2006-03-17 11:34:42Z cloyce $
**********************************************************************
**********************************************************************
Unless otherwise explicitly noted, all references to "section n.nn"
refer to flag_description.html, available at
http://www.spec.org/cpu2006/docs/flag_description.html
**********************************************************************
**********************************************************************
NOTES:
Likely this document will be separated into platform vs. environment
vs.compiler vs. flag information.
-->
<flagsdescription>
<title>AIX 5L with IBM XL Compilers SPEC CPU Flags</title>
<style>
<![CDATA[
body { background: white; }
]]>
</style>
<!-- =====================================================================
The <header> section is also entirely optional. If it is provided, and
no class is specified, then it will be inserted verbatim at the top
of the flags dump.
If a class is specified, that text will be inserted verbatim before flags
of that class.
As the contents should be HTML, it will save lots of time to just enclose
the whole thing in a CDATA section. Section 2.3.1 again.
===================================================================-->
<header>
<![CDATA[
<p>Compilers: IBM XL C/C++ Enterprise Edition Version 8.0 for AIX</p>
<p>Compilers: IBM XL Fortran Enterprise Edition Version 10.1 for AIX</p>
<p>Compilers: IBM XL C/C++ Enterprise Edition Version 9.0 for AIX</p>
<p>Compilers: IBM XL Fortran Enterprise Edition Version 11.1 for AIX</p>
<p>OS: IBM AIX 5L V5.3</p>
<p>Last updated: 18-May-2007</p> ]]>
</header>
<!-- =====================================================================
Information about the meaning of boot-time settings, BIOS options,
kernel tuning, and so forth can go in the 'platform_settings' section.
They'll be appended to the end of both the flags dump and per-result flag report.
As the contents should be HTML, it will save lots of time to just enclose
the whole thing in a CDATA section. Section 2.3.1 again.
===================================================================-->
<platform_settings>
<![CDATA[
<ul>
<li> smtctl -m on|off -w now|boot</li> Controls the enabling and disabling of processor simultaneous multi-threading mode
<li> vmo -r -o lgpg_regions=n -o lgpg_size=16777216</li> Sets the size of large pages to 16M, and set the number to use, with -r, takes effect on the next IPL.
<li> bosboot -q</li> Regenerates the IPL boot to set the options specified with smtctl and vmo
<li> ulimit </li> Controls resources allowed to be used by processes. All resource are set to unlimited, of primary importance is the "stack" and "data/heap" settings for SPEC CPU2006.
<li> chsyscfg -m <tt>system</tt> -r prof -i name=<tt>profile</tt>,lpar_name=<tt>partition</tt>,lpar_proc_compat_mode=POWER6_enhanced</li> The Hardware Management Console (HMC) command that enables the POWERPC architeture optional instructions supported on POWER6.
<li> bindprocessor $$ n </li> the next program is to be bound to the specified processor.
<p> Environment variables set before the run:</p>
<li> MEMORY_AFFINITY=MCM </li>cause the OS to alloc memory "closest" to the chip that first requests it
<li> XLFRTEOPTS=intrinthrds=1 </li>Causes the Fortran runtime to only use a single thread.
<li> MALLOPTIONS=POOL </li>Selects the OS malloc option that allocates/frees small objects very quickly.
<li> fdpr -q -O4 -A 32 -bldcg -shci 90 -sdp 9</li>
<pre>
The fdpr command (Feedback Directed Program Restructuring) is a performance-tuning utility that may help
improve the execution time and the real memory utilization of user-level application programs. The fdpr program
optimizes the executable image of a program by collecting information on the behavior of the program while the
program is used for some typical workload, and then creating a new version of the program that is optimized for
that workload. The new program generated by fdpr typically runs faster and uses less real memory.
-q, --quiet Set quiet output mode, suppressing informational
messages
-O Switch on basic optimizations only.
-O2 Switch on less aggressive optimization flags.
-O3 Switch on aggressive optimization flags.
-O4 Switch on aggressive optimization flags together with
aggressive function inlining.
-A <num_of_bytes>, --align-code <num_of_bytes>
Align program code according to given <num_of_bytes>
-bldcg, --build-dcg Build a DCG (data connectivity graph) for enhanced data
reordering (applicable only with the -RD flag)
-shci <pct>, --selective-hot-code-inline <pct>
Perform selective inlining of functions in order to
decrease the total execution counts
-sdp <aggressiveness_factor>, --stride-data-prefetch <aggressiveness_factor>
Perform data prefetching within frequently executed
loops based on stride analysis, according to an
aggressiveness factor between (1,9), where 1 is least
aggressive
</pre>
</ul>
]]>
</platform_settings>
<!--
-
- Compiler declarations.
-
-
-->
<flag
name="xlc"
class="compiler"
regexp="(\S*\/)?xlc(_r)?\b">
<![CDATA[
<p>
Invoke the IBM XL C compiler. 32-bit binaries are produced by default.
</p>
]]>
</flag>
<flag
name="xlC"
class="compiler"
regexp="(\S*\/)?xlC(_r)?\b">
<![CDATA[
<p>
Invoke the IBM XL C++ compiler. 32-bit binaries are produced by default.
</p>
]]>
</flag>
<flag
name="xlf95"
class="compiler"
regexp="(\S*\/)?xlf95(_r)?\b">
<![CDATA[
<p>
Invoke the IBM XL Fortran compiler. 32-bit binaries are produced by default.
</p>
]]>
</flag>
<!--
-
- Aggregated optimization flags.
-
-->
<flag name="F-O5"
class="optimization"
regexp="-O5\b">
<example>
-O5
</example>
<![CDATA[
<p>
Perform optimizations for maximum performance. This includes maximum
interprocedural analysis on all of the objects presented on the "link"
step. This level of optimization will increase the compiler's memory
usage and compile time requirements. -O5 Provides all of the functionality
of the -O4 option, but also provides the functionality of the
-qipa=level=2 option.
</p>
<p>
-O5 is equivalent to the following flags
<ul>
<li> <tt>-O3</tt> </li>
<li> <tt>-qipa=level=2</tt> </li>
<li> <tt>-qarch=auto</tt> </li>
<li> <tt>-qtune=auto</tt> </li>
</ul>
</p>
]]>
<include flag="F-O3" />
<include flag="F-qipa:level" flagtext="-qipa=level=2" />
<include flag="F-qarch" flagtext="-qarch=auto" />
<include flag="F-qtune" flagtext="-qtune=auto" />
</flag>
<flag name="F-O4"
class="optimization"
regexp="-O4\b">
<example>
-O4
</example>
<![CDATA[
<p>
Perform optimizations for maximum performance. This includes
interprocedural analysis on all of the objects presented on the "link"
step.
</p>
<p>
-O4 is equivalent to the following flags
<ul>
<li> <tt>-O3</tt> </li>
<li> <tt>-qipa=level=1</tt> </li>
<li> <tt>-qarch=auto</tt> </li>
<li> <tt>-qtune=auto</tt> </li>
</ul>
</p>
]]>
<include flag="F-O3" />
<include flag="F-qipa:level" flagtext="-qipa=level=1" />
<include flag="F-qarch" flagtext="-qarch=auto" />
<include flag="F-qtune" flagtext="-qtune=auto" />
</flag>
<flag name="F-O3"
class="optimization"
regexp="-O3\b">
<example>-O3</example>
<![CDATA[
<p>
-O3 Performs additional optimizations that are memory intensive, compile-time
intensive, and may change the semantics of the program slightly, unless
-qstrict is specified. We recommend these optimizations when the desire for
run-time speed improvements outweighs the concern for limiting compile-time
resources.
</p>
<p>
-O2 is equivalent to the following flags
<ul>
<li> <tt>-O2</tt> </li>
<li> <tt>-qhot=level=0</tt> </li>
</ul>
</p>
]]>
<include flag="F-O2" />
<include flag="F-qhot" flagtext="-qhot=level=0" />
</flag>
<flag name="F-O2"
class="optimization"
regexp="-O2\b">
<example>-O2</example>
<![CDATA[
<p>
-O2 Performs a set of optimizations that are intended to offer improved
performance without an unreasonable increase in time or storage that is
required for compilation.
</p>
]]>
<include flag="F-O" />
</flag>
<flag name="F-O"
class="optimization"
regexp="-O\b">
<example>-O</example>
<![CDATA[
<p>
-O enables the level of optimization that represents the best tradeoff
between compilation speed and run-time performance.
If you need a specific level of optimization, specify the appropriate
numeric value.
Currently, -O is equivalent to -O2.
</p>
]]>
<include flag="F-O2" />
</flag>
<!--
-
- Optimization flags: individual methods.
-
-->
<flag name="F-qarch"
class="optimization"
regexp="-qarch=(\S+)\b">
<example>-qarch</example>
<![CDATA[
<p>
Produces object code containg instructins that will run on the
specified processors. "auto" selects the processor the complile
is being done on. "pwr5x" is the POWER5+ processor.
</p>
<p>Supported values for this flag are</p>
<ul>
<li>auto </li> Use the processor on which the program is compiled.
<li>pwr6e </li> The POWER6 processor in "Enhanced" mode based systems.
<li>pwr6 </li> The POWER6 processor based systems.
<li>pwr5x </li> The POWER5+ processor based systems.
<li>pwr5 </li> The POWER5 processor based systems.
<li>pwr4 </li> The POWER4 processor based systems.
<li>ppc970 </li> The PPC970 processor based systems.
</ul>
]]>
</flag>
<flag name="F-qtune"
class="optimization"
regexp="-qtune=(\S+)\b">
<example>-qtune</example>
<![CDATA[
<p>
Specifies the architecture system for which the executable program
is optimized. This includes instruction scheduling and cache setting.
The supported values for <tt>suboption</tt> are:
<ul>
<li>auto </li> Use the processor on which the program is compiled.
<li>pwr6e </li> The POWER6 processor in "Enhanced" mode based systems.
<li>pwr6 </li> The POWER6 processor based systems.
<li>pwr5x </li> The POWER5+ processor based systems.
<li>pwr5 </li> The POWER5 processor based systems.
<li>pwr4 </li> The POWER4 processor based systems.
<li>ppc970 </li> The PPC970 processor based systems.
</ul>
]]>
</flag>
<flag name="F-qinlglue"
class="optimization"
regexp="-qinlglue\b">
This option inlines glue code that optimizes external
function calls when compiling.
</flag>
<flag name="F-qhot"
class="optimization"
regexp="-qhot=level=[012]\b">
<example>-qhot</example>
<![CDATA[
<p>
Performs high-order transformations on loops during optimization.
</p>
]]>
</flag>
<flag name="F-qipa:level"
class="optimization"
regexp="-qipa=level=[012]\b">
<example>
-qipa=level
</example>
<![CDATA[
<p>
Enhances optimization by doing detailed analysis across procedures
(interprocedural analysis or IPA).
The <tt>level</tt> determines the amount of interprocedural analysis
and optimization that is performed.
</p>
<p>
<tt>level=0</tt> Does only minimal interprocedural analysis and optimization
</p>
<p>
<tt>level=1</tt> turns on inlining , limited alias analysis, and limited
call-site tailoring
</p>
<p>
<tt>level=2</tt> turns on full interprocedural data flow and alias analysis
</p>
]]>
</flag>
<flag name="F-qpdf1"
class="optimization"
regexp="-qpdf1\b">
The option used in the first pass of a profile directed feedback compile
that causes pdf information to be generated.
The profile directed feedback optimization gathers data on both exectuion
path and data values. It does not use hardware counters, nor gather any
data other than path and data values for PDF specific optimizations.
</flag>
<flag name="F-qpdf2"
class="optimization"
regexp="-qpdf2\b">
The option used in the second pass of a profile directed feedback compile
that causes PDF information to be utilized during optimization.
</flag>
<flag name="F-qxlf90"
class="optimization"
regexp="-qxlf90=nosignedzero\b">
<example>
-qxlf90=nosignedzero
</example>
<![CDATA[
<pre>
-qxlf90=<suboption>
Determines whether the compiler provides the
Fortran 90 or the Fortran 95 level of support for
certain aspects of the language. <suboption> can be
one of the following:
signedzero | nosignedzero
Determines how the SIGN(A,B) function handles
signed real 0.0. In addition, determines
whether negative internal values will be
prefixed with a minus when formatted output
would produce a negative sign zero.
autodealloc | noautodealloc
Determines whether the compiler deallocates
allocatable arrays that are declared locally
without either the SAVE or the STATIC
attribute and have a status of currently
allocated when the subprogram terminates.
oldpad | nooldpad
When the PAD=specifier is present in the
INQUIRE statement, specifying -qxlf90=nooldpad
returns UNDEFINED when there is no connection,
or when the connection is for unformatted I/O.
This behavior conforms with the Fortran 95
standard and above. Specifying -qxlf90=oldpad
preserves the Fortran 90 behavior.
Default:
o signedzero, autodealloc and nooldpad for the
xlf95, xlf95_r, xlf95_r7 and f95 invocation
commands.
o nosignedzero, noautodealloc and oldpad for
all other invocation commands.
</pre>
]]>
</flag>
<!--
-
- Optimization flags: memory allocation.
-
-->
<flag name="F-q64"
class="optimization"
regexp="-q64\b">
<example>
-q64
</example>
Generates 64 bit ABI binaries. The default is to generate 32 bit ABI binaries.
</flag>
<flag name="F-bmaxdata:"
class="other"
regexp="-bmaxdata:(\S+)\b">
<example>
-bmaxdata:0x80000000
</example>
Causes the system loader to put the heap in it's own segment of the size specified.
This is only required for 32-bit applications, as their segments are 256M. If the
last digit of the value is "C", the it also turns of the malloc pool option for that
executable.
</flag>
<flag name="F-blpdata"
class="optimization"
regexp="-blpdata\b">
Sets the bit in the file's XCOFF header indicating that this
executable will request the use of large pages when they are
available on the system and when the user has an appropriate
privilege
</flag>
<flag name="F-qlargepage"
class="optimization"
regexp="-qlargepage\b">
Indicates that a program, designed to execute in a
large page memory environment, can take advantage
of large 16 MB pages provided on POWER4 and higher
based systems.
</flag>
<flag name="F-qalloca"
class="optimization"
regexp="-qalloca\b">
Indicates that the compiler understands how to do alloca().
</flag>
<flag name="F-qsmallstack:dynlenonheap"
class="optimization"
regexp="-qsmallstack=dynlenonheap\b">
Causes the Fortran compiler to allocate dynamic arrays on the heap instead
of the stack
</flag>
<!--
-
- Optimization flags: vector calculations.
-
-->
<flag name="F-qenablevmx"
class="optimization"
regexp="-qenablevmx\b">
Enables the generation of vector instructions for processors
that support them.
</flag>
<flag name="F-qvecnvol"
class="optimization"
regexp="-qvecnvol\b">
Specifies whether to use volatile or non-volatile vector
registers. Volatile vector registers are registers whose
value is not preserved across function calls so the
compiler will not depend on values in them across function
calls.
</flag>
<flag name="F-D__IBM_FAST_VECTOR"
class="optimization"
regexp="-D__IBM_FAST_VECTOR\b">
The __IBM_FAST_VECTOR macro defines a different iterator for the std::vector
template class. This iterator results in faster code, but is not compatible
with code using the default iterator for a std::vector template class.
All uses of std::vector for a data type must use the same iterator.
Add -D__IBM_FAST_VECTOR to the compile line, or "#define __IBM_FAST_VECTOR 1"
to your source code to use the faster iterator for std::vector template class.
You must compile all sources with this macro.
</flag>
<!--
-
- Optimization flags: support libraries.
-
-->
<flag name="F-D_ILS_MACROS"
class="optimization"
regexp="-D_ILS_MACROS\b">
Causes AIX to define "ischar()" (and friends) as macro's and no subroutines.
</flag>
<!--
-
- Mixed: Semantic compliance issues.
-
-->
<flag name="F-qrtti:all"
class="optimization"
regexp="-qrtti=all\b">
Cause the C++ compiler to generate Run Time Type Identification code
</flag>
<flag name="F-qchars:signed"
class="portability"
regexp="-qchars=signed\b">
Causes the compiler to treat "char" variables as signed instead of the
default of unsigned.
</flag>
<!--
-
- Portability flags: syntactic compliance.
-
-->
<flag name="F-qfixed"
class="portability"
regexp="-qfixed\b">
Indicates that the input fortran source program is in fixed form.
</flag>
<flag name="F-qextname"
class="portability"
regexp="-qextname\b">
Adds an underscore to global entites to match the C compiler ABI
</flag>
<!--
-
- Other flags: optimizations and non-compliant code.
-
-->
<flag name="F-qalias"
class="other"
regexp="-qalias=(noansi|nostd)\b">
<example>
-qalias=noansi
</example>
<![CDATA[
<pre>
qalias=ansi | noansi
If ansi is specified, type-based aliasing is
used during optimization, which restricts the
lvalues that can be safely used to access a
data object. The default is ansi for the xlc,
xlC, and c89 commands. This option has no
effect unless you also specify the -O option.
qalias=std |nostd
Indicates whether the compilation units contain
any non-standard aliasing (see Compiler Reference
for more information). If so, specify nostd.
</pre>
]]>
</flag>
<flag name="F-qalign"
class="optimization"
regexp="-qalign=natural\b">
<![CDATA[
<pre>
Specifies what aggregate alignment rules the
compiler uses for file compilation, where the
alignment options are:
bit_packed
The compiler uses the bit_packed alignment
rules.
full
The compiler uses the RISC System/6000
alignment rules. This is the same as power.
mac68k
The compiler uses the Macintosh alignment
rules. This suboption is valid only for 32-
bit compilations.
natural
The compiler maps structure members to their
natural boundaries.
packed
The compiler uses the packed alignment rules.
power
The compiler uses the RISC System/6000
alignment rules.
twobyte
The compiler uses the Macintosh alignment
rules. This suboption is valid only for 32-
bit compilations. The mac68k option is the
same as twobyte.
The default is -qalign=full.
</pre>
]]>
</flag>
<flag name="F-qstrict"
class="other"
regexp="-qstrict\b">
<example>
-qstrict
</example>
<![CDATA[
<pre>
Turns off aggressive optimizations which have the
potential to alter the semantics of your program.
-qstrict sets -qfloat=nofltint:norsqrt. -qnostrict
sets -qfloat=rsqrt. This option is only valid with
-O2 or higher optimization levels.
Default:
o -qnostrict at -O3 or higher.
o -qstrict otherwise.
</pre>
]]>
</flag>
<flag name="F-qlanglvl:extc99"
class="other"
regexp="-qlanglvl=extc99\b">
Allows most any c dialect.
</flag>
<!--
-
- Other flags: compiler resource consumption.
-
-->
<flag name="F-qipa:noobject"
class="other"
regexp="-qipa=noobject\b">
<example>
-qipa=noobject
</example>
<![CDATA[
<p>
Specifies whether to include standard object code in the object files.
The <tt>noobject</tt> suboption can substantially reduce overall
compilation time, by not generating object code during the first IPA phase.
</p>
]]>
</flag>
<flag name="F-qipa:threads"
class="other"
regexp="-qipa=threads\b">
<example>
-qipa=threads
</example>
<![CDATA[
<p>
The <tt>threads</tt> suboption allows the IPA optimizer to run portions
of the optimization process in parallel threads, which can speed up the
compilation process on multi-processor systems. All the available
threads, or the number specified by N, are used. N must be a positive
integer. Specifying <tt>nothreads</tt> does not run any parallel threads;
this is equivalent to running one serial thread.
</p>
]]>
</flag>
<!--
-
- Other flags: error & warning messages.
-
-->
<flag name="F-qdebug:except"
class="other"
regexp="-qdebug=except\b">
Causes the compiler to output a traceback if it abends.
</flag>
<flag name="F-qsuppress"
class="other"
regexp="-qsuppress=([^:\s]+):(\S+)">
<example>-qsuppress=msg1:msg2</example>
<include text="-qsuppress=$2" />
<include text="-qsuppress=$1" />
<display enable="0" />
</flag>
<flag name="F-qsuppress:"
class="other"
regexp="-qsuppress=([^:\s]+)\b">
<example>
-qsuppress=1500-036,
-qsuppress=cmpmsg
</example>
Suppresses the message with the message number specified.
</flag>
<!--
-
- Other flags: instrumentation & debugging.
-
-->
</flagsdescription>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zhangdaolong/speccpu2006-config-flags.git
[email protected]:zhangdaolong/speccpu2006-config-flags.git
zhangdaolong
speccpu2006-config-flags
speccpu2006-config-flags
master

搜索帮助