aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.8/gcc/doc/gcc.info
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.8/gcc/doc/gcc.info')
-rw-r--r--gcc-4.8/gcc/doc/gcc.info2979
1 files changed, 2003 insertions, 976 deletions
diff --git a/gcc-4.8/gcc/doc/gcc.info b/gcc-4.8/gcc/doc/gcc.info
index e5a735552..cb0d668de 100644
--- a/gcc-4.8/gcc/doc/gcc.info
+++ b/gcc-4.8/gcc/doc/gcc.info
@@ -1,5 +1,5 @@
-This is doc/gcc.info, produced by makeinfo version 4.13 from
-/d/gcc-4.8.1/gcc-4.8.1/gcc/doc/gcc.texi.
+This is doc/gcc.info, produced by makeinfo version 4.12 from
+/space/rguenther/gcc-4.8.3/gcc-4.8.3/gcc/doc/gcc.texi.
Copyright (C) 1988-2013 Free Software Foundation, Inc.
@@ -58,7 +58,7 @@ Introduction
This manual documents how to use the GNU compilers, as well as their
features and incompatibilities, and how to report bugs. It corresponds
-to the compilers (GCC) version 4.8.1. The internals of the GNU
+to the compilers (GCC) version 4.8.3. The internals of the GNU
compilers, including how to port them to new targets and some
information about how to write front ends for new languages, are
documented in a separate manual. *Note Introduction: (gccint)Top.
@@ -264,7 +264,7 @@ experimental support for the second ISO C++ standard (2011).
The original ISO C++ standard was published as the ISO standard
(ISO/IEC 14882:1998) and amended by a Technical Corrigenda published in
-2003 (ISO/IEC 14882:2003). These standards are referred to as C++98 and
+2003 (ISO/IEC 14882:2003). These standards are referred to as C++98 and
C++03, respectively. GCC implements the majority of C++98 (`export' is
a notable exception) and most of the changes in C++03. To select this
standard in GCC, use one of the options `-ansi', `-std=c++98', or
@@ -323,7 +323,7 @@ at a number of web sites:
* `http://objc.toodarkpark.net' is the same document in another
format;
- *
+ *
`http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjectiveC/'
has an updated version but make sure you search for "Object
Oriented Programming and the Objective-C Programming Language 1.0",
@@ -349,7 +349,7 @@ by GCC 4.0, and to produce an error if one of the new features is used.
GCC has currently no support for non-fragile instance variables.
The authoritative manual on Objective-C 2.0 is available from Apple:
- *
+ *
`http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjectiveC/'
For more information concerning the history of Objective-C that is
@@ -463,7 +463,7 @@ _Overall Options_
-pipe -pass-exit-codes
-x LANGUAGE -v -### --help[=CLASS[,...]] --target-help
--version -wrapper @FILE -fplugin=FILE -fplugin-arg-NAME=ARG
- -fdump-ada-spec[-slim] -fada-spec-parent=ARG -fdump-go-spec=FILE
+ -fdump-ada-spec[-slim] -fada-spec-parent=UNIT -fdump-go-spec=FILE
_C Language Options_
*Note Options Controlling C Dialect: C Dialect Options.
@@ -1155,6 +1155,11 @@ _Machine Dependent Options_
-mveclibabi=TYPE -mfriz -mno-friz
-mpointers-to-nested-functions -mno-pointers-to-nested-functions
-msave-toc-indirect -mno-save-toc-indirect
+ -mpower8-fusion -mno-mpower8-fusion -mpower8-vector -mno-power8-vector
+ -mcrypto -mno-crypto -mdirect-move -mno-direct-move
+ -mquad-memory -mno-quad-memory
+ -mquad-memory-atomic -mno-quad-memory-atomic
+ -mcompat-align-parm -mno-compat-align-parm
_RX Options_
-m64bit-doubles -m32bit-doubles -fpu -nofpu
@@ -1179,6 +1184,7 @@ _Machine Dependent Options_
-m64 -m31 -mdebug -mno-debug -mesa -mzarch
-mtpf-trace -mno-tpf-trace -mfused-madd -mno-fused-madd
-mwarn-framesize -mwarn-dynamicstack -mstack-size -mstack-guard
+ -mhotpatch[=HALFWORDS] -mno-hotpatch
_Score Options_
-meb -mel
@@ -1223,11 +1229,12 @@ _Machine Dependent Options_
-mhard-quad-float -msoft-quad-float
-mstack-bias -mno-stack-bias
-munaligned-doubles -mno-unaligned-doubles
+ -muser-mode -mno-user-mode
-mv8plus -mno-v8plus -mvis -mno-vis
-mvis2 -mno-vis2 -mvis3 -mno-vis3
-mcbcond -mno-cbcond
-mfmaf -mno-fmaf -mpopc -mno-popc
- -mfix-at697f
+ -mfix-at697f -mfix-ut699
_SPU Options_
-mwarn-reloc -merror-reloc
@@ -1596,7 +1603,7 @@ do nothing at all.
`params'
Display the values recognized by the `--param' option.
- LANGUAGE
+ LANGUAGE
Display the options supported for LANGUAGE, where LANGUAGE is
the name of one of the languages supported in this version of
GCC.
@@ -1704,10 +1711,14 @@ do nothing at all.
`-fdump-ada-spec[-slim]'
For C and C++ source and include files, generate corresponding Ada
- specs. *Note Generating Ada Bindings for C and C++ headers:
+ specs. *Note Generating Ada Bindings for C and C++ headers:
(gnat_ugn)Generating Ada Bindings for C and C++ headers, which
provides detailed documentation on this feature.
+`-fada-spec-parent=UNIT'
+ In conjunction with `-fdump-ada-spec[-slim]' above, generate Ada
+ specs as child units of parent UNIT.
+
`-fdump-go-spec=FILE'
For input files in any language, generate corresponding Go
declarations in FILE. This generates Go `const', `type', `var',
@@ -1806,7 +1817,7 @@ accepts:
affected.
`-std='
- Determine the language standard. *Note Language Standards
+ Determine the language standard. *Note Language Standards
Supported by GCC: Standards, for details of these standard
versions. This option is currently only supported when compiling
C or C++.
@@ -1857,7 +1868,7 @@ accepts:
`gnu90'
`gnu89'
- GNU dialect of ISO C90 (including some C99 features). This is
+ GNU dialect of ISO C90 (including some C99 features). This is
the default for C code.
`gnu99'
@@ -2578,7 +2589,7 @@ have meanings only for C++ programs:
changes at this point include:
* For SysV/x86-64, unions with `long double' members are passed
- in memory as specified in psABI. For example:
+ in memory as specified in psABI. For example:
union U {
long double ld;
@@ -2597,7 +2608,7 @@ have meanings only for C++ programs:
`-Wdelete-non-virtual-dtor (C++ and Objective-C++ only)'
Warn when `delete' is used to destroy an instance of a class that
- has virtual functions and non-virtual destructor. It is unsafe to
+ has virtual functions and non-virtual destructor. It is unsafe to
delete an instance of a derived class through a pointer to a base
class if the base class does not have a virtual destructor. This
warning is enabled by `-Wall'.
@@ -2681,9 +2692,9 @@ have meanings only for C++ programs:
* Item 11: Define a copy constructor and an assignment
operator for classes with dynamically-allocated memory.
- * Item 12: Prefer initialization to assignment in constructors.
+ * Item 12: Prefer initialization to assignment in constructors.
- * Item 14: Make destructors virtual in base classes.
+ * Item 14: Make destructors virtual in base classes.
* Item 15: Have `operator=' return a reference to `*this'.
@@ -2694,7 +2705,7 @@ have meanings only for C++ programs:
Also warn about violations of the following style guidelines from
Scott Meyers' `More Effective C++' book:
- * Item 6: Distinguish between prefix and postfix forms of
+ * Item 6: Distinguish between prefix and postfix forms of
increment and decrement operators.
* Item 7: Never overload `&&', `||', or `,'.
@@ -2825,7 +2836,7 @@ and Objective-C++ programs:
support for properties and other Objective-C 2.0 additions.
Version 1 is the traditional (32-bit) ABI with support for
properties and other Objective-C 2.0 additions. Version 2 is the
- modern (64-bit) ABI. If nothing is specified, the default is
+ modern (64-bit) ABI. If nothing is specified, the default is
Version 0 on 32-bit target machines, and Version 2 on 64-bit
target machines.
@@ -3624,9 +3635,9 @@ present.
`-Wunused-value'
Warn whenever a statement computes a result that is explicitly not
- used. To suppress this warning cast the unused expression to
+ used. To suppress this warning cast the unused expression to
`void'. This includes an expression-statement or the left-hand
- side of a comma expression that contains no side effects. For
+ side of a comma expression that contains no side effects. For
example, an expression such as `x[i,j]' causes a warning, while
`x[(void)i,j]' does not.
@@ -3686,7 +3697,7 @@ present.
}
If the value of `y' is always 1, 2 or 3, then `x' is always
- initialized, but GCC doesn't know this. To suppress the warning,
+ initialized, but GCC doesn't know this. To suppress the warning,
you need to provide a default case with assert(0) or similar code.
This option also warns when a non-volatile automatic variable
@@ -3808,7 +3819,7 @@ present.
level gives a very large number of false positives.
`-Wsuggest-attribute=[pure|const|noreturn|format]'
- Warn for cases where adding an attribute may be beneficial. The
+ Warn for cases where adding an attribute may be beneficial. The
attributes currently supported are listed below.
`-Wsuggest-attribute=pure'
@@ -3818,7 +3829,7 @@ present.
`pure', `const' or `noreturn'. The compiler only warns for
functions visible in other compilation units or (in the case
of `pure' and `const') if it cannot prove that the function
- returns normally. A function returns normally if it doesn't
+ returns normally. A function returns normally if it doesn't
contain an infinite loop or return abnormally by throwing,
calling `abort()' or trapping. This analysis requires option
`-fipa-pure-const', which is enabled by default at `-O' and
@@ -3872,10 +3883,10 @@ present.
Warn about trampolines generated for pointers to nested functions.
A trampoline is a small piece of data or code that is created at
- run time on the stack when the address of a nested function is
- taken, and is used to call the nested function indirectly. For
- some targets, it is made up of data only and thus requires no
- special treatment. But, for most targets, it is made up of code
+ run time on the stack when the address of a nested function is
+ taken, and is used to call the nested function indirectly. For
+ some targets, it is made up of data only and thus requires no
+ special treatment. But, for most targets, it is made up of code
and thus requires the stack to be made executable in order for
the program to work properly.
@@ -3997,7 +4008,7 @@ present.
`-Wshadow'
Warn whenever a local variable or type declaration shadows another
variable, parameter, type, or class member (in C++), or whenever a
- built-in function is shadowed. Note that in C++, the compiler
+ built-in function is shadowed. Note that in C++, the compiler
warns if a local variable shadows an explicit typedef, but not if
it shadows a struct/class/enum.
@@ -4134,7 +4145,7 @@ present.
For C++, also warn for confusing overload resolution for
user-defined conversions; and conversions that never use a type
conversion operator: conversions to `void', the same type, a base
- class or a reference to them. Warnings about conversions between
+ class or a reference to them. Warnings about conversions between
signed and unsigned integers are disabled by default in C++ unless
`-Wsign-conversion' is explicitly enabled.
@@ -4180,7 +4191,7 @@ present.
`-Wsign-conversion'
Warn for implicit conversions that may change the sign of an
integer value, like assigning a signed integer expression to an
- unsigned integer variable. An explicit cast silences the warning.
+ unsigned integer variable. An explicit cast silences the warning.
In C, this option is enabled also by `-Wconversion'.
`-Wsizeof-pointer-memaccess'
@@ -4238,7 +4249,7 @@ present.
`-Wold-style-declaration (C and Objective-C only)'
Warn for obsolescent usages, according to the C Standard, in a
- declaration. For example, warn if storage-class specifiers like
+ declaration. For example, warn if storage-class specifiers like
`static' are not the first things in a declaration. This warning
is also enabled by `-Wextra'.
@@ -4444,7 +4455,7 @@ present.
`-Wno-int-to-pointer-cast'
Suppress warnings from casts to pointer type of an integer of a
- different size. In C++, casting to a pointer type of smaller size
+ different size. In C++, casting to a pointer type of smaller size
is an error. `Wint-to-pointer-cast' is enabled by default.
`-Wno-pointer-to-int-cast (C and Objective-C only)'
@@ -5023,11 +5034,11 @@ program or GCC:
`-fdisable-KIND-PASS=RANGE-LIST'
This is a set of options that are used to explicitly disable/enable
optimization passes. These options are intended for use for
- debugging GCC. Compiler users should use regular options for
+ debugging GCC. Compiler users should use regular options for
enabling/disabling passes instead.
`-fdisable-ipa-PASS'
- Disable IPA pass PASS. PASS is the pass name. If the same
+ Disable IPA pass PASS. PASS is the pass name. If the same
pass is statically invoked in the compiler multiple times,
the pass name should be appended with a sequential number
starting from 1.
@@ -5094,7 +5105,7 @@ program or GCC:
by LETTERS. This is used for debugging the RTL-based passes of the
compiler. The file names for most of the dumps are made by
appending a pass number and a word to the DUMPNAME, and the files
- are created in the directory of the output file. In case of
+ are created in the directory of the output file. In case of
`=FILENAME' option, the dump is output on the given file instead
of the pass numbered dump files. Note that the pass number is
computed statically as passes get registered into the pass manager.
@@ -5396,7 +5407,7 @@ program or GCC:
Control the dumping at various stages of processing the
intermediate language tree to a file. The file name is generated
by appending a switch-specific suffix to the source file name, and
- the file is created in the same directory as the output file. In
+ the file is created in the same directory as the output file. In
case of `=FILENAME' option, the dump is output on the given file
instead of the auto named dump files. If the `-OPTIONS' form is
used, OPTIONS is a list of `-' separated options which control the
@@ -5618,7 +5629,7 @@ program or GCC:
source file name.
`vrp'
- Dump each function after Value Range Propagation (VRP). The
+ Dump each function after Value Range Propagation (VRP). The
file name is made by appending `.vrp' to the source file name.
`all'
@@ -5628,7 +5639,7 @@ program or GCC:
`-fopt-info'
`-fopt-info-OPTIONS'
`-fopt-info-OPTIONS=FILENAME'
- Controls optimization dumps from various optimization passes. If
+ Controls optimization dumps from various optimization passes. If
the `-OPTIONS' form is used, OPTIONS is a list of `-' separated
options to select the dump details and optimizations. If OPTIONS
is not specified, it defaults to `all' for details and `optall'
@@ -5640,10 +5651,10 @@ program or GCC:
The options can be divided into two groups, 1) options describing
the verbosity of the dump, and 2) options describing which
- optimizations should be included. The options from both the groups
- can be freely mixed as they are non-overlapping. However, in case
+ optimizations should be included. The options from both the groups
+ can be freely mixed as they are non-overlapping. However, in case
of any conflicts, the latter options override the earlier options
- on the command line. Though multiple -fopt-info options are
+ on the command line. Though multiple -fopt-info options are
accepted, only one of them can have `=filename'. If other
filenames are provided then all but the first one are ignored.
@@ -5651,12 +5662,12 @@ program or GCC:
`optimized'
Print information when an optimization is successfully
- applied. It is up to a pass to decide which information is
- relevant. For example, the vectorizer passes print the source
+ applied. It is up to a pass to decide which information is
+ relevant. For example, the vectorizer passes print the source
location of loops which got successfully vectorized.
`missed'
- Print information about missed optimizations. Individual
+ Print information about missed optimizations. Individual
passes control which information to include in the output.
For example,
@@ -5670,7 +5681,7 @@ program or GCC:
transformations, more detailed messages about decisions etc.
`all'
- Print detailed optimization information. This includes
+ Print detailed optimization information. This includes
OPTIMIZED, MISSED, and NOTE.
The second set of options describes a group of optimizations and
@@ -5717,7 +5728,7 @@ program or GCC:
gcc -fopt-info-vec-missed=vec.miss -fopt-info-loop-optimized=loop.opt
Here the two output filenames `vec.miss' and `loop.opt' are in
- conflict since only one output file is allowed. In this case, only
+ conflict since only one output file is allowed. In this case, only
the first option takes effect and the subsequent options are
ignored. Thus only the `vec.miss' is produced which cotaints dumps
from the vectorizer about missed opportunities.
@@ -5725,12 +5736,12 @@ program or GCC:
`-ftree-vectorizer-verbose=N'
This option is deprecated and is implemented in terms of
`-fopt-info'. Please use `-fopt-info-KIND' form instead, where
- KIND is one of the valid opt-info options. It prints additional
+ KIND is one of the valid opt-info options. It prints additional
optimization information. For N=0 no diagnostic information is
reported. If N=1 the vectorizer reports each loop that got
vectorized, and the total number of loops that got vectorized. If
N=2 the vectorizer reports locations which could not be vectorized
- and the reasons for those. For any higher verbosity levels all the
+ and the reasons for those. For any higher verbosity levels all the
analysis and transformation information from the vectorizer is
reported.
@@ -6854,9 +6865,9 @@ optimizations to be performed is desired.
`-fipa-profile'
Perform interprocedural profile propagation. The functions called
- only from cold functions are marked as cold. Also functions
+ only from cold functions are marked as cold. Also functions
executed once (such as `cold', `noreturn', static constructors or
- destructors) are identified. Cold functions and loop less parts of
+ destructors) are identified. Cold functions and loop less parts of
functions executed once are then optimized for size. Enabled by
default at `-O' and higher.
@@ -6879,7 +6890,7 @@ optimizations to be performed is desired.
`-O3'.
`-ftree-sink'
- Perform forward store motion on trees. This flag is enabled by
+ Perform forward store motion on trees. This flag is enabled by
default at `-O' and higher.
`-ftree-bit-ccp'
@@ -6920,7 +6931,7 @@ optimizations to be performed is desired.
Perform a variety of simple scalar cleanups (constant/copy
propagation, redundancy elimination, range propagation and
expression simplification) based on a dominator tree traversal.
- This also performs jump threading (to reduce jumps to jumps). This
+ This also performs jump threading (to reduce jumps to jumps). This
flag is enabled by default at `-O' and higher.
`-ftree-dse'
@@ -7182,11 +7193,11 @@ optimizations to be performed is desired.
is enabled by default at `-O' and higher.
`-ftree-vectorize'
- Perform loop vectorization on trees. This flag is enabled by
+ Perform loop vectorization on trees. This flag is enabled by
default at `-O3'.
`-ftree-slp-vectorize'
- Perform basic block vectorization on trees. This flag is enabled
+ Perform basic block vectorization on trees. This flag is enabled
by default at `-O3' and when `-ftree-vectorize' is enabled.
`-ftree-vect-loop-version'
@@ -7709,7 +7720,7 @@ optimizations to be performed is desired.
available in gold or in GNU ld 2.21 or newer.
This option enables the extraction of object files with GIMPLE
- bytecode out of library archives. This improves the quality of
+ bytecode out of library archives. This improves the quality of
optimization by exposing more code to the link-time optimizer.
This information specifies what symbols can be accessed externally
(by non-LTO object or during dynamic linking). Resulting code
@@ -7768,9 +7779,9 @@ optimizations to be performed is desired.
`-fprofile-correction'
Profiles collected using an instrumented binary for multi-threaded
- programs may be inconsistent due to missed counter updates. When
+ programs may be inconsistent due to missed counter updates. When
this option is specified, GCC uses heuristics to correct or smooth
- out such inconsistencies. By default, GCC emits an error message
+ out such inconsistencies. By default, GCC emits an error message
when an inconsistent profile is detected.
`-fprofile-dir=PATH'
@@ -7864,7 +7875,7 @@ correctness. All must be specifically enabled.
This option is not turned on by any `-O' option besides `-Ofast'
since it can result in incorrect output for programs that depend
on an exact implementation of IEEE or ISO rules/specifications for
- math functions. It may, however, yield faster code for programs
+ math functions. It may, however, yield faster code for programs
that do not require the guarantees of these specifications.
`-fno-math-errno'
@@ -7876,7 +7887,7 @@ correctness. All must be specifically enabled.
This option is not turned on by any `-O' option since it can
result in incorrect output for programs that depend on an exact
implementation of IEEE or ISO rules/specifications for math
- functions. It may, however, yield faster code for programs that do
+ functions. It may, however, yield faster code for programs that do
not require the guarantees of these specifications.
The default is `-fmath-errno'.
@@ -7895,7 +7906,7 @@ correctness. All must be specifically enabled.
This option is not turned on by any `-O' option since it can
result in incorrect output for programs that depend on an exact
implementation of IEEE or ISO rules/specifications for math
- functions. It may, however, yield faster code for programs that do
+ functions. It may, however, yield faster code for programs that do
not require the guarantees of these specifications. Enables
`-fno-signed-zeros', `-fno-trapping-math', `-fassociative-math'
and `-freciprocal-math'.
@@ -7934,7 +7945,7 @@ correctness. All must be specifically enabled.
This option is not turned on by any `-O' option since it can
result in incorrect output for programs that depend on an exact
implementation of IEEE or ISO rules/specifications for math
- functions. It may, however, yield faster code for programs that do
+ functions. It may, however, yield faster code for programs that do
not require the guarantees of these specifications.
The default is `-fno-finite-math-only'.
@@ -8204,7 +8215,7 @@ includes experimental options that may produce broken code.
`predictable-branch-outcome'
When branch is predicted to be taken with probability lower
than this threshold (in percent), then it is considered well
- predictable. The default is 10.
+ predictable. The default is 10.
`max-crossjump-edges'
The maximum number of incoming edges to consider for
@@ -8561,7 +8572,7 @@ includes experimental options that may produce broken code.
`hot-bb-count-ws-permille'
A basic block profile count is considered hot if it
- contributes to the given permillage (i.e. 0...1000) of the
+ contributes to the given permillage (i.e. 0...1000) of the
entire profiled execution.
`hot-bb-frequency-fraction'
@@ -9017,7 +9028,7 @@ includes experimental options that may produce broken code.
`tree-reassoc-width'
Set the maximum number of instructions executed in parallel in
- reassociated tree. This parameter overrides target dependent
+ reassociated tree. This parameter overrides target dependent
heuristics used by default if has non zero value.
`sched-pressure-algorithm'
@@ -9575,9 +9586,9 @@ cause the preprocessor output to be unsuitable for actual compilation.
When used without `-E', this option has no effect.
`-ftrack-macro-expansion[=LEVEL]'
- Track locations of tokens across macro expansions. This allows the
+ Track locations of tokens across macro expansions. This allows the
compiler to emit diagnostic about the current macro expansion stack
- when a compilation error occurs in a macro expansion. Using this
+ when a compilation error occurs in a macro expansion. Using this
option makes the preprocessor and the compiler consume more
memory. The LEVEL parameter can be used to choose the level of
precision of token location tracking thus decreasing the memory
@@ -9888,8 +9899,8 @@ doing a link step.
`-rdynamic'
Pass the flag `-export-dynamic' to the ELF linker, on targets that
- support it. This instructs the linker to add all symbols, not only
- used ones, to the dynamic symbol table. This option is needed for
+ support it. This instructs the linker to add all symbols, not only
+ used ones, to the dynamic symbol table. This option is needed for
some uses of `dlopen' or to allow obtaining backtraces from within
a program.
@@ -10017,7 +10028,7 @@ doing a link step.
library modules to define it. You can use `-u' multiple times with
different symbols to force loading of additional library modules.
- ---------- Footnotes ----------
+ ---------- Footnotes ----------
(1) On some systems, `gcc -shared' needs to build supplementary stub
code for constructors to work. On multi-libbed systems, `gcc -shared'
@@ -10412,7 +10423,7 @@ or combine them with constant text in a single argument.
`%T'
Current argument is the name of a linker script. Search for that
- file in the current list of directories to scan for libraries. If
+ file in the current list of directories to scan for libraries. If
the file is located insert a `--script' option into the command
line followed by the full path name found. If the file is not
found then generate an error message. Note: the current working
@@ -10974,7 +10985,7 @@ These `-m' options are defined for Adapteva Epiphany:
`int'
This is the mode used to perform integer calculations in the
- FPU, e.g. integer multiply, or integer
+ FPU, e.g. integer multiply, or integer
multiply-and-accumulate.
The default is `-mfp-mode=caller'
@@ -11085,45 +11096,41 @@ architectures:
versions of the compiler prior to 2.8. This option is now
deprecated.
-`-mcpu=NAME'
- This specifies the name of the target ARM processor. GCC uses
+`-march=NAME'
+ This specifies the name of the target ARM architecture. GCC uses
this name to determine what kind of instructions it can emit when
- generating assembly code. Permissible names are: `arm2', `arm250',
- `arm3', `arm6', `arm60', `arm600', `arm610', `arm620', `arm7',
- `arm7m', `arm7d', `arm7dm', `arm7di', `arm7dmi', `arm70', `arm700',
- `arm700i', `arm710', `arm710c', `arm7100', `arm720', `arm7500',
- `arm7500fe', `arm7tdmi', `arm7tdmi-s', `arm710t', `arm720t',
- `arm740t', `strongarm', `strongarm110', `strongarm1100',
- `strongarm1110', `arm8', `arm810', `arm9', `arm9e', `arm920',
- `arm920t', `arm922t', `arm946e-s', `arm966e-s', `arm968e-s',
- `arm926ej-s', `arm940t', `arm9tdmi', `arm10tdmi', `arm1020t',
- `arm1026ej-s', `arm10e', `arm1020e', `arm1022e', `arm1136j-s',
- `arm1136jf-s', `mpcore', `mpcorenovfp', `arm1156t2-s',
- `arm1156t2f-s', `arm1176jz-s', `arm1176jzf-s', `cortex-a5',
- `cortex-a7', `cortex-a8', `cortex-a9', `cortex-a15', `cortex-r4',
- `cortex-r4f', `cortex-r5', `cortex-m4', `cortex-m3', `cortex-m1',
- `cortex-m0', `cortex-m0plus', `marvell-pj4', `xscale', `iwmmxt',
- `iwmmxt2', `ep9312', `fa526', `fa626', `fa606te', `fa626te',
- `fmp626', `fa726te'.
-
- `-mcpu=generic-ARCH' is also permissible, and is equivalent to
- `-march=ARCH -mtune=generic-ARCH'. See `-mtune' for more
- information.
+ generating assembly code. This option can be used in conjunction
+ with or instead of the `-mcpu=' option. Permissible names are:
+ `armv2', `armv2a', `armv3', `armv3m', `armv4', `armv4t', `armv5',
+ `armv5t', `armv5e', `armv5te', `armv6', `armv6j', `armv6t2',
+ `armv6z', `armv6zk', `armv6-m', `armv7', `armv7-a', `armv7-r',
+ `armv7-m', `armv7e-m' `armv8-a', `iwmmxt', `iwmmxt2', `ep9312'.
- `-mcpu=native' causes the compiler to auto-detect the CPU of the
- build computer. At present, this feature is only supported on
- Linux, and not all architectures are recognized. If the
+ `-march=native' causes the compiler to auto-detect the architecture
+ of the build computer. At present, this feature is only supported
+ on Linux, and not all architectures are recognized. If the
auto-detect is unsuccessful the option has no effect.
`-mtune=NAME'
- This option is very similar to the `-mcpu=' option, except that
- instead of specifying the actual target processor type, and hence
- restricting which instructions can be used, it specifies that GCC
- should tune the performance of the code as if the target were of
- the type specified in this option, but still choosing the
- instructions it generates based on the CPU specified by a `-mcpu='
- option. For some ARM implementations better performance can be
- obtained by using this option.
+ This option specifies the name of the target ARM processor for
+ which GCC should tune the performance of the code. For some ARM
+ implementations better performance can be obtained by using this
+ option. Permissible names are: `arm2', `arm250', `arm3', `arm6',
+ `arm60', `arm600', `arm610', `arm620', `arm7', `arm7m', `arm7d',
+ `arm7dm', `arm7di', `arm7dmi', `arm70', `arm700', `arm700i',
+ `arm710', `arm710c', `arm7100', `arm720', `arm7500', `arm7500fe',
+ `arm7tdmi', `arm7tdmi-s', `arm710t', `arm720t', `arm740t',
+ `strongarm', `strongarm110', `strongarm1100', `strongarm1110',
+ `arm8', `arm810', `arm9', `arm9e', `arm920', `arm920t', `arm922t',
+ `arm946e-s', `arm966e-s', `arm968e-s', `arm926ej-s', `arm940t',
+ `arm9tdmi', `arm10tdmi', `arm1020t', `arm1026ej-s', `arm10e',
+ `arm1020e', `arm1022e', `arm1136j-s', `arm1136jf-s', `mpcore',
+ `mpcorenovfp', `arm1156t2-s', `arm1156t2f-s', `arm1176jz-s',
+ `arm1176jzf-s', `cortex-a5', `cortex-a7', `cortex-a8', `cortex-a9',
+ `cortex-a15', `cortex-r4', `cortex-r4f', `cortex-r5', `cortex-m4',
+ `cortex-m3', `cortex-m1', `cortex-m0', `cortex-m0plus',
+ `marvell-pj4', `xscale', `iwmmxt', `iwmmxt2', `ep9312', `fa526',
+ `fa626', `fa606te', `fa626te', `fmp626', `fa726te'.
`-mtune=generic-ARCH' specifies that GCC should tune the
performance for a blend of processors within architecture ARCH.
@@ -11138,19 +11145,24 @@ architectures:
Linux, and not all architectures are recognized. If the
auto-detect is unsuccessful the option has no effect.
-`-march=NAME'
- This specifies the name of the target ARM architecture. GCC uses
- this name to determine what kind of instructions it can emit when
- generating assembly code. This option can be used in conjunction
- with or instead of the `-mcpu=' option. Permissible names are:
- `armv2', `armv2a', `armv3', `armv3m', `armv4', `armv4t', `armv5',
- `armv5t', `armv5e', `armv5te', `armv6', `armv6j', `armv6t2',
- `armv6z', `armv6zk', `armv6-m', `armv7', `armv7-a', `armv7-r',
- `armv7-m', `armv8-a', `iwmmxt', `iwmmxt2', `ep9312'.
+`-mcpu=NAME'
+ This specifies the name of the target ARM processor. GCC uses
+ this name to derive the name of the target ARM architecture (as if
+ specified by `-march') and the ARM processor type for which to
+ tune for performance (as if specified by `-mtune'). Where this
+ option is used in conjunction with `-march' or `-mtune', those
+ options take precedence over the appropriate part of this option.
- `-march=native' causes the compiler to auto-detect the architecture
- of the build computer. At present, this feature is only supported
- on Linux, and not all architectures are recognized. If the
+ Permissible names for this option are the same as those for
+ `-mtune'.
+
+ `-mcpu=generic-ARCH' is also permissible, and is equivalent to
+ `-march=ARCH -mtune=generic-ARCH'. See `-mtune' for more
+ information.
+
+ `-mcpu=native' causes the compiler to auto-detect the CPU of the
+ build computer. At present, this feature is only supported on
+ Linux, and not all architectures are recognized. If the
auto-detect is unsuccessful the option has no effect.
`-mfpu=NAME'
@@ -11229,8 +11241,11 @@ architectures:
appropriate value before execution begins.
`-mpic-register=REG'
- Specify the register to be used for PIC addressing. The default
- is R10 unless stack-checking is enabled, when R9 is used.
+ Specify the register to be used for PIC addressing. For standard
+ PIC base case, the default will be any suitable register
+ determined by compiler. For single PIC base case, the default is
+ `R9' if target is EABI based or stack-checking is enabled,
+ otherwise the default is `R10'.
`-mpoke-function-name'
Write the name of each function into the text section, directly
@@ -11366,7 +11381,7 @@ These options are defined for AVR implementations:
`attiny87', `attiny88', `at86rf401'.
`avr3'
- "Classic" devices with 16 KiB up to 64 KiB of program memory.
+ "Classic" devices with 16 KiB up to 64 KiB of program memory.
MCU = `at43usb355', `at76c711'.
`avr31'
@@ -11390,33 +11405,29 @@ These options are defined for AVR implementations:
`avr5'
"Enhanced" devices with 16 KiB up to 64 KiB of program memory.
MCU = `ata5790', `ata5790n', `ata5795', `atmega16',
- `atmega16a', `atmega16hva', `atmega16hva', `atmega16hva2',
- `atmega16hva2', `atmega16hvb', `atmega16hvb',
- `atmega16hvbrevb', `atmega16m1', `atmega16m1', `atmega16u4',
- `atmega16u4', `atmega161', `atmega162', `atmega163',
- `atmega164a', `atmega164p', `atmega164pa', `atmega165',
- `atmega165a', `atmega165p', `atmega165pa', `atmega168',
- `atmega168a', `atmega168p', `atmega168pa', `atmega169',
- `atmega169a', `atmega169p', `atmega169pa', `atmega26hvg',
- `atmega32', `atmega32a', `atmega32a', `atmega32c1',
- `atmega32c1', `atmega32hvb', `atmega32hvb',
- `atmega32hvbrevb', `atmega32m1', `atmega32m1', `atmega32u4',
- `atmega32u4', `atmega32u6', `atmega32u6', `atmega323',
- `atmega324a', `atmega324p', `atmega324pa', `atmega325',
- `atmega325a', `atmega325p', `atmega3250', `atmega3250a',
- `atmega3250p', `atmega3250pa', `atmega328', `atmega328p',
- `atmega329', `atmega329a', `atmega329p', `atmega329pa',
- `atmega3290', `atmega3290a', `atmega3290p', `atmega3290pa',
- `atmega406', `atmega48hvf', `atmega64', `atmega64a',
- `atmega64c1', `atmega64c1', `atmega64hve', `atmega64m1',
- `atmega64m1', `atmega64rfa2', `atmega64rfr2', `atmega640',
- `atmega644', `atmega644a', `atmega644p', `atmega644pa',
- `atmega645', `atmega645a', `atmega645p', `atmega6450',
- `atmega6450a', `atmega6450p', `atmega649', `atmega649a',
- `atmega649p', `atmega6490', `atmega6490a', `atmega6490p',
- `at90can32', `at90can64', `at90pwm161', `at90pwm216',
- `at90pwm316', `at90scr100', `at90usb646', `at90usb647',
- `at94k', `m3000'.
+ `atmega16a', `atmega16hva', `atmega16hva2', `atmega16hvb',
+ `atmega16hvbrevb', `atmega16m1', `atmega16u4', `atmega161',
+ `atmega162', `atmega163', `atmega164a', `atmega164p',
+ `atmega164pa', `atmega165', `atmega165a', `atmega165p',
+ `atmega165pa', `atmega168', `atmega168a', `atmega168p',
+ `atmega168pa', `atmega169', `atmega169a', `atmega169p',
+ `atmega169pa', `atmega26hvg', `atmega32', `atmega32a',
+ `atmega32c1', `atmega32hvb', `atmega32hvbrevb', `atmega32m1',
+ `atmega32u4', `atmega32u6', `atmega323', `atmega324a',
+ `atmega324p', `atmega324pa', `atmega325', `atmega325a',
+ `atmega325p', `atmega3250', `atmega3250a', `atmega3250p',
+ `atmega3250pa', `atmega328', `atmega328p', `atmega329',
+ `atmega329a', `atmega329p', `atmega329pa', `atmega3290',
+ `atmega3290a', `atmega3290p', `atmega3290pa', `atmega406',
+ `atmega48hvf', `atmega64', `atmega64a', `atmega64c1',
+ `atmega64hve', `atmega64m1', `atmega64rfa2', `atmega64rfr2',
+ `atmega640', `atmega644', `atmega644a', `atmega644p',
+ `atmega644pa', `atmega645', `atmega645a', `atmega645p',
+ `atmega6450', `atmega6450a', `atmega6450p', `atmega649',
+ `atmega649a', `atmega649p', `atmega6490', `atmega6490a',
+ `atmega6490p', `at90can32', `at90can64', `at90pwm161',
+ `at90pwm216', `at90pwm316', `at90scr100', `at90usb646',
+ `at90usb647', `at94k', `m3000'.
`avr51'
"Enhanced" devices with 128 KiB of program memory.
@@ -11488,7 +11499,7 @@ These options are defined for AVR implementations:
`-mbranch-cost=COST'
Set the branch costs for conditional branch instructions to COST.
- Reasonable values for COST are small, non-negative integers. The
+ Reasonable values for COST are small, non-negative integers. The
default branch cost is 0.
`-mcall-prologues'
@@ -11512,7 +11523,7 @@ These options are defined for AVR implementations:
linker is called.
Jump relaxing is performed by the linker because jump offsets are
- not known before code is located. Therefore, the assembler code
+ not known before code is located. Therefore, the assembler code
generated by the compiler is the same, but the instructions in the
executable may differ from instructions in the assembler code.
@@ -11581,12 +11592,12 @@ the compiler and are subject to some limitations:
prologue/epilogue.
* For indirect calls to functions and computed goto, the linker
- generates _stubs_. Stubs are jump pads sometimes also called
- _trampolines_. Thus, the indirect call/jump jumps to such a stub.
+ generates _stubs_. Stubs are jump pads sometimes also called
+ _trampolines_. Thus, the indirect call/jump jumps to such a stub.
The stub contains a direct jump to the desired address.
* Linker relaxation must be turned on so that the linker will
- generate the stubs correctly an all situaltion. See the compiler
+ generate the stubs correctly an all situaltion. See the compiler
option `-mrelax' and the linler option `--relax'. There are
corner cases where the linker is supposed to generate stubs but
aborts without relaxation and without a helpful error message.
@@ -11598,7 +11609,7 @@ the compiler and are subject to some limitations:
points to.
* The startup code from libgcc never sets `EIND'. Notice that
- startup code is a blend of code from libgcc and AVR-LibC. For the
+ startup code is a blend of code from libgcc and AVR-LibC. For the
impact of AVR-LibC on `EIND', see the
AVR-LibC user manual (http://nongnu.org/avr-libc/user-manual/).
@@ -11639,7 +11650,7 @@ the compiler and are subject to some limitations:
- If prologue-save function is used, see `-mcall-prologues'
command-line option.
- - Switch/case dispatch tables. If you do not want such dispatch
+ - Switch/case dispatch tables. If you do not want such dispatch
tables you can specify the `-fno-jump-tables' command-line
option.
@@ -11771,7 +11782,7 @@ Spaces:: and *note AVR Built-in Functions::.
also means that the program counter (PC) is 3 bytes wide.
`__AVR_2_BYTE_PC__'
- The program counter (PC) is 2 bytes wide. This is the case for
+ The program counter (PC) is 2 bytes wide. This is the case for
devices with up to 128 KiB of program memory.
`__AVR_HAVE_8BIT_SP__'
@@ -11869,7 +11880,7 @@ File: gcc.info, Node: Blackfin Options, Next: C6X Options, Prev: AVR Options,
`-mspecld-anomaly'
When enabled, the compiler ensures that the generated code does not
- contain speculative loads after jump instructions. If this option
+ contain speculative loads after jump instructions. If this option
is used, `__WORKAROUND_SPECULATIVE_LOADS' is defined.
`-mno-specld-anomaly'
@@ -11950,7 +11961,7 @@ File: gcc.info, Node: Blackfin Options, Next: C6X Options, Prev: AVR Options,
handle function calls via function pointers.
`-mfast-fp'
- Link with the fast floating-point library. This library relaxes
+ Link with the fast floating-point library. This library relaxes
some of the IEEE floating-point standard's rules for checking
inputs against Not-a-Number (NAN), in the interest of performance.
@@ -11975,14 +11986,14 @@ File: gcc.info, Node: Blackfin Options, Next: C6X Options, Prev: AVR Options,
`-mcorea'
Build a standalone application for Core A of BF561 when using the
- one-application-per-core programming model. Proper start files and
+ one-application-per-core programming model. Proper start files and
link scripts are used to support Core A, and the macro
`__BFIN_COREA' is defined. This option can only be used in
conjunction with `-mmulticore'.
`-mcoreb'
Build a standalone application for Core B of BF561 when using the
- one-application-per-core programming model. Proper start files and
+ one-application-per-core programming model. Proper start files and
link scripts are used to support Core B, and the macro
`__BFIN_COREB' is defined. When this option is used, `coreb_main'
should be used instead of `main'. This option can only be used in
@@ -12154,7 +12165,7 @@ File: gcc.info, Node: CR16 Options, Next: Darwin Options, Prev: CRIS Options,
These options are defined specifically for the CR16 ports.
`-mmac'
- Enable the use of multiply-accumulate instructions. Disabled by
+ Enable the use of multiply-accumulate instructions. Disabled by
default.
`-mcr16cplus'
@@ -12393,7 +12404,7 @@ These `-m' options are defined for the DEC Alpha implementations:
operations. Unless they are replaced by routines that emulate the
floating-point operations, or compiled in such a way as to call
such emulations routines, these routines issue floating-point
- operations. If you are compiling for an Alpha without
+ operations. If you are compiling for an Alpha without
floating-point operations, you must ensure that the library is
built so as not to call them.
@@ -13289,9 +13300,15 @@ computers:
SSSE3, SSE4.1, SSE4.2, AVX, AES, PCLMUL, FSGSBASE, RDRND and
F16C instruction set support.
+ `core-avx2'
+ Intel Core CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2,
+ SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AES, PCLMUL,
+ FSGSBASE, RDRND, FMA, BMI, BMI2 and F16C instruction set
+ support.
+
`atom'
- Intel Atom CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3
- and SSSE3 instruction set support.
+ Intel Atom CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2,
+ SSE3 and SSSE3 instruction set support.
`k6'
AMD K6 CPU with MMX instruction set support.
@@ -13369,7 +13386,7 @@ computers:
`winchip2'
IDT WinChip 2 CPU, dealt in same way as i486 with additional
- MMX and 3DNow! instruction set support.
+ MMX and 3DNow! instruction set support.
`c3'
VIA C3 CPU with MMX and 3DNow! instruction set support. (No
@@ -13558,7 +13575,7 @@ computers:
`-mlong-double-80'
These switches control the size of `long double' type. A size of
64 bits makes the `long double' type equivalent to the `double'
- type. This is the default for Bionic C library.
+ type. This is the default for Bionic C library.
*Warning:* if you override the default value for your target ABI,
this changes the size of structures and arrays containing `long
@@ -13763,7 +13780,7 @@ computers:
These switches enable or disable the use of instructions in the
MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, AVX, AVX2, AES, PCLMUL,
FSGSBASE, RDRND, F16C, FMA, SSE4A, FMA4, XOP, LWP, ABM, BMI, BMI2,
- LZCNT, RTM or 3DNow! extended instruction sets. These extensions
+ LZCNT, RTM or 3DNow! extended instruction sets. These extensions
are also available as built-in functions: see *note X86 Built-in
Functions::, for details of the functions enabled and disabled by
these switches.
@@ -14108,7 +14125,7 @@ These additional options are available for Microsoft Windows targets:
specifies that the `dllimport' attribute should be ignored.
`-mthread'
- This option is available for MinGW targets. It specifies that
+ This option is available for MinGW targets. It specifies that
MinGW-specific thread support is to be used.
`-municode'
@@ -14128,7 +14145,7 @@ These additional options are available for Microsoft Windows targets:
the linker to set the PE header subsystem type appropriately.
`-fno-set-stack-executable'
- This option is available for MinGW targets. It specifies that the
+ This option is available for MinGW targets. It specifies that the
executable flag for the stack used by nested functions isn't set.
This is necessary for binaries running in kernel mode of Microsoft
Windows, as there the User32 API, which is used to set executable
@@ -15080,7 +15097,7 @@ File: gcc.info, Node: MicroBlaze Options, Next: MIPS Options, Prev: MeP Optio
instead.
`-mcpu=CPU-TYPE'
- Use features of, and schedule code for, the given CPU. Supported
+ Use features of, and schedule code for, the given CPU. Supported
values are in the format `vX.YY.Z', where X is a major version, YY
is the minor version, and Z is compatibility code. Example values
are `v3.00.a', `v4.00.b', `v5.00.a', `v5.00.b', `v5.00.b',
@@ -15132,20 +15149,20 @@ File: gcc.info, Node: MicroBlaze Options, Next: MIPS Options, Prev: MeP Optio
`xmdstub'
for use with Xilinx Microprocessor Debugger (XMD) based
- software intrusive debug agent called xmdstub. This uses
+ software intrusive debug agent called xmdstub. This uses
startup file `crt1.o' and sets the start address of the
program to 0x800.
`bootstrap'
for applications that are loaded using a bootloader. This
model uses startup file `crt2.o' which does not contain a
- processor reset vector handler. This is suitable for
+ processor reset vector handler. This is suitable for
transferring control on a processor reset to the bootloader
rather than the application.
`novectors'
for applications that do not require any of the MicroBlaze
- vectors. This option may be useful for applications running
+ vectors. This option may be useful for applications running
within a monitoring application. This model uses `crt3.o' as
a startup file.
@@ -16275,6 +16292,8 @@ These `-m' options are defined for the IBM RS/6000 and PowerPC:
-mpopcntb -mpopcntd -mpowerpc64
-mpowerpc-gpopt -mpowerpc-gfxopt -msingle-float -mdouble-float
-msimple-fpu -mstring -mmulhw -mdlmzb -mmfpgpr -mvsx
+ -mcrypto -mdirect-move -mpower8-fusion -mpower8-vector
+ -mquad-memory -mquad-memory-atomic
The particular options set for any particular CPU varies between
compiler versions, depending on what setting seems to produce
@@ -16318,6 +16337,36 @@ These `-m' options are defined for the IBM RS/6000 and PowerPC:
`-mabi=altivec' to adjust the current ABI with AltiVec ABI
enhancements.
+ When `-maltivec' is used, rather than `-maltivec=le' or
+ `-maltivec=be', the element order for Altivec intrinsics such as
+ `vec_splat', `vec_extract', and `vec_insert' will match array
+ element order corresponding to the endianness of the target. That
+ is, element zero identifies the leftmost element in a vector
+ register when targeting a big-endian platform, and identifies the
+ rightmost element in a vector register when targeting a
+ little-endian platform.
+
+`-maltivec=be'
+ Generate Altivec instructions using big-endian element order,
+ regardless of whether the target is big- or little-endian. This is
+ the default when targeting a big-endian platform.
+
+ The element order is used to interpret element numbers in Altivec
+ intrinsics such as `vec_splat', `vec_extract', and `vec_insert'.
+ By default, these will match array element order corresponding to
+ the endianness for the target.
+
+`-maltivec=le'
+ Generate Altivec instructions using little-endian element order,
+ regardless of whether the target is big- or little-endian. This is
+ the default when targeting a little-endian platform. This option
+ is currently ignored when targeting a big-endian platform.
+
+ The element order is used to interpret element numbers in Altivec
+ intrinsics such as `vec_splat', `vec_extract', and `vec_insert'.
+ By default, these will match array element order corresponding to
+ the endianness for the target.
+
`-mvrsave'
`-mno-vrsave'
Generate VRSAVE instructions when generating AltiVec code.
@@ -16368,6 +16417,43 @@ These `-m' options are defined for the IBM RS/6000 and PowerPC:
instructions, and also enable the use of built-in functions that
allow more direct access to the VSX instruction set.
+`-mcrypto'
+`-mno-crypto'
+ Enable the use (disable) of the built-in functions that allow
+ direct access to the cryptographic instructions that were added in
+ version 2.07 of the PowerPC ISA.
+
+`-mdirect-move'
+`-mno-direct-move'
+ Generate code that uses (does not use) the instructions to move
+ data between the general purpose registers and the vector/scalar
+ (VSX) registers that were added in version 2.07 of the PowerPC ISA.
+
+`-mpower8-fusion'
+`-mno-power8-fusion'
+ Generate code that keeps (does not keeps) some integer operations
+ adjacent so that the instructions can be fused together on power8
+ and later processors.
+
+`-mpower8-vector'
+`-mno-power8-vector'
+ Generate code that uses (does not use) the vector and scalar
+ instructions that were added in version 2.07 of the PowerPC ISA.
+ Also enable the use of built-in functions that allow more direct
+ access to the vector instructions.
+
+`-mquad-memory'
+`-mno-quad-memory'
+ Generate code that uses (does not use) the non-atomic quad word
+ memory instructions. The `-mquad-memory' option requires use of
+ 64-bit mode.
+
+`-mquad-memory-atomic'
+`-mno-quad-memory-atomic'
+ Generate code that uses (does not use) the atomic quad word memory
+ instructions. The `-mquad-memory-atomic' option requires use of
+ 64-bit mode.
+
`-mfloat-gprs=YES/SINGLE/DOUBLE/NO'
`-mfloat-gprs'
This switch enables or disables the generation of floating-point
@@ -16535,7 +16621,7 @@ These `-m' options are defined for the IBM RS/6000 and PowerPC:
`-mavoid-indexed-addresses'
`-mno-avoid-indexed-addresses'
Generate code that tries to avoid (not avoid) the use of indexed
- load or store instructions. These instructions can incur a
+ load or store instructions. These instructions can incur a
performance penalty on Power6 processors in certain situations,
such as when stepping through large arrays that cross a 16M
boundary. This option is enabled by default when targeting Power6
@@ -16654,7 +16740,7 @@ These `-m' options are defined for the IBM RS/6000 and PowerPC:
`store_to_load'
Any dependence from store to load is costly.
- NUMBER
+ NUMBER
Any dependence for which the latency is greater than or equal
to NUMBER is costly.
@@ -16676,7 +16762,7 @@ These `-m' options are defined for the IBM RS/6000 and PowerPC:
insn to a new group, according to the estimated processor
grouping.
- NUMBER
+ NUMBER
Insert NOPs to force costly dependent insns into separate
groups. Insert NUMBER NOPs to force an insn to a new group.
@@ -16724,7 +16810,7 @@ These `-m' options are defined for the IBM RS/6000 and PowerPC:
`-mabi=ABI-TYPE'
Extend the current ABI with a particular extension, or remove such
extension. Valid values are ALTIVEC, NO-ALTIVEC, SPE, NO-SPE,
- IBMLONGDOUBLE, IEEELONGDOUBLE.
+ IBMLONGDOUBLE, IEEELONGDOUBLE, ELFV1, ELFV2.
`-mabi=spe'
Extend the current ABI with SPE ABI extensions. This does not
@@ -16742,6 +16828,18 @@ These `-m' options are defined for the IBM RS/6000 and PowerPC:
Change the current ABI to use IEEE extended-precision long double.
This is a PowerPC 32-bit Linux ABI option.
+`-mabi=elfv1'
+ Change the current ABI to use the ELFv1 ABI. This is the default
+ ABI for big-endian PowerPC 64-bit Linux. Overriding the default
+ ABI requires special system support and is likely to fail in
+ spectacular ways.
+
+`-mabi=elfv2'
+ Change the current ABI to use the ELFv2 ABI. This is the default
+ ABI for little-endian PowerPC 64-bit Linux. Overriding the
+ default ABI requires special system support and is likely to fail
+ in spectacular ways.
+
`-mprototype'
`-mno-prototype'
On System V.4 and embedded PowerPC systems assume that all calls to
@@ -16992,6 +17090,22 @@ These `-m' options are defined for the IBM RS/6000 and PowerPC:
the call through the pointer. The `-mno-save-toc-indirect' option
is the default.
+`-mcompat-align-parm'
+`-mno-compat-align-parm'
+ Generate (do not generate) code to pass structure parameters with a
+ maximum alignment of 64 bits, for compatibility with older versions
+ of GCC.
+
+ Older versions of GCC (prior to 4.9.0) incorrectly did not align a
+ structure parameter on a 128-bit boundary when that structure
+ contained a member requiring 128-bit alignment. This is corrected
+ in more recent versions of GCC. This option may be used to
+ generate code that is compatible with functions compiled with
+ older versions of GCC.
+
+ In this version of the compiler, the `-mcompat-align-parm' is the
+ default, except when using the Linux ELFv2 ABI.
+

File: gcc.info, Node: RX Options, Next: S/390 and zSeries Options, Prev: RS/6000 and PowerPC Options, Up: Submodel Options
@@ -17024,7 +17138,7 @@ These command-line options are defined for RX targets:
`-mcpu=NAME'
Selects the type of RX CPU to be targeted. Currently three types
are supported, the generic RX600 and RX200 series hardware and the
- specific RX610 CPU. The default is RX600.
+ specific RX610 CPU. The default is RX600.
The only difference between RX600 and RX610 is that the RX610 does
not support the `MVTIPL' instruction.
@@ -17180,7 +17294,7 @@ architecture.
`-mlong-double-128'
These switches control the size of `long double' type. A size of
64 bits makes the `long double' type equivalent to the `double'
- type. This is the default.
+ type. This is the default.
`-mbackchain'
`-mno-backchain'
@@ -17321,6 +17435,20 @@ architecture.
value given by STACK-SIZE. The STACK-GUARD option can only be
used in conjunction with STACK-SIZE.
+`-mhotpatch[=HALFWORDS]'
+`-mno-hotpatch'
+ If the hotpatch option is enabled, a "hot-patching" function
+ prologue is generated for all functions in the compilation unit.
+ The funtion label is prepended with the given number of two-byte
+ Nop instructions (HALFWORDS, maximum 1000000) or 12 Nop
+ instructions if no argument is present. Functions with a
+ hot-patching prologue are never inlined automatically, and a
+ hot-patching prologue is never generated for functions functions
+ that are explicitly inline.
+
+ This option can be overridden for individual functions with the
+ `hotpatch' attribute.
+

File: gcc.info, Node: Score Options, Next: SH Options, Prev: S/390 and zSeries Options, Up: Submodel Options
@@ -17342,7 +17470,7 @@ These options are defined for Score implementations:
Enable generation of unaligned load and store instructions.
`-mmac'
- Enable the use of multiply-accumulate instructions. Disabled by
+ Enable the use of multiply-accumulate instructions. Disabled by
default.
`-mscore5'
@@ -17669,7 +17797,7 @@ These `-m' options are defined for the SH implementations:
Calls a library function that performs the operation in
double precision floating point. Division by zero causes a
floating-point exception. This is the default for SHcompact
- with FPU. Specifying this for targets that do not have a
+ with FPU. Specifying this for targets that do not have a
double precision FPU will default to `call-div1'.
`call-table'
@@ -17853,7 +17981,9 @@ These `-m' options are supported on the SPARC:
`-mapp-regs'
Specify `-mapp-regs' to generate output using the global registers
2 through 4, which the SPARC SVR4 ABI reserves for applications.
- This is the default.
+ Like the global register 1, each global register 2 through 4 is
+ then treated as an allocable register that is clobbered by
+ function calls. This is the default.
To be fully SVR4 ABI-compliant at the cost of some performance
loss, specify `-mno-app-regs'. You should compile libraries and
@@ -17923,6 +18053,12 @@ These `-m' options are supported on the SPARC:
default because it results in a performance loss, especially for
floating-point code.
+`-muser-mode'
+`-mno-user-mode'
+ Do not generate code that can only run in supervisor mode. This
+ is relevant only for the `casa' instruction emitted for the LEON3
+ processor. The default is `-mno-user-mode'.
+
`-mno-faster-structs'
`-mfaster-structs'
With `-mfaster-structs', the compiler assumes that structures
@@ -17938,9 +18074,9 @@ These `-m' options are supported on the SPARC:
Set the instruction set, register set, and instruction scheduling
parameters for machine type CPU_TYPE. Supported values for
CPU_TYPE are `v7', `cypress', `v8', `supersparc', `hypersparc',
- `leon', `sparclite', `f930', `f934', `sparclite86x', `sparclet',
- `tsc701', `v9', `ultrasparc', `ultrasparc3', `niagara',
- `niagara2', `niagara3', and `niagara4'.
+ `leon', `leon3', `sparclite', `f930', `f934', `sparclite86x',
+ `sparclet', `tsc701', `v9', `ultrasparc', `ultrasparc3',
+ `niagara', `niagara2', `niagara3' and `niagara4'.
Native Solaris and GNU/Linux toolchains also support the value
`native', which selects the best architecture option for the host
@@ -17954,19 +18090,19 @@ These `-m' options are supported on the SPARC:
Here is a list of each supported architecture and their supported
implementations.
- v7
+ v7
cypress
- v8
- supersparc, hypersparc, leon
+ v8
+ supersparc, hypersparc, leon, leon3
- sparclite
+ sparclite
f930, f934, sparclite86x
- sparclet
+ sparclet
tsc701
- v9
+ v9
ultrasparc, ultrasparc3, niagara, niagara2, niagara3, niagara4
By default (unless configured otherwise), GCC generates code for
@@ -18021,7 +18157,7 @@ These `-m' options are supported on the SPARC:
The same values for `-mcpu=CPU_TYPE' can be used for
`-mtune=CPU_TYPE', but the only useful values are those that
select a particular CPU implementation. Those are `cypress',
- `supersparc', `hypersparc', `leon', `f930', `f934',
+ `supersparc', `hypersparc', `leon', `leon3', `f930', `f934',
`sparclite86x', `tsc701', `ultrasparc', `ultrasparc3', `niagara',
`niagara2', `niagara3' and `niagara4'. With native Solaris and
GNU/Linux toolchains, `native' can also be used.
@@ -18081,6 +18217,10 @@ These `-m' options are supported on the SPARC:
Atmel AT697F processor (which corresponds to erratum #13 of the
AT697E processor).
+`-mfix-ut699'
+ Enable the documented workarounds for the floating-point errata
+ and the data cache nullify errata of the UT699 processor.
+
These `-m' options are supported in addition to the above on SPARC-V9
processors in 64-bit environments:
@@ -18408,7 +18548,7 @@ These `-m' options are defined for V850 implementations:
is used.
`-mv850es'
- Specify that the target processor is the V850ES. This is an alias
+ Specify that the target processor is the V850ES. This is an alias
for the `-mv850e1' option.
`-mv850e'
@@ -18460,7 +18600,7 @@ These `-m' options are defined for V850 implementations:
`-mrh850-abi'
`-mghs'
- Enables support for the RH850 version of the V850 ABI. This is the
+ Enables support for the RH850 version of the V850 ABI. This is the
default. With this version of the ABI the following rules apply:
* Integer sized structures and unions are returned via a memory
@@ -18481,7 +18621,7 @@ These `-m' options are defined for V850 implementations:
`__V850_RH850_ABI__' is defined.
`-mgcc-abi'
- Enables support for the old GCC version of the V850 ABI. With this
+ Enables support for the old GCC version of the V850 ABI. With this
version of the ABI the following rules apply:
* Integer sized structures and unions are returned in register
@@ -18561,7 +18701,7 @@ These `-m' options are defined for the VMS implementations:
Default to 64-bit memory allocation routines.
`-mpointer-size=SIZE'
- Set the default size of pointers. Possible options for SIZE are
+ Set the default size of pointers. Possible options for SIZE are
`32' or `short' for 32 bit pointers, `64' or `long' for 64 bit
pointers, and `no' for supporting only 32 bit pointers. The later
option disables `pragma pointer_size'.
@@ -18799,13 +18939,13 @@ form by either removing `no-' or adding it.
}
The lifetime of a compiler generated temporary is well defined by
- the C++ standard. When a lifetime of a temporary ends, and if the
+ the C++ standard. When a lifetime of a temporary ends, and if the
temporary lives in memory, the optimizing compiler has the freedom
to reuse its stack space with other temporaries or scoped local
- variables whose live range does not overlap with it. However some
+ variables whose live range does not overlap with it. However some
of the legacy code relies on the behavior of older compilers in
which temporaries' stack space is not reused, the aggressive stack
- reuse can lead to runtime errors. This option is used to control
+ reuse can lead to runtime errors. This option is used to control
the temporary stack reuse optimization.
`-ftrapv'
@@ -19419,7 +19559,7 @@ Controlling the Compilation Driver `gcc': (gccint)Driver.
tries looking in the usual places for the subprogram.
The default value of `GCC_EXEC_PREFIX' is `PREFIX/lib/gcc/' where
- PREFIX is the prefix to the installed compiler. In many cases
+ PREFIX is the prefix to the installed compiler. In many cases
PREFIX is the value of `prefix' when you ran the `configure'
script.
@@ -19998,9 +20138,9 @@ File: gcc.info, Node: Arrays and pointers implementation, Next: Hints implemen
determined by the ABI.
- ---------- Footnotes ----------
+ ---------- Footnotes ----------
- (1) Future versions of GCC may zero-extend, or use a target-defined
+ (1) Future versions of GCC may zero-extend, or use a target-defined
`ptr_extend' pattern. Do not rely on sign extension.

@@ -20269,8 +20409,8 @@ File: gcc.info, Node: C++ Implementation, Next: C Extensions, Prev: C Impleme
A conforming implementation of ISO C++ is required to document its
choice of behavior in each of the areas that are designated
"implementation defined". The following lists all such areas, along
-with the section numbers from the ISO/IEC 14822:1998 and ISO/IEC
-14822:2003 standards. Some areas are only implementation-defined in
+with the section numbers from the ISO/IEC 14882:1998 and ISO/IEC
+14882:2003 standards. Some areas are only implementation-defined in
one version of the standard.
Some choices depend on the externally determined ABI for the platform
@@ -20650,9 +20790,9 @@ on them being always the same,
inlining and cloning. If `&&foo' is used in a static variable
initializer, inlining and cloning is forbidden.
- ---------- Footnotes ----------
+ ---------- Footnotes ----------
- (1) The analogous feature in Fortran is called an assigned goto, but
+ (1) The analogous feature in Fortran is called an assigned goto, but
that name seems inappropriate in C, where one can do more than simply
store label addresses in label variables.
@@ -20825,7 +20965,7 @@ acting as mere forwarders for their arguments.
the containing function. You should specify, for RESULT, a value
returned by `__builtin_apply'.
- -- Built-in Function: __builtin_va_arg_pack ()
+ -- Built-in Function: __builtin_va_arg_pack ()
This built-in function represents all anonymous arguments of an
inline function. It can be used only in inline functions that are
always inlined, never compiled as a separate function, such as
@@ -22463,7 +22603,7 @@ attributes.
`thiscall'
On the Intel 386, the `thiscall' attribute causes the compiler to
pass the first argument (if of integral type) in the register ECX.
- Subsequent and other typed arguments are passed on the stack. The
+ Subsequent and other typed arguments are passed on the stack. The
called function pops the arguments off the stack. If the number
of arguments is variable all arguments are pushed on the stack.
The `thiscall' attribute is intended for C++ non-static member
@@ -22613,11 +22753,11 @@ attributes.
of these calls.
On M16C/M32C targets, the `function_vector' attribute declares a
- special page subroutine call function. Use of this attribute
+ special page subroutine call function. Use of this attribute
reduces the code size by 2 bytes for each call generated to the
- subroutine. The argument to the attribute is the vector number
+ subroutine. The argument to the attribute is the vector number
entry from the special page vector table which contains the 16
- low-order bits of the subroutine's entry address. Each vector
+ low-order bits of the subroutine's entry address. Each vector
table has special page number (18 to 255) that is used in `jsrs'
instructions. Jump addresses of the routines are generated by
adding 0x0F0000 (in case of M16C targets) or 0xFF0000 (in case of
@@ -22812,7 +22952,7 @@ attributes.
`l1_text'
This attribute specifies a function to be placed into L1
- Instruction SRAM. The function is put into a specific section
+ Instruction SRAM. The function is put into a specific section
named `.l1.text'. With `-mfdpic', function calls with a such
function as the callee or caller uses inlined PLT.
@@ -22963,6 +23103,14 @@ attributes.
"hot-patching" function prologue used in Win32 API functions in
Microsoft Windows XP Service Pack 2 and newer.
+`hotpatch [(PROLOGUE-HALFWORDS)]'
+ On S/390 System z targets, you can use this function attribute to
+ make GCC generate a "hot-patching" function prologue. The
+ `hotpatch' has no effect on funtions that are explicitly inline.
+ If the `-mhotpatch' or `-mno-hotpatch' command-line option is used
+ at the same time, the `hotpatch' attribute takes precedence. If
+ an argument is given, the maximum allowed value is 1000000.
+
`naked'
Use this attribute on the ARM, AVR, MCORE, RX and SPU ports to
indicate that the specified function does not need
@@ -23133,8 +23281,8 @@ attributes.
The `OS_task' attribute can be used when there is _no guarantee_
that interrupts are disabled at that time when the function is
- entered like for, e.g. task functions in a multi-threading
- operating system. In that case, changing the stack pointer
+ entered like for, e.g. task functions in a multi-threading
+ operating system. In that case, changing the stack pointer
register is guarded by save/clear/restore of the global interrupt
enable flag.
@@ -23149,7 +23297,7 @@ attributes.
`pcs'
The `pcs' attribute can be used to control the calling convention
- used for a function on ARM. The attribute takes an argument that
+ used for a function on ARM. The attribute takes an argument that
specifies the calling convention to use.
When compiling using the AAPCS ABI (or a variant of it) then valid
@@ -23259,7 +23407,7 @@ attributes.
clobbered, as per the standard calling conventions. Solaris 8 is
affected by this. Systems with the GNU C Library version 2.1 or
higher and FreeBSD are believed to be safe since the loaders there
- save EAX, EDX and ECX. (Lazy binding can be disabled with the
+ save EAX, EDX and ECX. (Lazy binding can be disabled with the
linker or the loader if desired, to avoid the problem.)
`sseregparm'
@@ -23773,7 +23921,7 @@ attributes.
The possible values of VISIBILITY_TYPE correspond to the
visibility settings in the ELF gABI.
- "default"
+ "default"
Default visibility is the normal case for the object file
format. This value is available for the visibility attribute
to override other options that may change the assumed
@@ -23789,13 +23937,13 @@ attributes.
Default visibility corresponds to "external linkage" in the
language.
- "hidden"
+ "hidden"
Hidden visibility indicates that the entity declared has a new
form of linkage, which we call "hidden linkage". Two
declarations of an object with hidden linkage refer to the
same object if they are in the same shared object.
- "internal"
+ "internal"
Internal visibility is like hidden visibility, but with
additional processor specific semantics. Unless otherwise
specified by the psABI, GCC defines internal visibility to
@@ -23807,7 +23955,7 @@ attributes.
for instance omit the load of a PIC register since it is known
that the calling function loaded the correct value.
- "protected"
+ "protected"
Protected visibility is like default visibility except that it
indicates that references within the defining module bind to
the definition in that module. That is, the declared entity
@@ -26609,7 +26757,7 @@ _picoChip family--`picochip.h'_
16-bit signed integer.
-_PowerPC and IBM RS6000--`config/rs6000/rs6000.h'_
+_PowerPC and IBM RS6000--`config/rs6000/constraints.md'_
`b'
Address base register
@@ -26623,17 +26771,64 @@ _PowerPC and IBM RS6000--`config/rs6000/rs6000.h'_
`v'
Altivec vector register
+ `wa'
+ Any VSX register if the -mvsx option was used or NO_REGS.
+
`wd'
- VSX vector register to hold vector double data
+ VSX vector register to hold vector double data or NO_REGS.
`wf'
- VSX vector register to hold vector float data
+ VSX vector register to hold vector float data or NO_REGS.
+
+ `wg'
+ If `-mmfpgpr' was used, a floating point register or NO_REGS.
+
+ `wl'
+ Floating point register if the LFIWAX instruction is enabled
+ or NO_REGS.
+
+ `wm'
+ VSX register if direct move instructions are enabled, or
+ NO_REGS.
+
+ `wn'
+ No register (NO_REGS).
+
+ `wr'
+ General purpose register if 64-bit instructions are enabled
+ or NO_REGS.
`ws'
- VSX vector register to hold scalar float data
+ VSX vector register to hold scalar double values or NO_REGS.
- `wa'
- Any VSX register
+ `wt'
+ VSX vector register to hold 128 bit integer or NO_REGS.
+
+ `wu'
+ Altivec register to use for float/32-bit int loads/stores or
+ NO_REGS.
+
+ `wv'
+ Altivec register to use for double loads/stores or NO_REGS.
+
+ `ww'
+ FP or VSX register to perform float operations under `-mvsx'
+ or NO_REGS.
+
+ `wx'
+ Floating point register if the STFIWX instruction is enabled
+ or NO_REGS.
+
+ `wy'
+ VSX vector register to hold scalar float values or NO_REGS.
+
+ `wz'
+ Floating point register if the LFIWZX instruction is enabled
+ or NO_REGS.
+
+ `wQ'
+ A memory address that will work with the `lq' and `stq'
+ instructions.
`h'
`MQ', `CTR', or `LINK' register
@@ -27058,7 +27253,7 @@ _Blackfin family--`config/bfin/constraints.md'_
M register
`c'
- Registers used for circular buffering, i.e. I, B, or L
+ Registers used for circular buffering, i.e. I, B, or L
registers.
`C'
@@ -28608,7 +28803,7 @@ assignment, for example `r0' below:
register int *p2 asm ("r1") = ...;
In those cases, a solution is to use a temporary variable for each
-arbitrary expression. *Note Example of asm with clobbered asm reg::.
+arbitrary expression. *Note Example of asm with clobbered asm reg::.

File: gcc.info, Node: Alternate Keywords, Next: Incomplete Enums, Prev: Explicit Reg Vars, Up: C Extensions
@@ -28832,7 +29027,7 @@ corresponding mode of `foo' is V4SI.
The `vector_size' attribute is only applicable to integral and float
scalars, although arrays, pointers, and function return values are
-allowed in conjunction with this construct. Only sizes that are a power
+allowed in conjunction with this construct. Only sizes that are a power
of two are currently allowed.
All the basic integer types can be used as base types, both as signed
@@ -28869,13 +29064,13 @@ elements in the operand.
It is possible to use shifting operators `<<', `>>' on integer-type
vectors. The operation is defined as following: `{a0, a1, ..., an} >>
-{b0, b1, ..., bn} == {a0 >> b0, a1 >> b1, ..., an >> bn}'. Vector
+{b0, b1, ..., bn} == {a0 >> b0, a1 >> b1, ..., an >> bn}'. Vector
operands must have the same number of elements.
For convenience, it is allowed to use a binary vector operation where
-one operand is a scalar. In that case the compiler transforms the
+one operand is a scalar. In that case the compiler transforms the
scalar operand into a vector where each element is the scalar from the
-operation. The transformation happens only if the scalar could be
+operation. The transformation happens only if the scalar could be
safely converted to the vector-element type. Consider the following
code.
@@ -28903,7 +29098,7 @@ operands with a signed integral element type.
Vectors are compared element-wise producing 0 when comparison is false
and -1 (constant of the appropriate type where all bits are set)
-otherwise. Consider the following example.
+otherwise. Consider the following example.
typedef int v4si __attribute__ ((vector_size (16)));
@@ -29241,7 +29436,7 @@ values ensures proper usage.
model can be used here.
False is returned otherwise, and the execution is considered to
- conform to FAILURE_MEMMODEL. This memory model cannot be
+ conform to FAILURE_MEMMODEL. This memory model cannot be
`__ATOMIC_RELEASE' nor `__ATOMIC_ACQ_REL'. It also cannot be a
stronger model than that specified by SUCCESS_MEMMODEL.
@@ -29268,7 +29463,7 @@ values ensures proper usage.
-- Built-in Function: TYPE __atomic_nand_fetch (TYPE *ptr, TYPE val,
int memmodel)
These built-in functions perform the operation suggested by the
- name, and return the result of the operation. That is,
+ name, and return the result of the operation. That is,
{ *ptr OP= val; return *ptr; }
@@ -29301,14 +29496,19 @@ values ensures proper usage.
This built-in function performs an atomic test-and-set operation on
the byte at `*PTR'. The byte is set to some implementation
defined nonzero "set" value and the return value is `true' if and
- only if the previous contents were "set".
+ only if the previous contents were "set". It should be only used
+ for operands of type `bool' or `char'. For other types only part
+ of the value may be set.
All memory models are valid.
-- Built-in Function: void __atomic_clear (bool *ptr, int memmodel)
This built-in function performs an atomic clear operation on
- `*PTR'. After the operation, `*PTR' contains 0.
+ `*PTR'. After the operation, `*PTR' contains 0. It should be
+ only used for operands of type `bool' or `char' and in conjunction
+ with `__atomic_test_and_set'. For other types it may only clear
+ partially. If the type is not `bool' prefer using `__atomic_store'.
The valid memory model variants are `__ATOMIC_RELAXED',
`__ATOMIC_SEQ_CST', and `__ATOMIC_RELEASE'.
@@ -29371,17 +29571,19 @@ specified in addition to an existing memory model to atomic intrinsics.
End lock elision on a lock variable. Memory model must be
`__ATOMIC_RELEASE' or stronger.
- When a lock acquire fails it's required for good performance to abort
+ When a lock acquire fails it is required for good performance to abort
the transaction quickly. This can be done with a `_mm_pause'
#include <immintrin.h> // For _mm_pause
+ int lockvar;
+
/* Acquire lock with lock elision */
while (__atomic_exchange_n(&lockvar, 1, __ATOMIC_ACQUIRE|__ATOMIC_HLE_ACQUIRE))
_mm_pause(); /* Abort failed transaction */
...
/* Free lock with lock elision */
- __atomic_clear(&lockvar, __ATOMIC_RELEASE|__ATOMIC_HLE_RELEASE);
+ __atomic_store_n(&lockvar, 0, __ATOMIC_RELEASE|__ATOMIC_HLE_RELEASE);

File: gcc.info, Node: Object Size Checking, Next: Other Builtins, Prev: x86 specific memory model extensions for transactional memory, Up: C Extensions
@@ -30136,7 +30338,9 @@ instructions, but allow the compiler to schedule those calls.
* picoChip Built-in Functions::
* PowerPC Built-in Functions::
* PowerPC AltiVec/VSX Built-in Functions::
+* PowerPC Hardware Transactional Memory Built-in Functions::
* RX Built-in Functions::
+* S/390 System z Built-in Functions::
* SH Built-in Functions::
* SPARC VIS Built-in Functions::
* SPU Built-in Functions::
@@ -36231,7 +36435,7 @@ starts at `0'. If the address does not point to flash memory, return
unsigned char __builtin_avr_insert_bits (unsigned long map, unsigned char bits, unsigned char val)
-Insert bits from BITS into VAL and return the resulting value. The
+Insert bits from BITS into VAL and return the resulting value. The
nibbles of MAP determine how the insertion is performed: Let X be the
N-th nibble of MAP
1. If X is `0xf', then the N-th bit of VAL is returned unaltered.
@@ -36243,7 +36447,7 @@ N-th nibble of MAP
undefined.
One typical use case for this built-in is adjusting input and output
-values to non-contiguous port layouts. Some examples:
+values to non-contiguous port layouts. Some examples:
// same as val, bits is unused
__builtin_avr_insert_bits (0xffffffff, bits, val)
@@ -36427,22 +36631,22 @@ Function prototype Example usage Assembly output
`void __MQMACHS (acc, sw2, sw2)' `__MQMACHS (C, A, B)' `MQMACHS A,B,C'
`void __MQMACHU (acc, uw2, uw2)' `__MQMACHU (C, A, B)' `MQMACHU A,B,C'
`void __MQMACXHS (acc, sw2, `__MQMACXHS (C, A, B)' `MQMACXHS A,B,C'
-sw2)'
+sw2)'
`void __MQMULHS (acc, sw2, sw2)' `__MQMULHS (C, A, B)' `MQMULHS A,B,C'
`void __MQMULHU (acc, uw2, uw2)' `__MQMULHU (C, A, B)' `MQMULHU A,B,C'
`void __MQMULXHS (acc, sw2, `__MQMULXHS (C, A, B)' `MQMULXHS A,B,C'
-sw2)'
+sw2)'
`void __MQMULXHU (acc, uw2, `__MQMULXHU (C, A, B)' `MQMULXHU A,B,C'
-uw2)'
+uw2)'
`sw2 __MQSATHS (sw2, sw2)' `C = __MQSATHS (A, B)' `MQSATHS A,B,C'
`uw2 __MQSLLHI (uw2, int)' `C = __MQSLLHI (A, B)' `MQSLLHI A,B,C'
`sw2 __MQSRAHI (sw2, int)' `C = __MQSRAHI (A, B)' `MQSRAHI A,B,C'
`sw2 __MQSUBHSS (sw2, sw2)' `C = __MQSUBHSS (A, B)' `MQSUBHSS A,B,C'
`uw2 __MQSUBHUS (uw2, uw2)' `C = __MQSUBHUS (A, B)' `MQSUBHUS A,B,C'
`void __MQXMACHS (acc, sw2, `__MQXMACHS (C, A, B)' `MQXMACHS A,B,C'
-sw2)'
+sw2)'
`void __MQXMACXHS (acc, sw2, `__MQXMACXHS (C, A, B)' `MQXMACXHS A,B,C'
-sw2)'
+sw2)'
`uw1 __MRDACC (acc)' `B = __MRDACC (A)' `MRDACC A,B'
`uw1 __MRDACCG (acc)' `B = __MRDACCG (A)' `MRDACCG A,B'
`uw1 __MROTLI (uw1, const)' `C = __MROTLI (A, B)' `MROTLI A,#B,C'
@@ -37847,8 +38051,8 @@ that is part of the name.
v2si __builtin_ia32_pswapdsi (v2si)
The following built-in functions are available when `-mrtm' is used
-They are used for restricted transactional memory. These are the
-internal low level functions. Normally the functions in *note X86
+They are used for restricted transactional memory. These are the
+internal low level functions. Normally the functions in *note X86
transactional memory intrinsics:: should be used instead.
int __builtin_ia32_xbegin ()
@@ -37862,7 +38066,7 @@ File: gcc.info, Node: X86 transactional memory intrinsics, Next: MIPS DSP Buil
6.56.8 X86 transaction memory intrinsics
----------------------------------------
-Hardware transactional memory intrinsics for i386. These allow to use
+Hardware transactional memory intrinsics for i386. These allow to use
memory transactions with RTM (Restricted Transactional Memory). For
using HLE (Hardware Lock Elision) see *note x86 specific memory model
extensions for transactional memory:: instead. This support is enabled
@@ -37915,8 +38119,8 @@ and suitable fallback code always needs to be supplied.
Transaction abort in a inner nested transaction
-- RTM Function: void _xend ()
- Commit the current transaction. When no transaction is active this
- will fault. All memory side effects of the transactions will
+ Commit the current transaction. When no transaction is active this
+ will fault. All memory side effects of the transactions will
become visible to other threads in an atomic matter.
-- RTM Function: int _xtest ()
@@ -37924,7 +38128,7 @@ and suitable fallback code always needs to be supplied.
otherwise 0.
-- RTM Function: void _xabort (status)
- Abort the current transaction. When no transaction is active this
+ Abort the current transaction. When no transaction is active this
is a no-op. status must be a 8bit constant, that is included in
the status code returned by `_xbegin'
@@ -38687,9 +38891,12 @@ processors:
float __builtin_rsqrtf (float);
double __builtin_recipdiv (double, double);
double __builtin_rsqrt (double);
- long __builtin_bpermd (long, long);
uint64_t __builtin_ppc_get_timebase ();
unsigned long __builtin_ppc_mftb ();
+ double __builtin_unpack_longdouble (long double, int);
+ double __builtin_longdouble_dw0 (long double);
+ double __builtin_longdouble_dw1 (long double);
+ long double __builtin_pack_longdouble (double, double);
The `vec_rsqrt', `__builtin_rsqrt', and `__builtin_rsqrtf' functions
generate multiple instructions to implement the reciprocal sqrt
@@ -38707,8 +38914,52 @@ The `__builtin_ppc_mftb' function always generates one instruction and
returns the Time Base Register value as an unsigned long, throwing away
the most significant word on 32-bit environments.
-
-File: gcc.info, Node: PowerPC AltiVec/VSX Built-in Functions, Next: RX Built-in Functions, Prev: PowerPC Built-in Functions, Up: Target Builtins
+ The following built-in functions are available for the PowerPC family
+of processors, starting with ISA 2.06 or later (`-mcpu=power7' or
+`-mpopcntd'):
+ long __builtin_bpermd (long, long);
+ int __builtin_divwe (int, int);
+ int __builtin_divweo (int, int);
+ unsigned int __builtin_divweu (unsigned int, unsigned int);
+ unsigned int __builtin_divweuo (unsigned int, unsigned int);
+ long __builtin_divde (long, long);
+ long __builtin_divdeo (long, long);
+ unsigned long __builtin_divdeu (unsigned long, unsigned long);
+ unsigned long __builtin_divdeuo (unsigned long, unsigned long);
+ unsigned int cdtbcd (unsigned int);
+ unsigned int cbcdtd (unsigned int);
+ unsigned int addg6s (unsigned int, unsigned int);
+
+ The `__builtin_divde', `__builtin_divdeo', `__builitin_divdeu',
+`__builtin_divdeou' functions require a 64-bit environment support ISA
+2.06 or later.
+
+ The following built-in functions are available for the PowerPC family
+of processors when hardware decimal floating point (`-mhard-dfp') is
+available:
+ _Decimal64 __builtin_dxex (_Decimal64);
+ _Decimal128 __builtin_dxexq (_Decimal128);
+ _Decimal64 __builtin_ddedpd (int, _Decimal64);
+ _Decimal128 __builtin_ddedpdq (int, _Decimal128);
+ _Decimal64 __builtin_denbcd (int, _Decimal64);
+ _Decimal128 __builtin_denbcdq (int, _Decimal128);
+ _Decimal64 __builtin_diex (_Decimal64, _Decimal64);
+ _Decimal128 _builtin_diexq (_Decimal128, _Decimal128);
+ _Decimal64 __builtin_dscli (_Decimal64, int);
+ _Decimal128 __builitn_dscliq (_Decimal128, int);
+ _Decimal64 __builtin_dscri (_Decimal64, int);
+ _Decimal128 __builitn_dscriq (_Decimal128, int);
+ unsigned long long __builtin_unpack_dec128 (_Decimal128, int);
+ _Decimal128 __builtin_pack_dec128 (unsigned long long, unsigned long long);
+
+ The following built-in functions are available for the PowerPC family
+of processors when the Vector Scalar (vsx) instruction set is available:
+ unsigned long long __builtin_unpack_vector_int128 (vector __int128_t, int);
+ vector __int128_t __builtin_pack_vector_int128 (unsigned long long,
+ unsigned long long);
+
+
+File: gcc.info, Node: PowerPC AltiVec/VSX Built-in Functions, Next: PowerPC Hardware Transactional Memory Built-in Functions, Prev: PowerPC Built-in Functions, Up: Target Builtins
6.56.15 PowerPC AltiVec Built-in Functions
------------------------------------------
@@ -40743,16 +40994,614 @@ additional functions are available:
void vec_vsx_st (vector bool char, int, unsigned char *);
void vec_vsx_st (vector bool char, int, signed char *);
+ vector double vec_xxpermdi (vector double, vector double, int);
+ vector float vec_xxpermdi (vector float, vector float, int);
+ vector long long vec_xxpermdi (vector long long, vector long long, int);
+ vector unsigned long long vec_xxpermdi (vector unsigned long long,
+ vector unsigned long long, int);
+ vector int vec_xxpermdi (vector int, vector int, int);
+ vector unsigned int vec_xxpermdi (vector unsigned int,
+ vector unsigned int, int);
+ vector short vec_xxpermdi (vector short, vector short, int);
+ vector unsigned short vec_xxpermdi (vector unsigned short,
+ vector unsigned short, int);
+ vector signed char vec_xxpermdi (vector signed char, vector signed char, int);
+ vector unsigned char vec_xxpermdi (vector unsigned char,
+ vector unsigned char, int);
+
+ vector double vec_xxsldi (vector double, vector double, int);
+ vector float vec_xxsldi (vector float, vector float, int);
+ vector long long vec_xxsldi (vector long long, vector long long, int);
+ vector unsigned long long vec_xxsldi (vector unsigned long long,
+ vector unsigned long long, int);
+ vector int vec_xxsldi (vector int, vector int, int);
+ vector unsigned int vec_xxsldi (vector unsigned int, vector unsigned int, int);
+ vector short vec_xxsldi (vector short, vector short, int);
+ vector unsigned short vec_xxsldi (vector unsigned short,
+ vector unsigned short, int);
+ vector signed char vec_xxsldi (vector signed char, vector signed char, int);
+ vector unsigned char vec_xxsldi (vector unsigned char,
+ vector unsigned char, int);
+
Note that the `vec_ld' and `vec_st' built-in functions always generate
the AltiVec `LVX' and `STVX' instructions even if the VSX instruction
set is available. The `vec_vsx_ld' and `vec_vsx_st' built-in functions
always generate the VSX `LXVD2X', `LXVW4X', `STXVD2X', and `STXVW4X'
instructions.
+ If the ISA 2.07 additions to the vector/scalar (power8-vector)
+instruction set is available, the following additional functions are
+available for both 32-bit and 64-bit targets. For 64-bit targets, you
+can use VECTOR LONG instead of VECTOR LONG LONG, VECTOR BOOL LONG
+instead of VECTOR BOOL LONG LONG, and VECTOR UNSIGNED LONG instead of
+VECTOR UNSIGNED LONG LONG.
+
+ vector long long vec_abs (vector long long);
+
+ vector long long vec_add (vector long long, vector long long);
+ vector unsigned long long vec_add (vector unsigned long long,
+ vector unsigned long long);
+
+ int vec_all_eq (vector long long, vector long long);
+ int vec_all_ge (vector long long, vector long long);
+ int vec_all_gt (vector long long, vector long long);
+ int vec_all_le (vector long long, vector long long);
+ int vec_all_lt (vector long long, vector long long);
+ int vec_all_ne (vector long long, vector long long);
+ int vec_any_eq (vector long long, vector long long);
+ int vec_any_ge (vector long long, vector long long);
+ int vec_any_gt (vector long long, vector long long);
+ int vec_any_le (vector long long, vector long long);
+ int vec_any_lt (vector long long, vector long long);
+ int vec_any_ne (vector long long, vector long long);
+
+ vector long long vec_eqv (vector long long, vector long long);
+ vector long long vec_eqv (vector bool long long, vector long long);
+ vector long long vec_eqv (vector long long, vector bool long long);
+ vector unsigned long long vec_eqv (vector unsigned long long,
+ vector unsigned long long);
+ vector unsigned long long vec_eqv (vector bool long long,
+ vector unsigned long long);
+ vector unsigned long long vec_eqv (vector unsigned long long,
+ vector bool long long);
+ vector int vec_eqv (vector int, vector int);
+ vector int vec_eqv (vector bool int, vector int);
+ vector int vec_eqv (vector int, vector bool int);
+ vector unsigned int vec_eqv (vector unsigned int, vector unsigned int);
+ vector unsigned int vec_eqv (vector bool unsigned int,
+ vector unsigned int);
+ vector unsigned int vec_eqv (vector unsigned int,
+ vector bool unsigned int);
+ vector short vec_eqv (vector short, vector short);
+ vector short vec_eqv (vector bool short, vector short);
+ vector short vec_eqv (vector short, vector bool short);
+ vector unsigned short vec_eqv (vector unsigned short, vector unsigned short);
+ vector unsigned short vec_eqv (vector bool unsigned short,
+ vector unsigned short);
+ vector unsigned short vec_eqv (vector unsigned short,
+ vector bool unsigned short);
+ vector signed char vec_eqv (vector signed char, vector signed char);
+ vector signed char vec_eqv (vector bool signed char, vector signed char);
+ vector signed char vec_eqv (vector signed char, vector bool signed char);
+ vector unsigned char vec_eqv (vector unsigned char, vector unsigned char);
+ vector unsigned char vec_eqv (vector bool unsigned char, vector unsigned char);
+ vector unsigned char vec_eqv (vector unsigned char, vector bool unsigned char);
+
+ vector long long vec_max (vector long long, vector long long);
+ vector unsigned long long vec_max (vector unsigned long long,
+ vector unsigned long long);
+
+ vector long long vec_min (vector long long, vector long long);
+ vector unsigned long long vec_min (vector unsigned long long,
+ vector unsigned long long);
+
+ vector long long vec_nand (vector long long, vector long long);
+ vector long long vec_nand (vector bool long long, vector long long);
+ vector long long vec_nand (vector long long, vector bool long long);
+ vector unsigned long long vec_nand (vector unsigned long long,
+ vector unsigned long long);
+ vector unsigned long long vec_nand (vector bool long long,
+ vector unsigned long long);
+ vector unsigned long long vec_nand (vector unsigned long long,
+ vector bool long long);
+ vector int vec_nand (vector int, vector int);
+ vector int vec_nand (vector bool int, vector int);
+ vector int vec_nand (vector int, vector bool int);
+ vector unsigned int vec_nand (vector unsigned int, vector unsigned int);
+ vector unsigned int vec_nand (vector bool unsigned int,
+ vector unsigned int);
+ vector unsigned int vec_nand (vector unsigned int,
+ vector bool unsigned int);
+ vector short vec_nand (vector short, vector short);
+ vector short vec_nand (vector bool short, vector short);
+ vector short vec_nand (vector short, vector bool short);
+ vector unsigned short vec_nand (vector unsigned short, vector unsigned short);
+ vector unsigned short vec_nand (vector bool unsigned short,
+ vector unsigned short);
+ vector unsigned short vec_nand (vector unsigned short,
+ vector bool unsigned short);
+ vector signed char vec_nand (vector signed char, vector signed char);
+ vector signed char vec_nand (vector bool signed char, vector signed char);
+ vector signed char vec_nand (vector signed char, vector bool signed char);
+ vector unsigned char vec_nand (vector unsigned char, vector unsigned char);
+ vector unsigned char vec_nand (vector bool unsigned char, vector unsigned char);
+ vector unsigned char vec_nand (vector unsigned char, vector bool unsigned char);
+
+ vector long long vec_orc (vector long long, vector long long);
+ vector long long vec_orc (vector bool long long, vector long long);
+ vector long long vec_orc (vector long long, vector bool long long);
+ vector unsigned long long vec_orc (vector unsigned long long,
+ vector unsigned long long);
+ vector unsigned long long vec_orc (vector bool long long,
+ vector unsigned long long);
+ vector unsigned long long vec_orc (vector unsigned long long,
+ vector bool long long);
+ vector int vec_orc (vector int, vector int);
+ vector int vec_orc (vector bool int, vector int);
+ vector int vec_orc (vector int, vector bool int);
+ vector unsigned int vec_orc (vector unsigned int, vector unsigned int);
+ vector unsigned int vec_orc (vector bool unsigned int,
+ vector unsigned int);
+ vector unsigned int vec_orc (vector unsigned int,
+ vector bool unsigned int);
+ vector short vec_orc (vector short, vector short);
+ vector short vec_orc (vector bool short, vector short);
+ vector short vec_orc (vector short, vector bool short);
+ vector unsigned short vec_orc (vector unsigned short, vector unsigned short);
+ vector unsigned short vec_orc (vector bool unsigned short,
+ vector unsigned short);
+ vector unsigned short vec_orc (vector unsigned short,
+ vector bool unsigned short);
+ vector signed char vec_orc (vector signed char, vector signed char);
+ vector signed char vec_orc (vector bool signed char, vector signed char);
+ vector signed char vec_orc (vector signed char, vector bool signed char);
+ vector unsigned char vec_orc (vector unsigned char, vector unsigned char);
+ vector unsigned char vec_orc (vector bool unsigned char, vector unsigned char);
+ vector unsigned char vec_orc (vector unsigned char, vector bool unsigned char);
+
+ vector int vec_pack (vector long long, vector long long);
+ vector unsigned int vec_pack (vector unsigned long long,
+ vector unsigned long long);
+ vector bool int vec_pack (vector bool long long, vector bool long long);
+
+ vector int vec_packs (vector long long, vector long long);
+ vector unsigned int vec_packs (vector unsigned long long,
+ vector unsigned long long);
+
+ vector unsigned int vec_packsu (vector long long, vector long long);
+
+ vector long long vec_rl (vector long long,
+ vector unsigned long long);
+ vector long long vec_rl (vector unsigned long long,
+ vector unsigned long long);
+
+ vector long long vec_sl (vector long long, vector unsigned long long);
+ vector long long vec_sl (vector unsigned long long,
+ vector unsigned long long);
+
+ vector long long vec_sr (vector long long, vector unsigned long long);
+ vector unsigned long long char vec_sr (vector unsigned long long,
+ vector unsigned long long);
+
+ vector long long vec_sra (vector long long, vector unsigned long long);
+ vector unsigned long long vec_sra (vector unsigned long long,
+ vector unsigned long long);
+
+ vector long long vec_sub (vector long long, vector long long);
+ vector unsigned long long vec_sub (vector unsigned long long,
+ vector unsigned long long);
+
+ vector long long vec_unpackh (vector int);
+ vector unsigned long long vec_unpackh (vector unsigned int);
+
+ vector long long vec_unpackl (vector int);
+ vector unsigned long long vec_unpackl (vector unsigned int);
+
+ vector long long vec_vaddudm (vector long long, vector long long);
+ vector long long vec_vaddudm (vector bool long long, vector long long);
+ vector long long vec_vaddudm (vector long long, vector bool long long);
+ vector unsigned long long vec_vaddudm (vector unsigned long long,
+ vector unsigned long long);
+ vector unsigned long long vec_vaddudm (vector bool unsigned long long,
+ vector unsigned long long);
+ vector unsigned long long vec_vaddudm (vector unsigned long long,
+ vector bool unsigned long long);
+
+ vector long long vec_vbpermq (vector signed char, vector signed char);
+ vector long long vec_vbpermq (vector unsigned char, vector unsigned char);
+
+ vector long long vec_vclz (vector long long);
+ vector unsigned long long vec_vclz (vector unsigned long long);
+ vector int vec_vclz (vector int);
+ vector unsigned int vec_vclz (vector int);
+ vector short vec_vclz (vector short);
+ vector unsigned short vec_vclz (vector unsigned short);
+ vector signed char vec_vclz (vector signed char);
+ vector unsigned char vec_vclz (vector unsigned char);
+
+ vector signed char vec_vclzb (vector signed char);
+ vector unsigned char vec_vclzb (vector unsigned char);
+
+ vector long long vec_vclzd (vector long long);
+ vector unsigned long long vec_vclzd (vector unsigned long long);
+
+ vector short vec_vclzh (vector short);
+ vector unsigned short vec_vclzh (vector unsigned short);
+
+ vector int vec_vclzw (vector int);
+ vector unsigned int vec_vclzw (vector int);
+
+ vector signed char vec_vgbbd (vector signed char);
+ vector unsigned char vec_vgbbd (vector unsigned char);
+
+ vector long long vec_vmaxsd (vector long long, vector long long);
+
+ vector unsigned long long vec_vmaxud (vector unsigned long long,
+ unsigned vector long long);
+
+ vector long long vec_vminsd (vector long long, vector long long);
+
+ vector unsigned long long vec_vminud (vector long long,
+ vector long long);
+
+ vector int vec_vpksdss (vector long long, vector long long);
+ vector unsigned int vec_vpksdss (vector long long, vector long long);
+
+ vector unsigned int vec_vpkudus (vector unsigned long long,
+ vector unsigned long long);
+
+ vector int vec_vpkudum (vector long long, vector long long);
+ vector unsigned int vec_vpkudum (vector unsigned long long,
+ vector unsigned long long);
+ vector bool int vec_vpkudum (vector bool long long, vector bool long long);
+
+ vector long long vec_vpopcnt (vector long long);
+ vector unsigned long long vec_vpopcnt (vector unsigned long long);
+ vector int vec_vpopcnt (vector int);
+ vector unsigned int vec_vpopcnt (vector int);
+ vector short vec_vpopcnt (vector short);
+ vector unsigned short vec_vpopcnt (vector unsigned short);
+ vector signed char vec_vpopcnt (vector signed char);
+ vector unsigned char vec_vpopcnt (vector unsigned char);
+
+ vector signed char vec_vpopcntb (vector signed char);
+ vector unsigned char vec_vpopcntb (vector unsigned char);
+
+ vector long long vec_vpopcntd (vector long long);
+ vector unsigned long long vec_vpopcntd (vector unsigned long long);
+
+ vector short vec_vpopcnth (vector short);
+ vector unsigned short vec_vpopcnth (vector unsigned short);
+
+ vector int vec_vpopcntw (vector int);
+ vector unsigned int vec_vpopcntw (vector int);
+
+ vector long long vec_vrld (vector long long, vector unsigned long long);
+ vector unsigned long long vec_vrld (vector unsigned long long,
+ vector unsigned long long);
+
+ vector long long vec_vsld (vector long long, vector unsigned long long);
+ vector long long vec_vsld (vector unsigned long long,
+ vector unsigned long long);
+
+ vector long long vec_vsrad (vector long long, vector unsigned long long);
+ vector unsigned long long vec_vsrad (vector unsigned long long,
+ vector unsigned long long);
+
+ vector long long vec_vsrd (vector long long, vector unsigned long long);
+ vector unsigned long long char vec_vsrd (vector unsigned long long,
+ vector unsigned long long);
+
+ vector long long vec_vsubudm (vector long long, vector long long);
+ vector long long vec_vsubudm (vector bool long long, vector long long);
+ vector long long vec_vsubudm (vector long long, vector bool long long);
+ vector unsigned long long vec_vsubudm (vector unsigned long long,
+ vector unsigned long long);
+ vector unsigned long long vec_vsubudm (vector bool long long,
+ vector unsigned long long);
+ vector unsigned long long vec_vsubudm (vector unsigned long long,
+ vector bool long long);
+
+ vector long long vec_vupkhsw (vector int);
+ vector unsigned long long vec_vupkhsw (vector unsigned int);
+
+ vector long long vec_vupklsw (vector int);
+ vector unsigned long long vec_vupklsw (vector int);
+
+ If the ISA 2.07 additions to the vector/scalar (power8-vector)
+instruction set is available, the following additional functions are
+available for 64-bit targets. New vector types (VECTOR __INT128_T and
+VECTOR __UINT128_T) are available to hold the __INT128_T and
+__UINT128_T types to use these builtins.
+
+ The normal vector extract, and set operations work on VECTOR
+__INT128_T and VECTOR __UINT128_T types, but the index value must be 0.
+
+ vector __int128_t vec_vaddcuq (vector __int128_t, vector __int128_t);
+ vector __uint128_t vec_vaddcuq (vector __uint128_t, vector __uint128_t);
+
+ vector __int128_t vec_vadduqm (vector __int128_t, vector __int128_t);
+ vector __uint128_t vec_vadduqm (vector __uint128_t, vector __uint128_t);
+
+ vector __int128_t vec_vaddecuq (vector __int128_t, vector __int128_t,
+ vector __int128_t);
+ vector __uint128_t vec_vaddecuq (vector __uint128_t, vector __uint128_t,
+ vector __uint128_t);
+
+ vector __int128_t vec_vaddeuqm (vector __int128_t, vector __int128_t,
+ vector __int128_t);
+ vector __uint128_t vec_vaddeuqm (vector __uint128_t, vector __uint128_t,
+ vector __uint128_t);
+
+ vector __int128_t vec_vsubecuq (vector __int128_t, vector __int128_t,
+ vector __int128_t);
+ vector __uint128_t vec_vsubecuq (vector __uint128_t, vector __uint128_t,
+ vector __uint128_t);
+
+ vector __int128_t vec_vsubeuqm (vector __int128_t, vector __int128_t,
+ vector __int128_t);
+ vector __uint128_t vec_vsubeuqm (vector __uint128_t, vector __uint128_t,
+ vector __uint128_t);
+
+ vector __int128_t vec_vsubcuq (vector __int128_t, vector __int128_t);
+ vector __uint128_t vec_vsubcuq (vector __uint128_t, vector __uint128_t);
+
+ __int128_t vec_vsubuqm (__int128_t, __int128_t);
+ __uint128_t vec_vsubuqm (__uint128_t, __uint128_t);
+
+ vector __int128_t __builtin_bcdadd (vector __int128_t, vector__int128_t);
+ int __builtin_bcdadd_lt (vector __int128_t, vector__int128_t);
+ int __builtin_bcdadd_eq (vector __int128_t, vector__int128_t);
+ int __builtin_bcdadd_gt (vector __int128_t, vector__int128_t);
+ int __builtin_bcdadd_ov (vector __int128_t, vector__int128_t);
+ vector __int128_t bcdsub (vector __int128_t, vector__int128_t);
+ int __builtin_bcdsub_lt (vector __int128_t, vector__int128_t);
+ int __builtin_bcdsub_eq (vector __int128_t, vector__int128_t);
+ int __builtin_bcdsub_gt (vector __int128_t, vector__int128_t);
+ int __builtin_bcdsub_ov (vector __int128_t, vector__int128_t);
+
+ If the cryptographic instructions are enabled (`-mcrypto' or
+`-mcpu=power8'), the following builtins are enabled.
+
+ vector unsigned long long __builtin_crypto_vsbox (vector unsigned long long);
+
+ vector unsigned long long __builtin_crypto_vcipher (vector unsigned long long,
+ vector unsigned long long);
+
+ vector unsigned long long __builtin_crypto_vcipherlast
+ (vector unsigned long long,
+ vector unsigned long long);
+
+ vector unsigned long long __builtin_crypto_vncipher (vector unsigned long long,
+ vector unsigned long long);
+
+ vector unsigned long long __builtin_crypto_vncipherlast
+ (vector unsigned long long,
+ vector unsigned long long);
+
+ vector unsigned char __builtin_crypto_vpermxor (vector unsigned char,
+ vector unsigned char,
+ vector unsigned char);
+
+ vector unsigned short __builtin_crypto_vpermxor (vector unsigned short,
+ vector unsigned short,
+ vector unsigned short);
+
+ vector unsigned int __builtin_crypto_vpermxor (vector unsigned int,
+ vector unsigned int,
+ vector unsigned int);
+
+ vector unsigned long long __builtin_crypto_vpermxor (vector unsigned long long,
+ vector unsigned long long,
+ vector unsigned long long);
+
+ vector unsigned char __builtin_crypto_vpmsumb (vector unsigned char,
+ vector unsigned char);
+
+ vector unsigned short __builtin_crypto_vpmsumb (vector unsigned short,
+ vector unsigned short);
+
+ vector unsigned int __builtin_crypto_vpmsumb (vector unsigned int,
+ vector unsigned int);
+
+ vector unsigned long long __builtin_crypto_vpmsumb (vector unsigned long long,
+ vector unsigned long long);
+
+ vector unsigned long long __builtin_crypto_vshasigmad
+ (vector unsigned long long, int, int);
+
+ vector unsigned int __builtin_crypto_vshasigmaw (vector unsigned int,
+ int, int);
+
+ The second argument to the __BUILTIN_CRYPTO_VSHASIGMAD and
+__BUILTIN_CRYPTO_VSHASIGMAW builtin functions must be a constant
+integer that is 0 or 1. The third argument to these builtin functions
+must be a constant integer in the range of 0 to 15.
+
+
+File: gcc.info, Node: PowerPC Hardware Transactional Memory Built-in Functions, Next: RX Built-in Functions, Prev: PowerPC AltiVec/VSX Built-in Functions, Up: Target Builtins
+
+6.56.16 PowerPC Hardware Transactional Memory Built-in Functions
+----------------------------------------------------------------
+
+GCC provides two interfaces for accessing the Hardware Transactional
+Memory (HTM) instructions available on some of the PowerPC family of
+prcoessors (eg, POWER8). The two interfaces come in a low level
+interface, consisting of built-in functions specific to PowerPC and a
+higher level interface consisting of inline functions that are common
+between PowerPC and S/390.
+
+6.56.16.1 PowerPC HTM Low Level Built-in Functions
+..................................................
+
+The following low level built-in functions are available with `-mhtm'
+or `-mcpu=CPU' where CPU is `power8' or later. They all generate the
+machine instruction that is part of the name.
+
+ The HTM built-ins return true or false depending on their success and
+their arguments match exactly the type and order of the associated
+hardware instruction's operands. Refer to the ISA manual for a
+description of each instruction's operands.
+
+ unsigned int __builtin_tbegin (unsigned int)
+ unsigned int __builtin_tend (unsigned int)
+
+ unsigned int __builtin_tabort (unsigned int)
+ unsigned int __builtin_tabortdc (unsigned int, unsigned int, unsigned int)
+ unsigned int __builtin_tabortdci (unsigned int, unsigned int, int)
+ unsigned int __builtin_tabortwc (unsigned int, unsigned int, unsigned int)
+ unsigned int __builtin_tabortwci (unsigned int, unsigned int, int)
+
+ unsigned int __builtin_tcheck (unsigned int)
+ unsigned int __builtin_treclaim (unsigned int)
+ unsigned int __builtin_trechkpt (void)
+ unsigned int __builtin_tsr (unsigned int)
+
+ In addition to the above HTM built-ins, we have added built-ins for
+some common extended mnemonics of the HTM instructions:
+
+ unsigned int __builtin_tendall (void)
+ unsigned int __builtin_tresume (void)
+ unsigned int __builtin_tsuspend (void)
+
+ The following set of built-in functions are available to gain access
+to the HTM specific special purpose registers.
+
+ unsigned long __builtin_get_texasr (void)
+ unsigned long __builtin_get_texasru (void)
+ unsigned long __builtin_get_tfhar (void)
+ unsigned long __builtin_get_tfiar (void)
+
+ void __builtin_set_texasr (unsigned long);
+ void __builtin_set_texasru (unsigned long);
+ void __builtin_set_tfhar (unsigned long);
+ void __builtin_set_tfiar (unsigned long);
+
+ Example usage of these low level built-in functions may look like:
+
+ #include <htmintrin.h>
+
+ int num_retries = 10;
+
+ while (1)
+ {
+ if (__builtin_tbegin (0))
+ {
+ /* Transaction State Initiated. */
+ if (is_locked (lock))
+ __builtin_tabort (0);
+ ... transaction code...
+ __builtin_tend (0);
+ break;
+ }
+ else
+ {
+ /* Transaction State Failed. Use locks if the transaction
+ failure is "persistent" or we've tried too many times. */
+ if (num_retries-- <= 0
+ || _TEXASRU_FAILURE_PERSISTENT (__builtin_get_texasru ()))
+ {
+ acquire_lock (lock);
+ ... non transactional fallback path...
+ release_lock (lock);
+ break;
+ }
+ }
+ }
+
+ One final built-in function has been added that returns the value of
+the 2-bit Transaction State field of the Machine Status Register (MSR)
+as stored in `CR0'.
+
+ unsigned long __builtin_ttest (void)
+
+ This built-in can be used to determine the current transaction state
+using the following code example:
+
+ #include <htmintrin.h>
+
+ unsigned char tx_state = _HTM_STATE (__builtin_ttest ());
+
+ if (tx_state == _HTM_TRANSACTIONAL)
+ {
+ /* Code to use in transactional state. */
+ }
+ else if (tx_state == _HTM_NONTRANSACTIONAL)
+ {
+ /* Code to use in non-transactional state. */
+ }
+ else if (tx_state == _HTM_SUSPENDED)
+ {
+ /* Code to use in transaction suspended state. */
+ }
+
+6.56.16.2 PowerPC HTM High Level Inline Functions
+.................................................
+
+The following high level HTM interface is made available by including
+`<htmxlintrin.h>' and using `-mhtm' or `-mcpu=CPU' where CPU is
+`power8' or later. This interface is common between PowerPC and S/390,
+allowing users to write one HTM source implementation that can be
+compiled and executed on either system.
+
+ long __TM_simple_begin (void)
+ long __TM_begin (void* const TM_buff)
+ long __TM_end (void)
+ void __TM_abort (void)
+ void __TM_named_abort (unsigned char const code)
+ void __TM_resume (void)
+ void __TM_suspend (void)
+
+ long __TM_is_user_abort (void* const TM_buff)
+ long __TM_is_named_user_abort (void* const TM_buff, unsigned char *code)
+ long __TM_is_illegal (void* const TM_buff)
+ long __TM_is_footprint_exceeded (void* const TM_buff)
+ long __TM_nesting_depth (void* const TM_buff)
+ long __TM_is_nested_too_deep(void* const TM_buff)
+ long __TM_is_conflict(void* const TM_buff)
+ long __TM_is_failure_persistent(void* const TM_buff)
+ long __TM_failure_address(void* const TM_buff)
+ long long __TM_failure_code(void* const TM_buff)
+
+ Using these common set of HTM inline functions, we can create a more
+portable version of the HTM example in the previous section that will
+work on either PowerPC or S/390:
+
+ #include <htmxlintrin.h>
+
+ int num_retries = 10;
+ TM_buff_type TM_buff;
+
+ while (1)
+ {
+ if (__TM_begin (TM_buff))
+ {
+ /* Transaction State Initiated. */
+ if (is_locked (lock))
+ __TM_abort ();
+ ... transaction code...
+ __TM_end ();
+ break;
+ }
+ else
+ {
+ /* Transaction State Failed. Use locks if the transaction
+ failure is "persistent" or we've tried too many times. */
+ if (num_retries-- <= 0
+ || __TM_is_failure_persistent (TM_buff))
+ {
+ acquire_lock (lock);
+ ... non transactional fallback path...
+ release_lock (lock);
+ break;
+ }
+ }
+ }
+

-File: gcc.info, Node: RX Built-in Functions, Next: SH Built-in Functions, Prev: PowerPC AltiVec/VSX Built-in Functions, Up: Target Builtins
+File: gcc.info, Node: RX Built-in Functions, Next: S/390 System z Built-in Functions, Prev: PowerPC Hardware Transactional Memory Built-in Functions, Up: Target Builtins
-6.56.16 RX Built-in Functions
+6.56.17 RX Built-in Functions
-----------------------------
GCC supports some of the RX instructions which cannot be expressed in
@@ -40848,9 +41697,117 @@ following functions are supported:
Generates the `wait' machine instruction.

-File: gcc.info, Node: SH Built-in Functions, Next: SPARC VIS Built-in Functions, Prev: RX Built-in Functions, Up: Target Builtins
+File: gcc.info, Node: S/390 System z Built-in Functions, Next: SH Built-in Functions, Prev: RX Built-in Functions, Up: Target Builtins
+
+6.56.18 S/390 System z Built-in Functions
+-----------------------------------------
+
+ -- Built-in Function: int __builtin_tbegin (void*)
+ Generates the `tbegin' machine instruction starting a
+ non-constraint hardware transaction. If the parameter is non-NULL
+ the memory area is used to store the transaction diagnostic buffer
+ and will be passed as first operand to `tbegin'. This buffer can
+ be defined using the `struct __htm_tdb' C struct defined in
+ `htmintrin.h' and must reside on a double-word boundary. The
+ second tbegin operand is set to `0xff0c'. This enables
+ save/restore of all GPRs and disables aborts for FPR and AR
+ manipulations inside the transaction body. The condition code set
+ by the tbegin instruction is returned as integer value. The tbegin
+ instruction by definition overwrites the content of all FPRs. The
+ compiler will generate code which saves and restores the FPRs. For
+ soft-float code it is recommended to used the `*_nofloat' variant.
+ In order to prevent a TDB from being written it is required to
+ pass an constant zero value as parameter. Passing the zero value
+ through a variable is not sufficient. Although modifications of
+ access registers inside the transaction will not trigger an
+ transaction abort it is not supported to actually modify them.
+ Access registers do not get saved when entering a transaction.
+ They will have undefined state when reaching the abort code.
+
+ Macros for the possible return codes of tbegin are defined in the
+`htmintrin.h' header file:
+
+`_HTM_TBEGIN_STARTED'
+ `tbegin' has been executed as part of normal processing. The
+ transaction body is supposed to be executed.
+
+`_HTM_TBEGIN_INDETERMINATE'
+ The transaction was aborted due to an indeterminate condition which
+ might be persistent.
+
+`_HTM_TBEGIN_TRANSIENT'
+ The transaction aborted due to a transient failure. The
+ transaction should be re-executed in that case.
+
+`_HTM_TBEGIN_PERSISTENT'
+ The transaction aborted due to a persistent failure. Re-execution
+ under same circumstances will not be productive.
+
+ -- Macro: _HTM_FIRST_USER_ABORT_CODE
+ The `_HTM_FIRST_USER_ABORT_CODE' defined in `htmintrin.h'
+ specifies the first abort code which can be used for
+ `__builtin_tabort'. Values below this threshold are reserved for
+ machine use.
+
+ -- Data type: struct __htm_tdb
+ The `struct __htm_tdb' defined in `htmintrin.h' describes the
+ structure of the transaction diagnostic block as specified in the
+ Principles of Operation manual chapter 5-91.
+
+ -- Built-in Function: int __builtin_tbegin_nofloat (void*)
+ Same as `__builtin_tbegin' but without FPR saves and restores.
+ Using this variant in code making use of FPRs will leave the FPRs
+ in undefined state when entering the transaction abort handler
+ code.
-6.56.17 SH Built-in Functions
+ -- Built-in Function: int __builtin_tbegin_retry (void*, int)
+ In addition to `__builtin_tbegin' a loop for transient failures is
+ generated. If tbegin returns a condition code of 2 the transaction
+ will be retried as often as specified in the second argument. The
+ perform processor assist instruction is used to tell the CPU about
+ the number of fails so far.
+
+ -- Built-in Function: int __builtin_tbegin_retry_nofloat (void*, int)
+ Same as `__builtin_tbegin_retry' but without FPR saves and
+ restores. Using this variant in code making use of FPRs will leave
+ the FPRs in undefined state when entering the transaction abort
+ handler code.
+
+ -- Built-in Function: void __builtin_tbeginc (void)
+ Generates the `tbeginc' machine instruction starting a constraint
+ hardware transaction. The second operand is set to `0xff08'.
+
+ -- Built-in Function: int __builtin_tend (void)
+ Generates the `tend' machine instruction finishing a transaction
+ and making the changes visible to other threads. The condition
+ code generated by tend is returned as integer value.
+
+ -- Built-in Function: void __builtin_tabort (int)
+ Generates the `tabort' machine instruction with the specified
+ abort code. Abort codes from 0 through 255 are reserved and will
+ result in an error message.
+
+ -- Built-in Function: void __builtin_tx_assist (int)
+ Generates the `ppa rX,rY,1' machine instruction. Where the
+ integer parameter is loaded into rX and a value of zero is loaded
+ into rY. The integer parameter specifies the number of times the
+ transaction repeatedly aborted.
+
+ -- Built-in Function: int __builtin_tx_nesting_depth (void)
+ Generates the `etnd' machine instruction. The current nesting
+ depth is returned as integer value. For a nesting depth of 0 the
+ code is not executed as part of an transaction.
+
+ -- Built-in Function: void __builtin_non_tx_store (uint64_t *,
+ uint64_t)
+ Generates the `ntstg' machine instruction. The second argument is
+ written to the first arguments location. The store operation will
+ not be rolled-back in case of an transaction abort.
+
+
+File: gcc.info, Node: SH Built-in Functions, Next: SPARC VIS Built-in Functions, Prev: S/390 System z Built-in Functions, Up: Target Builtins
+
+6.56.19 SH Built-in Functions
-----------------------------
The following built-in functions are supported on the SH1, SH2, SH3 and
@@ -40885,7 +41842,7 @@ SH4 families of processors:

File: gcc.info, Node: SPARC VIS Built-in Functions, Next: SPU Built-in Functions, Prev: SH Built-in Functions, Up: Target Builtins
-6.56.18 SPARC VIS Built-in Functions
+6.56.20 SPARC VIS Built-in Functions
------------------------------------
GCC supports SIMD operations on the SPARC using both the generic vector
@@ -41026,7 +41983,7 @@ functions also become available:

File: gcc.info, Node: SPU Built-in Functions, Next: TI C6X Built-in Functions, Prev: SPARC VIS Built-in Functions, Up: Target Builtins
-6.56.19 SPU Built-in Functions
+6.56.21 SPU Built-in Functions
------------------------------
GCC provides extensions for the SPU processor as described in the
@@ -41065,14 +42022,14 @@ differs in several ways.
_Note:_ Only the interface described in the aforementioned
-specification is supported. Internally, GCC uses built-in functions to
+specification is supported. Internally, GCC uses built-in functions to
implement the required functionality, but these are not supported and
are subject to change without notice.

File: gcc.info, Node: TI C6X Built-in Functions, Next: TILE-Gx Built-in Functions, Prev: SPU Built-in Functions, Up: Target Builtins
-6.56.20 TI C6X Built-in Functions
+6.56.22 TI C6X Built-in Functions
---------------------------------
GCC provides intrinsics to access certain instructions of the TI C6X
@@ -41111,7 +42068,7 @@ C6X instructions.

File: gcc.info, Node: TILE-Gx Built-in Functions, Next: TILEPro Built-in Functions, Prev: TI C6X Built-in Functions, Up: Target Builtins
-6.56.21 TILE-Gx Built-in Functions
+6.56.23 TILE-Gx Built-in Functions
----------------------------------
GCC provides intrinsics to access every instruction of the TILE-Gx
@@ -41143,7 +42100,7 @@ after it.

File: gcc.info, Node: TILEPro Built-in Functions, Prev: TILE-Gx Built-in Functions, Up: Target Builtins
-6.56.22 TILEPro Built-in Functions
+6.56.24 TILEPro Built-in Functions
----------------------------------
GCC provides intrinsics to access every instruction of the TILEPro
@@ -41435,7 +42392,7 @@ File: gcc.info, Node: Symbol-Renaming Pragmas, Next: Structure-Packing Pragmas
For compatibility with the Solaris system headers, GCC supports two
`#pragma' directives that change the name used in assembly for a given
-declaration. To get this effect on all platforms supported by GCC, use
+declaration. To get this effect on all platforms supported by GCC, use
the asm labels extension (*note Asm Labels::).
`redefine_extname OLDNAME NEWNAME'
@@ -41471,7 +42428,7 @@ File: gcc.info, Node: Structure-Packing Pragmas, Next: Weak Pragmas, Prev: Sy
For compatibility with Microsoft Windows compilers, GCC supports a set
of `#pragma' directives that change the maximum alignment of members of
structures (other than zero-width bit-fields), unions, and classes
-subsequently defined. The N value below always is required to be a
+subsequently defined. The N value below always is required to be a
small power of two and specifies the new alignment in bytes.
1. `#pragma pack(N)' simply sets the new alignment.
@@ -41628,7 +42585,7 @@ pop_macro("MACRO_NAME")'.
`#pragma pop_macro("MACRO_NAME")'
This pragma sets the value of the macro named as MACRO_NAME to the
- value on top of the stack for this macro. If the stack for
+ value on top of the stack for this macro. If the stack for
MACRO_NAME is empty, the value of the macro remains unchanged.
For example:
@@ -42286,9 +43243,9 @@ If all calls to the function can be inlined, you can avoid emitting the
function by compiling with `-fno-implement-inlines'. If any calls are
not inlined, you will get linker errors.
- ---------- Footnotes ----------
+ ---------- Footnotes ----------
- (1) A file's "basename" is the name stripped of all leading path
+ (1) A file's "basename" is the name stripped of all leading path
information and of trailing suffixes, such as `.h' or `.C' or `.cc'.

@@ -42561,10 +43518,10 @@ the execution platform. Here is an example.
return 0;
}
- In the above example, four versions of function foo are created. The
+ In the above example, four versions of function foo are created. The
first version of foo with the target attribute "default" is the default
version. This version gets executed when no other target specific
-version qualifies for execution on a particular platform. A new version
+version qualifies for execution on a particular platform. A new version
of foo is created by using the same function signature but with a
different target string. Function foo is called or a pointer to it is
taken just like a regular function. GCC takes care of doing the
@@ -42850,7 +43807,7 @@ expressions, e.g. ` enum E { e = int(2.2 * 3.7) } ' This extension is
deprecated and will be removed from a future version.
G++ allows static data members of const floating-point type to be
-declared with an initializer in a class definition. The standard only
+declared with an initializer in a class definition. The standard only
allows initializers for static members of const integral types and const
enumeration types so this extension has been deprecated and will be
removed from a future version.
@@ -42867,8 +43824,8 @@ used to be acceptable in previous drafts of the standard, such as the
ARM [Annotated C++ Reference Manual], are no longer accepted. In order
to allow compilation of C++ written to such drafts, G++ contains some
backwards compatibilities. _All such backwards compatibility features
-are liable to disappear in future versions of G++._ They should be
-considered deprecated. *Note Deprecated Features::.
+are liable to disappear in future versions of G++._ They should be
+considered deprecated. *Note Deprecated Features::.
`For scope'
If a variable is declared at for scope, it used to remain in scope
@@ -43163,7 +44120,7 @@ selectors and methods and about objects and classes.
`unsigned long' `L'
`long long' `q'
`unsigned long `Q'
-long'
+long'
`float' `f'
`double' `d'
`long double' `D'
@@ -43221,12 +44178,12 @@ compiler on an i386 machine:
Objective-C type Compiler encoding
int a[10]; `[10i]'
struct { `{?=i[3f]b128i3b131i2c}'
- int i;
- float f[3];
- int a:3;
- int b:2;
- char c;
- }
+ int i;
+ float f[3];
+ int a:3;
+ int b:2;
+ char c;
+ }
int a __attribute__ ((vector_size (16)));`![16,16i]' (alignment would depend on the machine)
@@ -43329,7 +44286,7 @@ File: gcc.info, Node: Method signatures, Prev: @encode, Up: Type encoding
-----------------------
This section documents the encoding of method types, which is rarely
-needed to use Objective-C. You should skip it at a first reading; the
+needed to use Objective-C. You should skip it at a first reading; the
runtime provides functions that will work on methods and can walk
through the list of parameters and interpret them for you. These
functions are part of the public "API" and are the preferred way to
@@ -43592,7 +44549,7 @@ the `finally' clause in Java.
needed in the NeXT Objective-C runtime.
* As mentioned above, the new exceptions do not support handling
- types other than Objective-C objects. Furthermore, when used from
+ types other than Objective-C objects. Furthermore, when used from
Objective-C++, the Objective-C exception model does not
interoperate with C++ exceptions at this time. This means you
cannot `@throw' an exception from Objective-C and `catch' it in
@@ -44629,7 +45586,7 @@ can relocate the data files based on two environment variables:
to strip off the hardwired absolute paths. Default value is 0.
_Note:_ If GCOV_PREFIX_STRIP is set without GCOV_PREFIX is
- undefined, then a relative path is made out of the hardwired
+ undefined, then a relative path is made out of the hardwired
absolute paths.
For example, if the object file `/user/build/foo.o' was built with
@@ -45340,9 +46297,9 @@ where variables in base classes are used (as in the example above).
these examples wrong and accept above code without an error. Those
compilers do not implement two-stage name lookup correctly.
- ---------- Footnotes ----------
+ ---------- Footnotes ----------
- (1) The C++ standard just uses the term "dependent" for names that
+ (1) The C++ standard just uses the term "dependent" for names that
depend on the type or value of template parameters. This shorter term
will also be used in the rest of this section.
@@ -45624,7 +46581,7 @@ do not make because we think GCC is better without them.
programs run any faster.
However, the rationale here is that optimization of a nonempty loop
- cannot produce an empty one. This held for carefully written C
+ cannot produce an empty one. This held for carefully written C
compiled with less powerful optimizers but is not always the case
for carefully written C++ or with more powerful optimizers. Thus
GCC will remove operations from loops whenever it can determine
@@ -46379,7 +47336,7 @@ TERMS AND CONDITIONS
by modifying or propagating a covered work, you indicate your
acceptance of this License to do so.
- 10. Automatic Licensing of Downstream Recipients.
+ 10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
@@ -46407,7 +47364,7 @@ TERMS AND CONDITIONS
using, selling, offering for sale, or importing the Program or any
portion of it.
- 11. Patents.
+ 11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based.
@@ -46480,7 +47437,7 @@ TERMS AND CONDITIONS
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
- 12. No Surrender of Others' Freedom.
+ 12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order,
agreement or otherwise) that contradict the conditions of this
@@ -46494,7 +47451,7 @@ TERMS AND CONDITIONS
terms and this License would be to refrain entirely from conveying
the Program.
- 13. Use with the GNU Affero General Public License.
+ 13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
@@ -46505,7 +47462,7 @@ TERMS AND CONDITIONS
General Public License, section 13, concerning interaction through
a network will apply to the combination as such.
- 14. Revised Versions of this License.
+ 14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new
versions of the GNU General Public License from time to time.
@@ -46532,19 +47489,19 @@ TERMS AND CONDITIONS
author or copyright holder as a result of your choosing to follow a
later version.
- 15. Disclaimer of Warranty.
+ 15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
- APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
+ APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS"
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
NECESSARY SERVICING, REPAIR OR CORRECTION.
- 16. Limitation of Liability.
+ 16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES
@@ -46557,7 +47514,7 @@ TERMS AND CONDITIONS
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF
THE POSSIBILITY OF SUCH DAMAGES.
- 17. Interpretation of Sections 15 and 16.
+ 17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
@@ -47030,7 +47987,7 @@ GNU Free Documentation License
not permanently reinstated, receipt of a copy of some or all of
the same material does not give you any rights to use it.
- 10. FUTURE REVISIONS OF THIS LICENSE
+ 10. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions of
the GNU Free Documentation License from time to time. Such new
@@ -47051,7 +48008,7 @@ GNU Free Documentation License
proxy's public statement of acceptance of a version permanently
authorizes you to choose that version for the Document.
- 11. RELICENSING
+ 11. RELICENSING
"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
World Wide Web server that publishes copyrightable works and also
@@ -47098,7 +48055,7 @@ notices just after the title page:
Free Documentation License''.
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the "with...Texts." line with this:
+replace the "with...Texts." line with this:
with the Invariant Sections being LIST THEIR TITLES, with
the Front-Cover Texts being LIST, and with the Back-Cover Texts
@@ -48058,7 +49015,7 @@ GCC version 4.1:
and improvements.
* Thomas Fitzsimmons for lots of upgrades to the gtk+ AWT and Cairo
- 2D support. Lots of imageio framework additions, lots of AWT and
+ 2D support. Lots of imageio framework additions, lots of AWT and
Free Swing bug fixes.
* Jeroen Frijters for `ClassLoader' and nio cleanups, serialization
@@ -48093,7 +49050,7 @@ GCC version 4.1:
* Ito Kazumitsu for `NetworkInterface' implementation and updates.
* Roman Kennke for `BoxLayout', `GrayFilter' and `SplitPane', plus
- bug fixes all over. Lots of Free Swing work including styled text.
+ bug fixes all over. Lots of Free Swing work including styled text.
* Simon Kitching for `String' cleanups and optimization suggestions.
@@ -48350,7 +49307,7 @@ look up both forms.
* -mcpu: RX Options. (line 30)
* -mpointer-size=SIZE: VMS Options. (line 20)
* 8bit-idiv: i386 and x86-64 Options.
- (line 818)
+ (line 824)
* A: Preprocessor Options.
(line 597)
* all_load: Darwin Options. (line 110)
@@ -48364,9 +49321,9 @@ look up both forms.
* arch_errors_fatal: Darwin Options. (line 114)
* aux-info: C Dialect Options. (line 168)
* avx256-split-unaligned-load: i386 and x86-64 Options.
- (line 826)
+ (line 832)
* avx256-split-unaligned-store: i386 and x86-64 Options.
- (line 826)
+ (line 832)
* B: Directory Options. (line 46)
* Bdynamic: VxWorks Options. (line 22)
* bind_at_load: Darwin Options. (line 118)
@@ -48418,6 +49375,7 @@ look up both forms.
* F: Darwin Options. (line 31)
* fabi-version: C++ Dialect Options.
(line 20)
+* fada-spec-parent: Overall Options. (line 369)
* faggressive-loop-optimizations: Optimize Options. (line 509)
* falign-functions: Optimize Options. (line 1462)
* falign-jumps: Optimize Options. (line 1511)
@@ -48482,8 +49440,10 @@ look up both forms.
* fdollars-in-identifiers: Preprocessor Options.
(line 495)
* fdse: Optimize Options. (line 543)
+* fdump-ada-spec: Overall Options. (line 363)
* fdump-class-hierarchy: Debugging Options. (line 805)
* fdump-final-insns: Debugging Options. (line 194)
+* fdump-go-spec: Overall Options. (line 373)
* fdump-ipa: Debugging Options. (line 813)
* fdump-noaddr: Debugging Options. (line 778)
* fdump-passes: Debugging Options. (line 831)
@@ -48646,7 +49606,7 @@ look up both forms.
* finput-charset: Preprocessor Options.
(line 567)
* finstrument-functions <1>: Function Attributes.
- (line 946)
+ (line 954)
* finstrument-functions: Code Gen Options. (line 375)
* finstrument-functions-exclude-file-list: Code Gen Options. (line 411)
* finstrument-functions-exclude-function-list: Code Gen Options.
@@ -48902,7 +49862,7 @@ look up both forms.
* fsingle-precision-constant: Optimize Options. (line 2052)
* fsplit-ivs-in-unroller: Optimize Options. (line 1281)
* fsplit-stack <1>: Function Attributes.
- (line 951)
+ (line 959)
* fsplit-stack: Code Gen Options. (line 496)
* fsplit-wide-types: Optimize Options. (line 437)
* fstack-check: Code Gen Options. (line 443)
@@ -49004,7 +49964,7 @@ look up both forms.
(line 141)
* G <1>: System V Options. (line 10)
* G <2>: RS/6000 and PowerPC Options.
- (line 662)
+ (line 743)
* G <3>: MIPS Options. (line 330)
* G: M32R/D Options. (line 57)
* g: Debugging Options. (line 10)
@@ -49070,13 +50030,13 @@ look up both forms.
* l: Link Options. (line 26)
* lobjc: Link Options. (line 53)
* m: RS/6000 and PowerPC Options.
- (line 515)
+ (line 584)
* M: Preprocessor Options.
(line 185)
* m1: SH Options. (line 9)
* m10: PDP-11 Options. (line 29)
* m128bit-long-double: i386 and x86-64 Options.
- (line 336)
+ (line 342)
* m16-bit: CRIS Options. (line 64)
* m1reg-: Adapteva Epiphany Options.
(line 132)
@@ -49091,11 +50051,11 @@ look up both forms.
(line 87)
* m32 <1>: TILEPro Options. (line 13)
* m32 <2>: TILE-Gx Options. (line 23)
-* m32 <3>: SPARC Options. (line 245)
+* m32 <3>: SPARC Options. (line 257)
* m32 <4>: RS/6000 and PowerPC Options.
- (line 207)
+ (line 276)
* m32: i386 and x86-64 Options.
- (line 835)
+ (line 841)
* m32-bit: CRIS Options. (line 64)
* m32bit-doubles: RX Options. (line 10)
* m32r: M32R/D Options. (line 15)
@@ -49103,7 +50063,7 @@ look up both forms.
* m32rx: M32R/D Options. (line 12)
* m340: MCore Options. (line 43)
* m3dnow: i386 and x86-64 Options.
- (line 565)
+ (line 571)
* m3e: SH Options. (line 37)
* m4: SH Options. (line 51)
* m4-nofpu: SH Options. (line 40)
@@ -49123,13 +50083,13 @@ look up both forms.
* m5307: M680x0 Options. (line 164)
* m5407: M680x0 Options. (line 168)
* m64 <1>: TILE-Gx Options. (line 23)
-* m64 <2>: SPARC Options. (line 245)
+* m64 <2>: SPARC Options. (line 257)
* m64 <3>: S/390 and zSeries Options.
(line 87)
* m64 <4>: RS/6000 and PowerPC Options.
- (line 207)
+ (line 276)
* m64: i386 and x86-64 Options.
- (line 835)
+ (line 841)
* m64bit-doubles: RX Options. (line 10)
* m68000: M680x0 Options. (line 95)
* m68010: M680x0 Options. (line 103)
@@ -49143,65 +50103,73 @@ look up both forms.
* m8-bit: CRIS Options. (line 64)
* m8byte-align: V850 Options. (line 170)
* m96bit-long-double: i386 and x86-64 Options.
- (line 336)
+ (line 342)
* mabi <1>: RS/6000 and PowerPC Options.
- (line 542)
+ (line 611)
* mabi <2>: i386 and x86-64 Options.
- (line 715)
+ (line 721)
* mabi: ARM Options. (line 10)
* mabi=32: MIPS Options. (line 131)
* mabi=64: MIPS Options. (line 131)
* mabi=eabi: MIPS Options. (line 131)
+* mabi=elfv1: RS/6000 and PowerPC Options.
+ (line 632)
+* mabi=elfv2: RS/6000 and PowerPC Options.
+ (line 638)
* mabi=gnu: MMIX Options. (line 20)
* mabi=ibmlongdouble: RS/6000 and PowerPC Options.
- (line 555)
+ (line 624)
* mabi=ieeelongdouble: RS/6000 and PowerPC Options.
- (line 559)
+ (line 628)
* mabi=mmixware: MMIX Options. (line 20)
* mabi=n32: MIPS Options. (line 131)
* mabi=no-spe: RS/6000 and PowerPC Options.
- (line 552)
+ (line 621)
* mabi=o64: MIPS Options. (line 131)
* mabi=spe: RS/6000 and PowerPC Options.
- (line 547)
+ (line 616)
* mabicalls: MIPS Options. (line 155)
-* mabort-on-noreturn: ARM Options. (line 183)
+* mabort-on-noreturn: ARM Options. (line 184)
* mabsdiff: MeP Options. (line 7)
* mabshi: PDP-11 Options. (line 55)
* mac0: PDP-11 Options. (line 16)
* macc-4: FRV Options. (line 113)
* macc-8: FRV Options. (line 116)
-* maccumulate-args: AVR Options. (line 139)
+* maccumulate-args: AVR Options. (line 135)
* maccumulate-outgoing-args <1>: SH Options. (line 330)
* maccumulate-outgoing-args: i386 and x86-64 Options.
- (line 738)
+ (line 744)
* maddress-mode=long: i386 and x86-64 Options.
- (line 878)
+ (line 884)
* maddress-mode=short: i386 and x86-64 Options.
- (line 883)
+ (line 889)
* maddress-space-conversion: SPU Options. (line 63)
* mads: RS/6000 and PowerPC Options.
- (line 585)
+ (line 666)
* maix-struct-return: RS/6000 and PowerPC Options.
- (line 535)
+ (line 604)
* maix32: RS/6000 and PowerPC Options.
- (line 245)
+ (line 314)
* maix64: RS/6000 and PowerPC Options.
- (line 245)
+ (line 314)
* malign-300: H8/300 Options. (line 41)
* malign-double: i386 and x86-64 Options.
- (line 320)
+ (line 326)
* malign-int: M680x0 Options. (line 267)
* malign-labels: FRV Options. (line 104)
* malign-loops: M32R/D Options. (line 73)
* malign-natural: RS/6000 and PowerPC Options.
- (line 284)
+ (line 353)
* malign-power: RS/6000 and PowerPC Options.
- (line 284)
+ (line 353)
* mall-opts: MeP Options. (line 11)
* malloc-cc: FRV Options. (line 25)
* maltivec: RS/6000 and PowerPC Options.
- (line 132)
+ (line 134)
+* maltivec=be: RS/6000 and PowerPC Options.
+ (line 150)
+* maltivec=le: RS/6000 and PowerPC Options.
+ (line 160)
* mam33: MN10300 Options. (line 17)
* mam33-2: MN10300 Options. (line 24)
* mam34: MN10300 Options. (line 27)
@@ -49219,18 +50187,18 @@ look up both forms.
* march <5>: HPPA Options. (line 9)
* march <6>: CRIS Options. (line 10)
* march <7>: C6X Options. (line 7)
-* march <8>: ARM Options. (line 128)
+* march <8>: ARM Options. (line 75)
* march: AArch64 Options. (line 55)
-* marm: ARM Options. (line 244)
+* marm: ARM Options. (line 248)
* mas100-syntax: RX Options. (line 76)
* masm=DIALECT: i386 and x86-64 Options.
- (line 275)
+ (line 281)
* matomic-model=MODEL: SH Options. (line 144)
* matomic-updates: SPU Options. (line 78)
* mauto-pic: IA-64 Options. (line 50)
* maverage: MeP Options. (line 16)
* mavoid-indexed-addresses: RS/6000 and PowerPC Options.
- (line 354)
+ (line 423)
* max-vect-align: Adapteva Epiphany Options.
(line 120)
* mb: SH Options. (line 74)
@@ -49242,9 +50210,9 @@ look up both forms.
* mbcopy: PDP-11 Options. (line 36)
* mbcopy-builtin: PDP-11 Options. (line 32)
* mbig: RS/6000 and PowerPC Options.
- (line 434)
+ (line 503)
* mbig-endian <1>: RS/6000 and PowerPC Options.
- (line 434)
+ (line 503)
* mbig-endian <2>: MicroBlaze Options. (line 57)
* mbig-endian <3>: MCore Options. (line 39)
* mbig-endian <4>: IA-64 Options. (line 9)
@@ -49257,16 +50225,16 @@ look up both forms.
* mbigtable: SH Options. (line 89)
* mbionic: GNU/Linux Options. (line 17)
* mbit-align: RS/6000 and PowerPC Options.
- (line 386)
+ (line 455)
* mbit-ops: CR16 Options. (line 25)
* mbitfield: M680x0 Options. (line 235)
* mbitops <1>: SH Options. (line 93)
* mbitops: MeP Options. (line 26)
* mblock-move-inline-limit: RS/6000 and PowerPC Options.
- (line 656)
+ (line 737)
* mbranch-cheap: PDP-11 Options. (line 65)
* mbranch-cost <1>: MIPS Options. (line 635)
-* mbranch-cost <2>: AVR Options. (line 154)
+* mbranch-cost <2>: AVR Options. (line 150)
* mbranch-cost: Adapteva Epiphany Options.
(line 18)
* mbranch-cost=NUM: SH Options. (line 396)
@@ -49276,7 +50244,7 @@ look up both forms.
* mbranch-likely: MIPS Options. (line 642)
* mbranch-predict: MMIX Options. (line 49)
* mbss-plt: RS/6000 and PowerPC Options.
- (line 155)
+ (line 187)
* mbuild-constants: DEC Alpha Options. (line 141)
* mbwx: DEC Alpha Options. (line 163)
* mc68000: M680x0 Options. (line 95)
@@ -49284,50 +50252,50 @@ look up both forms.
* mc=: MeP Options. (line 31)
* mcache-size: SPU Options. (line 70)
* mcall-eabi: RS/6000 and PowerPC Options.
- (line 509)
+ (line 578)
* mcall-freebsd: RS/6000 and PowerPC Options.
- (line 523)
+ (line 592)
* mcall-linux: RS/6000 and PowerPC Options.
- (line 519)
+ (line 588)
* mcall-netbsd: RS/6000 and PowerPC Options.
- (line 527)
-* mcall-prologues: AVR Options. (line 159)
+ (line 596)
+* mcall-prologues: AVR Options. (line 155)
* mcall-sysv: RS/6000 and PowerPC Options.
- (line 501)
+ (line 570)
* mcall-sysv-eabi: RS/6000 and PowerPC Options.
- (line 509)
+ (line 578)
* mcall-sysv-noeabi: RS/6000 and PowerPC Options.
- (line 512)
-* mcallee-super-interworking: ARM Options. (line 262)
-* mcaller-super-interworking: ARM Options. (line 269)
+ (line 581)
+* mcallee-super-interworking: ARM Options. (line 266)
+* mcaller-super-interworking: ARM Options. (line 273)
* mcallgraph-data: MCore Options. (line 31)
-* mcbcond: SPARC Options. (line 216)
+* mcbcond: SPARC Options. (line 224)
* mcbranchdi: SH Options. (line 411)
* mcc-init: CRIS Options. (line 41)
* mcfv4e: M680x0 Options. (line 172)
* mcheck-zero-division: MIPS Options. (line 441)
* mcix: DEC Alpha Options. (line 163)
* mcld: i386 and x86-64 Options.
- (line 588)
+ (line 594)
* mclip: MeP Options. (line 35)
-* mcmodel: SPARC Options. (line 250)
+* mcmodel: SPARC Options. (line 262)
* mcmodel=kernel: i386 and x86-64 Options.
- (line 862)
+ (line 868)
* mcmodel=large <1>: TILE-Gx Options. (line 14)
* mcmodel=large <2>: RS/6000 and PowerPC Options.
- (line 126)
+ (line 128)
* mcmodel=large <3>: i386 and x86-64 Options.
- (line 874)
+ (line 880)
* mcmodel=large: AArch64 Options. (line 33)
* mcmodel=medium <1>: RS/6000 and PowerPC Options.
- (line 122)
+ (line 124)
* mcmodel=medium: i386 and x86-64 Options.
- (line 867)
+ (line 873)
* mcmodel=small <1>: TILE-Gx Options. (line 9)
* mcmodel=small <2>: RS/6000 and PowerPC Options.
- (line 118)
+ (line 120)
* mcmodel=small <3>: i386 and x86-64 Options.
- (line 856)
+ (line 862)
* mcmodel=small: AArch64 Options. (line 27)
* mcmodel=tiny: AArch64 Options. (line 20)
* mcmove: Adapteva Epiphany Options.
@@ -49336,6 +50304,8 @@ look up both forms.
(line 27)
* mcmpeqdi: SH Options. (line 414)
* mcode-readable: MIPS Options. (line 401)
+* mcompat-align-parm: RS/6000 and PowerPC Options.
+ (line 895)
* mcond-exec: FRV Options. (line 152)
* mcond-move: FRV Options. (line 128)
* mconfig=: MeP Options. (line 39)
@@ -49351,17 +50321,17 @@ look up both forms.
* mcoreb: Blackfin Options. (line 164)
* mcpu <1>: TILEPro Options. (line 9)
* mcpu <2>: TILE-Gx Options. (line 18)
-* mcpu <3>: SPARC Options. (line 94)
+* mcpu <3>: SPARC Options. (line 102)
* mcpu <4>: RS/6000 and PowerPC Options.
(line 69)
* mcpu <5>: picoChip Options. (line 9)
* mcpu <6>: M680x0 Options. (line 28)
* mcpu <7>: i386 and x86-64 Options.
- (line 223)
+ (line 229)
* mcpu <8>: FRV Options. (line 212)
* mcpu <9>: DEC Alpha Options. (line 215)
* mcpu <10>: CRIS Options. (line 10)
-* mcpu <11>: ARM Options. (line 75)
+* mcpu <11>: ARM Options. (line 124)
* mcpu: AArch64 Options. (line 69)
* mcpu32: M680x0 Options. (line 138)
* mcpu= <1>: MicroBlaze Options. (line 20)
@@ -49370,10 +50340,12 @@ look up both forms.
* mcr16c: CR16 Options. (line 14)
* mcr16cplus: CR16 Options. (line 14)
* mcrc32: i386 and x86-64 Options.
- (line 635)
+ (line 641)
+* mcrypto: RS/6000 and PowerPC Options.
+ (line 222)
* mcsync-anomaly: Blackfin Options. (line 60)
* mcx16: i386 and x86-64 Options.
- (line 612)
+ (line 618)
* MD: Preprocessor Options.
(line 274)
* mdalign: SH Options. (line 80)
@@ -49385,6 +50357,8 @@ look up both forms.
* mdebug: M32R/D Options. (line 69)
* mdebug-main=PREFIX: VMS Options. (line 13)
* mdec-asm: PDP-11 Options. (line 72)
+* mdirect-move: RS/6000 and PowerPC Options.
+ (line 228)
* mdisable-callt: V850 Options. (line 92)
* mdisable-fpregs: HPPA Options. (line 33)
* mdisable-indexing: HPPA Options. (line 39)
@@ -49399,11 +50373,11 @@ look up both forms.
* mdll: i386 and x86-64 Windows Options.
(line 16)
* mdlmzb: RS/6000 and PowerPC Options.
- (line 379)
+ (line 448)
* mdmx: MIPS Options. (line 290)
* mdouble: FRV Options. (line 38)
* mdouble-float <1>: RS/6000 and PowerPC Options.
- (line 302)
+ (line 371)
* mdouble-float: MIPS Options. (line 248)
* mdsp: MIPS Options. (line 267)
* mdspr2: MIPS Options. (line 273)
@@ -49411,11 +50385,11 @@ look up both forms.
* mdwarf2-asm: IA-64 Options. (line 94)
* mdword: FRV Options. (line 32)
* mdynamic-no-pic: RS/6000 and PowerPC Options.
- (line 439)
+ (line 508)
* mea32: SPU Options. (line 55)
* mea64: SPU Options. (line 55)
* meabi: RS/6000 and PowerPC Options.
- (line 604)
+ (line 685)
* mearly-stop-bits: IA-64 Options. (line 100)
* meb <1>: Score Options. (line 9)
* meb <2>: Moxie Options. (line 7)
@@ -49426,7 +50400,7 @@ look up both forms.
* melf <1>: MMIX Options. (line 44)
* melf: CRIS Options. (line 87)
* memb: RS/6000 and PowerPC Options.
- (line 599)
+ (line 680)
* membedded-data: MIPS Options. (line 388)
* memregs=: M32C Options. (line 21)
* mep: V850 Options. (line 16)
@@ -49444,19 +50418,20 @@ look up both forms.
(line 220)
* mfast-fp: Blackfin Options. (line 133)
* mfast-indirect-calls: HPPA Options. (line 51)
-* mfaster-structs: SPARC Options. (line 84)
+* mfaster-structs: SPARC Options. (line 92)
* mfdpic: FRV Options. (line 56)
* mfentry: i386 and x86-64 Options.
- (line 811)
+ (line 817)
* mfix: DEC Alpha Options. (line 163)
* mfix-24k: MIPS Options. (line 500)
* mfix-and-continue: Darwin Options. (line 104)
-* mfix-at697f: SPARC Options. (line 236)
-* mfix-cortex-m3-ldrd: ARM Options. (line 302)
+* mfix-at697f: SPARC Options. (line 244)
+* mfix-cortex-m3-ldrd: ARM Options. (line 306)
* mfix-r10000: MIPS Options. (line 527)
* mfix-r4000: MIPS Options. (line 506)
* mfix-r4400: MIPS Options. (line 520)
* mfix-sb1: MIPS Options. (line 559)
+* mfix-ut699: SPARC Options. (line 249)
* mfix-vr4120: MIPS Options. (line 538)
* mfix-vr4130: MIPS Options. (line 552)
* mfixed-cc: FRV Options. (line 28)
@@ -49464,11 +50439,11 @@ look up both forms.
* mfixed-range <2>: SH Options. (line 343)
* mfixed-range <3>: IA-64 Options. (line 105)
* mfixed-range: HPPA Options. (line 58)
-* mflat: SPARC Options. (line 20)
+* mflat: SPARC Options. (line 22)
* mflip-mips16: MIPS Options. (line 111)
* mfloat-abi: ARM Options. (line 42)
* mfloat-gprs: RS/6000 and PowerPC Options.
- (line 190)
+ (line 259)
* mfloat-ieee: DEC Alpha Options. (line 171)
* mfloat-vax: DEC Alpha Options. (line 171)
* mfloat32: PDP-11 Options. (line 52)
@@ -49476,7 +50451,7 @@ look up both forms.
* mflush-func: MIPS Options. (line 626)
* mflush-func=NAME: M32R/D Options. (line 93)
* mflush-trap=NUMBER: M32R/D Options. (line 86)
-* mfmaf: SPARC Options. (line 230)
+* mfmaf: SPARC Options. (line 238)
* mfmovd: SH Options. (line 96)
* mforce-no-pic: Xtensa Options. (line 41)
* mfp-exceptions: MIPS Options. (line 653)
@@ -49485,33 +50460,33 @@ look up both forms.
* mfp-reg: DEC Alpha Options. (line 25)
* mfp-rounding-mode: DEC Alpha Options. (line 85)
* mfp-trap-mode: DEC Alpha Options. (line 63)
-* mfp16-format: ARM Options. (line 163)
+* mfp16-format: ARM Options. (line 164)
* mfp32: MIPS Options. (line 221)
* mfp64: MIPS Options. (line 224)
* mfpmath <1>: i386 and x86-64 Options.
- (line 226)
+ (line 232)
* mfpmath: Optimize Options. (line 1898)
* mfpr-32: FRV Options. (line 13)
* mfpr-64: FRV Options. (line 16)
* mfprnd: RS/6000 and PowerPC Options.
(line 27)
-* mfpu <1>: SPARC Options. (line 33)
+* mfpu <1>: SPARC Options. (line 35)
* mfpu <2>: RS/6000 and PowerPC Options.
- (line 310)
+ (line 379)
* mfpu <3>: PDP-11 Options. (line 9)
-* mfpu: ARM Options. (line 143)
+* mfpu: ARM Options. (line 144)
* mfriz: RS/6000 and PowerPC Options.
- (line 785)
+ (line 866)
* mfsca: SH Options. (line 428)
* mfsrra: SH Options. (line 437)
* mfull-toc: RS/6000 and PowerPC Options.
- (line 218)
+ (line 287)
* mfused-madd <1>: Xtensa Options. (line 19)
* mfused-madd <2>: SH Options. (line 419)
* mfused-madd <3>: S/390 and zSeries Options.
(line 137)
* mfused-madd <4>: RS/6000 and PowerPC Options.
- (line 363)
+ (line 432)
* mfused-madd <5>: MIPS Options. (line 482)
* mfused-madd: IA-64 Options. (line 88)
* mg: VAX Options. (line 17)
@@ -49520,7 +50495,7 @@ look up both forms.
* mgas: HPPA Options. (line 74)
* mgcc-abi: V850 Options. (line 148)
* mgen-cell-microcode: RS/6000 and PowerPC Options.
- (line 143)
+ (line 175)
* mgeneral-regs-only: AArch64 Options. (line 13)
* mgettrcost=NUMBER: SH Options. (line 360)
* mghs: V850 Options. (line 127)
@@ -49544,20 +50519,22 @@ look up both forms.
* mhard-dfp: RS/6000 and PowerPC Options.
(line 27)
* mhard-float <1>: V850 Options. (line 113)
-* mhard-float <2>: SPARC Options. (line 33)
+* mhard-float <2>: SPARC Options. (line 35)
* mhard-float <3>: S/390 and zSeries Options.
(line 11)
* mhard-float <4>: RS/6000 and PowerPC Options.
- (line 296)
+ (line 365)
* mhard-float <5>: MIPS Options. (line 227)
* mhard-float <6>: MicroBlaze Options. (line 10)
* mhard-float <7>: M680x0 Options. (line 197)
* mhard-float: FRV Options. (line 19)
-* mhard-quad-float: SPARC Options. (line 54)
+* mhard-quad-float: SPARC Options. (line 56)
* mhardlit: MCore Options. (line 10)
* mhint-max-distance: SPU Options. (line 102)
* mhint-max-nops: SPU Options. (line 96)
* mhitachi: SH Options. (line 100)
+* mhotpatch: S/390 and zSeries Options.
+ (line 174)
* mhp-ld: HPPA Options. (line 122)
* micplb: Blackfin Options. (line 178)
* mid-shared-library: Blackfin Options. (line 81)
@@ -49565,15 +50542,15 @@ look up both forms.
* mieee: DEC Alpha Options. (line 39)
* mieee-conformant: DEC Alpha Options. (line 134)
* mieee-fp: i386 and x86-64 Options.
- (line 281)
+ (line 287)
* mieee-with-inexact: DEC Alpha Options. (line 52)
* milp32: IA-64 Options. (line 121)
* mimpure-text: Solaris 2 Options. (line 9)
* mincoming-stack-boundary: i386 and x86-64 Options.
- (line 486)
+ (line 492)
* mindexed-addressing: SH Options. (line 350)
* minline-all-stringops: i386 and x86-64 Options.
- (line 759)
+ (line 765)
* minline-float-divide-max-throughput: IA-64 Options. (line 58)
* minline-float-divide-min-latency: IA-64 Options. (line 54)
* minline-ic_invalidate: SH Options. (line 125)
@@ -49584,15 +50561,15 @@ look up both forms.
* minline-sqrt-max-throughput: IA-64 Options. (line 80)
* minline-sqrt-min-latency: IA-64 Options. (line 76)
* minline-stringops-dynamically: i386 and x86-64 Options.
- (line 766)
+ (line 772)
* minsert-sched-nops: RS/6000 and PowerPC Options.
- (line 479)
+ (line 548)
* mint-register: RX Options. (line 100)
* mint16: PDP-11 Options. (line 40)
* mint32 <1>: PDP-11 Options. (line 44)
* mint32 <2>: H8/300 Options. (line 38)
* mint32: CR16 Options. (line 22)
-* mint8: AVR Options. (line 163)
+* mint8: AVR Options. (line 159)
* minterlink-mips16: MIPS Options. (line 118)
* minvalid-symbols: SH Options. (line 386)
* mio-volatile: MeP Options. (line 74)
@@ -49607,7 +50584,7 @@ look up both forms.
* mips64: MIPS Options. (line 96)
* mips64r2: MIPS Options. (line 99)
* misel: RS/6000 and PowerPC Options.
- (line 161)
+ (line 193)
* misize: SH Options. (line 137)
* missue-rate=NUMBER: M32R/D Options. (line 79)
* mivc2: MeP Options. (line 59)
@@ -49618,7 +50595,7 @@ look up both forms.
* ml: MeP Options. (line 78)
* mlarge-data: DEC Alpha Options. (line 187)
* mlarge-data-threshold: i386 and x86-64 Options.
- (line 372)
+ (line 378)
* mlarge-mem: SPU Options. (line 35)
* mlarge-text: DEC Alpha Options. (line 205)
* mleadz: MeP Options. (line 81)
@@ -49629,9 +50606,9 @@ look up both forms.
* mlinker-opt: HPPA Options. (line 84)
* mlinux: CRIS Options. (line 91)
* mlittle: RS/6000 and PowerPC Options.
- (line 428)
+ (line 497)
* mlittle-endian <1>: RS/6000 and PowerPC Options.
- (line 428)
+ (line 497)
* mlittle-endian <2>: MicroBlaze Options. (line 60)
* mlittle-endian <3>: MCore Options. (line 39)
* mlittle-endian <4>: IA-64 Options. (line 13)
@@ -49646,7 +50623,7 @@ look up both forms.
* mlong-calls <2>: MIPS Options. (line 468)
* mlong-calls <3>: FRV Options. (line 99)
* mlong-calls <4>: Blackfin Options. (line 121)
-* mlong-calls <5>: ARM Options. (line 188)
+* mlong-calls <5>: ARM Options. (line 189)
* mlong-calls: Adapteva Epiphany Options.
(line 55)
* mlong-double-128: S/390 and zSeries Options.
@@ -49654,15 +50631,15 @@ look up both forms.
* mlong-double-64 <1>: S/390 and zSeries Options.
(line 29)
* mlong-double-64: i386 and x86-64 Options.
- (line 361)
+ (line 367)
* mlong-double-80: i386 and x86-64 Options.
- (line 361)
+ (line 367)
* mlong-jumps: V850 Options. (line 108)
* mlong-load-store: HPPA Options. (line 65)
* mlong32: MIPS Options. (line 313)
* mlong64: MIPS Options. (line 308)
* mlongcall: RS/6000 and PowerPC Options.
- (line 676)
+ (line 757)
* mlongcalls: Xtensa Options. (line 72)
* mloop: V850 Options. (line 121)
* mlow-64k: Blackfin Options. (line 70)
@@ -49686,42 +50663,42 @@ look up both forms.
* mmemcpy <1>: MIPS Options. (line 462)
* mmemcpy: MicroBlaze Options. (line 13)
* mmemory-latency: DEC Alpha Options. (line 268)
-* mmemory-model: SPARC Options. (line 278)
+* mmemory-model: SPARC Options. (line 290)
* mmfcrf: RS/6000 and PowerPC Options.
(line 27)
* mmfpgpr: RS/6000 and PowerPC Options.
(line 27)
* mminimal-toc: RS/6000 and PowerPC Options.
- (line 218)
+ (line 287)
* mminmax: MeP Options. (line 87)
* mmmx: i386 and x86-64 Options.
- (line 565)
+ (line 571)
* mmodel=large: M32R/D Options. (line 33)
* mmodel=medium: M32R/D Options. (line 27)
* mmodel=small: M32R/D Options. (line 18)
* mmovbe: i386 and x86-64 Options.
- (line 631)
+ (line 637)
* mmt: MIPS Options. (line 301)
* mmul: RL78 Options. (line 13)
* mmul-bug-workaround: CRIS Options. (line 31)
* mmuladd: FRV Options. (line 50)
* mmulhw: RS/6000 and PowerPC Options.
- (line 372)
+ (line 441)
* mmult: MeP Options. (line 90)
* mmult-bug: MN10300 Options. (line 9)
* mmulti-cond-exec: FRV Options. (line 176)
* mmulticore: Blackfin Options. (line 142)
* mmultiple: RS/6000 and PowerPC Options.
- (line 322)
+ (line 391)
* mmvcle: S/390 and zSeries Options.
(line 105)
* mmvme: RS/6000 and PowerPC Options.
- (line 580)
+ (line 661)
* mn: H8/300 Options. (line 20)
* mnested-cond-exec: FRV Options. (line 189)
* mnhwloop: Score Options. (line 15)
* mno-3dnow: i386 and x86-64 Options.
- (line 565)
+ (line 571)
* mno-4byte-functions: MCore Options. (line 27)
* mno-8byte-align: V850 Options. (line 170)
* mno-abicalls: MIPS Options. (line 155)
@@ -49729,31 +50706,31 @@ look up both forms.
* mno-ac0: PDP-11 Options. (line 20)
* mno-address-space-conversion: SPU Options. (line 63)
* mno-align-double: i386 and x86-64 Options.
- (line 320)
+ (line 326)
* mno-align-int: M680x0 Options. (line 267)
* mno-align-loops: M32R/D Options. (line 76)
* mno-align-stringops: i386 and x86-64 Options.
- (line 754)
+ (line 760)
* mno-altivec: RS/6000 and PowerPC Options.
- (line 132)
+ (line 134)
* mno-am33: MN10300 Options. (line 20)
* mno-app-regs <1>: V850 Options. (line 185)
* mno-app-regs: SPARC Options. (line 10)
* mno-as100-syntax: RX Options. (line 76)
* mno-atomic-updates: SPU Options. (line 78)
* mno-avoid-indexed-addresses: RS/6000 and PowerPC Options.
- (line 354)
+ (line 423)
* mno-backchain: S/390 and zSeries Options.
(line 35)
* mno-base-addresses: MMIX Options. (line 54)
* mno-bit-align: RS/6000 and PowerPC Options.
- (line 386)
+ (line 455)
* mno-bitfield: M680x0 Options. (line 231)
* mno-branch-likely: MIPS Options. (line 642)
* mno-branch-predict: MMIX Options. (line 49)
* mno-bwx: DEC Alpha Options. (line 163)
* mno-callgraph-data: MCore Options. (line 31)
-* mno-cbcond: SPARC Options. (line 216)
+* mno-cbcond: SPARC Options. (line 224)
* mno-check-zero-division: MIPS Options. (line 441)
* mno-cix: DEC Alpha Options. (line 163)
* mno-clearbss: MicroBlaze Options. (line 16)
@@ -49765,22 +50742,26 @@ look up both forms.
* mno-const16: Xtensa Options. (line 10)
* mno-crt0 <1>: Moxie Options. (line 14)
* mno-crt0: MN10300 Options. (line 43)
+* mno-crypto: RS/6000 and PowerPC Options.
+ (line 222)
* mno-csync-anomaly: Blackfin Options. (line 66)
* mno-data-align: CRIS Options. (line 55)
* mno-debug: S/390 and zSeries Options.
(line 112)
+* mno-direct-move: RS/6000 and PowerPC Options.
+ (line 228)
* mno-disable-callt: V850 Options. (line 92)
* mno-div <1>: MCore Options. (line 15)
* mno-div: M680x0 Options. (line 209)
* mno-dlmzb: RS/6000 and PowerPC Options.
- (line 379)
+ (line 448)
* mno-double: FRV Options. (line 41)
* mno-dsp: MIPS Options. (line 267)
* mno-dspr2: MIPS Options. (line 273)
* mno-dwarf2-asm: IA-64 Options. (line 94)
* mno-dword: FRV Options. (line 35)
* mno-eabi: RS/6000 and PowerPC Options.
- (line 604)
+ (line 685)
* mno-early-stop-bits: IA-64 Options. (line 100)
* mno-eflags: FRV Options. (line 125)
* mno-embedded-data: MIPS Options. (line 388)
@@ -49791,28 +50772,28 @@ look up both forms.
* mno-exr: H8/300 Options. (line 33)
* mno-extern-sdata: MIPS Options. (line 350)
* mno-fancy-math-387: i386 and x86-64 Options.
- (line 309)
-* mno-faster-structs: SPARC Options. (line 84)
+ (line 315)
+* mno-faster-structs: SPARC Options. (line 92)
* mno-fix: DEC Alpha Options. (line 163)
* mno-fix-24k: MIPS Options. (line 500)
* mno-fix-r10000: MIPS Options. (line 527)
* mno-fix-r4000: MIPS Options. (line 506)
* mno-fix-r4400: MIPS Options. (line 520)
-* mno-flat: SPARC Options. (line 20)
+* mno-flat: SPARC Options. (line 22)
* mno-float: MIPS Options. (line 234)
* mno-float32: PDP-11 Options. (line 48)
* mno-float64: PDP-11 Options. (line 52)
* mno-flush-func: M32R/D Options. (line 98)
* mno-flush-trap: M32R/D Options. (line 90)
-* mno-fmaf: SPARC Options. (line 230)
+* mno-fmaf: SPARC Options. (line 238)
* mno-fp-in-toc: RS/6000 and PowerPC Options.
- (line 218)
+ (line 287)
* mno-fp-regs: DEC Alpha Options. (line 25)
* mno-fp-ret-in-387: i386 and x86-64 Options.
- (line 299)
+ (line 305)
* mno-fprnd: RS/6000 and PowerPC Options.
(line 27)
-* mno-fpu: SPARC Options. (line 38)
+* mno-fpu: SPARC Options. (line 40)
* mno-fsca: SH Options. (line 428)
* mno-fsrra: SH Options. (line 437)
* mno-fused-madd <1>: Xtensa Options. (line 19)
@@ -49820,7 +50801,7 @@ look up both forms.
* mno-fused-madd <3>: S/390 and zSeries Options.
(line 137)
* mno-fused-madd <4>: RS/6000 and PowerPC Options.
- (line 363)
+ (line 432)
* mno-fused-madd <5>: MIPS Options. (line 482)
* mno-fused-madd: IA-64 Options. (line 88)
* mno-gnu-as: IA-64 Options. (line 18)
@@ -49834,16 +50815,16 @@ look up both forms.
* mno-hardlit: MCore Options. (line 10)
* mno-id-shared-library: Blackfin Options. (line 88)
* mno-ieee-fp: i386 and x86-64 Options.
- (line 281)
+ (line 287)
* mno-inline-float-divide: IA-64 Options. (line 62)
* mno-inline-int-divide: IA-64 Options. (line 73)
* mno-inline-sqrt: IA-64 Options. (line 84)
* mno-int16: PDP-11 Options. (line 44)
* mno-int32: PDP-11 Options. (line 40)
* mno-interlink-mips16: MIPS Options. (line 118)
-* mno-interrupts: AVR Options. (line 169)
+* mno-interrupts: AVR Options. (line 165)
* mno-isel: RS/6000 and PowerPC Options.
- (line 161)
+ (line 193)
* mno-knuthdiv: MMIX Options. (line 33)
* mno-leaf-id-shared-library: Blackfin Options. (line 98)
* mno-libfuncs: MMIX Options. (line 10)
@@ -49853,10 +50834,10 @@ look up both forms.
* mno-long-calls <2>: MIPS Options. (line 468)
* mno-long-calls <3>: HPPA Options. (line 135)
* mno-long-calls <4>: Blackfin Options. (line 121)
-* mno-long-calls: ARM Options. (line 188)
+* mno-long-calls: ARM Options. (line 189)
* mno-long-jumps: V850 Options. (line 108)
* mno-longcall: RS/6000 and PowerPC Options.
- (line 676)
+ (line 757)
* mno-longcalls: Xtensa Options. (line 72)
* mno-low-64k: Blackfin Options. (line 74)
* mno-lsim <1>: MCore Options. (line 46)
@@ -49875,16 +50856,16 @@ look up both forms.
* mno-mips16: MIPS Options. (line 103)
* mno-mips3d: MIPS Options. (line 296)
* mno-mmx: i386 and x86-64 Options.
- (line 565)
+ (line 571)
* mno-mt: MIPS Options. (line 301)
* mno-mul-bug-workaround: CRIS Options. (line 31)
* mno-muladd: FRV Options. (line 53)
* mno-mulhw: RS/6000 and PowerPC Options.
- (line 372)
+ (line 441)
* mno-mult-bug: MN10300 Options. (line 13)
* mno-multi-cond-exec: FRV Options. (line 183)
* mno-multiple: RS/6000 and PowerPC Options.
- (line 322)
+ (line 391)
* mno-mvcle: S/390 and zSeries Options.
(line 105)
* mno-nested-cond-exec: FRV Options. (line 195)
@@ -49895,12 +50876,12 @@ look up both forms.
* mno-packed-stack: S/390 and zSeries Options.
(line 54)
* mno-paired: RS/6000 and PowerPC Options.
- (line 175)
+ (line 207)
* mno-paired-single: MIPS Options. (line 284)
* mno-pic: IA-64 Options. (line 26)
* mno-pid: RX Options. (line 117)
* mno-plt: MIPS Options. (line 182)
-* mno-popc: SPARC Options. (line 223)
+* mno-popc: SPARC Options. (line 231)
* mno-popcntb: RS/6000 and PowerPC Options.
(line 27)
* mno-popcntd: RS/6000 and PowerPC Options.
@@ -49909,6 +50890,10 @@ look up both forms.
(line 110)
* mno-postmodify: Adapteva Epiphany Options.
(line 110)
+* mno-power8-fusion: RS/6000 and PowerPC Options.
+ (line 234)
+* mno-power8-vector: RS/6000 and PowerPC Options.
+ (line 240)
* mno-powerpc-gfxopt: RS/6000 and PowerPC Options.
(line 27)
* mno-powerpc-gpopt: RS/6000 and PowerPC Options.
@@ -49918,20 +50903,24 @@ look up both forms.
* mno-prolog-function: V850 Options. (line 23)
* mno-prologue-epilogue: CRIS Options. (line 71)
* mno-prototype: RS/6000 and PowerPC Options.
- (line 564)
+ (line 645)
* mno-push-args: i386 and x86-64 Options.
- (line 731)
+ (line 737)
+* mno-quad-memory: RS/6000 and PowerPC Options.
+ (line 247)
+* mno-quad-memory-atomic: RS/6000 and PowerPC Options.
+ (line 253)
* mno-red-zone: i386 and x86-64 Options.
- (line 848)
+ (line 854)
* mno-register-names: IA-64 Options. (line 37)
* mno-regnames: RS/6000 and PowerPC Options.
- (line 670)
+ (line 751)
* mno-relax: V850 Options. (line 103)
* mno-relax-immediate: MCore Options. (line 19)
* mno-relocatable: RS/6000 and PowerPC Options.
- (line 402)
+ (line 471)
* mno-relocatable-lib: RS/6000 and PowerPC Options.
- (line 413)
+ (line 482)
* mno-round-nearest: Adapteva Epiphany Options.
(line 51)
* mno-rtd: M680x0 Options. (line 262)
@@ -49947,7 +50936,7 @@ look up both forms.
* mno-sched-prefer-non-data-spec-insns: IA-64 Options. (line 168)
* mno-sched-prolog: ARM Options. (line 33)
* mno-sdata <1>: RS/6000 and PowerPC Options.
- (line 651)
+ (line 732)
* mno-sdata: IA-64 Options. (line 42)
* mno-sep-data: Blackfin Options. (line 116)
* mno-serialize-volatile: Xtensa Options. (line 35)
@@ -49964,53 +50953,54 @@ look up both forms.
* mno-soft-float: DEC Alpha Options. (line 10)
* mno-space-regs: HPPA Options. (line 44)
* mno-spe: RS/6000 and PowerPC Options.
- (line 170)
+ (line 202)
* mno-specld-anomaly: Blackfin Options. (line 56)
* mno-split-addresses: MIPS Options. (line 426)
* mno-sse: i386 and x86-64 Options.
- (line 565)
+ (line 571)
* mno-stack-align: CRIS Options. (line 55)
-* mno-stack-bias: SPARC Options. (line 302)
+* mno-stack-bias: SPARC Options. (line 314)
* mno-strict-align <1>: RS/6000 and PowerPC Options.
- (line 397)
+ (line 466)
* mno-strict-align: M680x0 Options. (line 287)
* mno-string: RS/6000 and PowerPC Options.
- (line 333)
+ (line 402)
* mno-sum-in-toc: RS/6000 and PowerPC Options.
- (line 218)
+ (line 287)
* mno-sym32: MIPS Options. (line 323)
* mno-target-align: Xtensa Options. (line 59)
* mno-text-section-literals: Xtensa Options. (line 47)
* mno-tls-markers: RS/6000 and PowerPC Options.
- (line 709)
+ (line 790)
* mno-toc: RS/6000 and PowerPC Options.
- (line 422)
+ (line 491)
* mno-toplevel-symbols: MMIX Options. (line 40)
* mno-tpf-trace: S/390 and zSeries Options.
(line 131)
-* mno-unaligned-access: ARM Options. (line 309)
-* mno-unaligned-doubles: SPARC Options. (line 72)
+* mno-unaligned-access: ARM Options. (line 313)
+* mno-unaligned-doubles: SPARC Options. (line 74)
* mno-uninit-const-in-rodata: MIPS Options. (line 396)
* mno-update: RS/6000 and PowerPC Options.
- (line 344)
-* mno-v8plus: SPARC Options. (line 187)
+ (line 413)
+* mno-user-mode: SPARC Options. (line 86)
+* mno-v8plus: SPARC Options. (line 195)
* mno-vect-double: Adapteva Epiphany Options.
(line 116)
-* mno-vis: SPARC Options. (line 194)
-* mno-vis2: SPARC Options. (line 200)
-* mno-vis3: SPARC Options. (line 208)
+* mno-vis: SPARC Options. (line 202)
+* mno-vis2: SPARC Options. (line 208)
+* mno-vis3: SPARC Options. (line 216)
* mno-vliw-branch: FRV Options. (line 170)
* mno-volatile-asm-stop: IA-64 Options. (line 32)
* mno-vrsave: RS/6000 and PowerPC Options.
- (line 140)
+ (line 172)
* mno-vsx: RS/6000 and PowerPC Options.
- (line 184)
+ (line 216)
* mno-warn-multiple-fast-interrupts: RX Options. (line 143)
* mno-wide-bitfields: MCore Options. (line 23)
* mno-xgot <1>: MIPS Options. (line 192)
* mno-xgot: M680x0 Options. (line 319)
* mno-xl-compat: RS/6000 and PowerPC Options.
- (line 253)
+ (line 322)
* mno-zdcbranch: SH Options. (line 403)
* mno-zero-extend: MMIX Options. (line 27)
* mnobitfield: M680x0 Options. (line 231)
@@ -50025,7 +51015,7 @@ look up both forms.
* mnosplit-lohi: Adapteva Epiphany Options.
(line 110)
* momit-leaf-frame-pointer <1>: i386 and x86-64 Options.
- (line 788)
+ (line 794)
* momit-leaf-frame-pointer <2>: Blackfin Options. (line 44)
* momit-leaf-frame-pointer: AArch64 Options. (line 43)
* mone-byte-bool: Darwin Options. (line 90)
@@ -50040,32 +51030,36 @@ look up both forms.
(line 54)
* mpadstruct: SH Options. (line 140)
* mpaired: RS/6000 and PowerPC Options.
- (line 175)
+ (line 207)
* mpaired-single: MIPS Options. (line 284)
* mpc32: i386 and x86-64 Options.
- (line 435)
+ (line 441)
* mpc64: i386 and x86-64 Options.
- (line 435)
+ (line 441)
* mpc80: i386 and x86-64 Options.
- (line 435)
+ (line 441)
* mpcrel: M680x0 Options. (line 279)
* mpdebug: CRIS Options. (line 35)
* mpe: RS/6000 and PowerPC Options.
- (line 273)
+ (line 342)
* mpe-aligned-commons: i386 and x86-64 Windows Options.
(line 59)
-* mpic-register: ARM Options. (line 218)
+* mpic-register: ARM Options. (line 219)
* mpid: RX Options. (line 117)
* mplt: MIPS Options. (line 182)
* mpointers-to-nested-functions: RS/6000 and PowerPC Options.
- (line 793)
-* mpoke-function-name: ARM Options. (line 222)
-* mpopc: SPARC Options. (line 223)
+ (line 874)
+* mpoke-function-name: ARM Options. (line 226)
+* mpopc: SPARC Options. (line 231)
* mpopcntb: RS/6000 and PowerPC Options.
(line 27)
* mpopcntd: RS/6000 and PowerPC Options.
(line 27)
* mportable-runtime: HPPA Options. (line 70)
+* mpower8-fusion: RS/6000 and PowerPC Options.
+ (line 234)
+* mpower8-vector: RS/6000 and PowerPC Options.
+ (line 240)
* mpowerpc-gfxopt: RS/6000 and PowerPC Options.
(line 27)
* mpowerpc-gpopt: RS/6000 and PowerPC Options.
@@ -50073,52 +51067,56 @@ look up both forms.
* mpowerpc64: RS/6000 and PowerPC Options.
(line 27)
* mprefer-avx128: i386 and x86-64 Options.
- (line 608)
+ (line 614)
* mprefer-short-insn-regs: Adapteva Epiphany Options.
(line 13)
* mprefergot: SH Options. (line 225)
* mpreferred-stack-boundary: i386 and x86-64 Options.
- (line 465)
+ (line 471)
* mpretend-cmove: SH Options. (line 446)
* mprioritize-restricted-insns: RS/6000 and PowerPC Options.
- (line 451)
+ (line 520)
* mprolog-function: V850 Options. (line 23)
* mprologue-epilogue: CRIS Options. (line 71)
* mprototype: RS/6000 and PowerPC Options.
- (line 564)
+ (line 645)
* mpt-fixed: SH Options. (line 364)
* mpush-args: i386 and x86-64 Options.
- (line 731)
+ (line 737)
* MQ: Preprocessor Options.
(line 265)
+* mquad-memory: RS/6000 and PowerPC Options.
+ (line 247)
+* mquad-memory-atomic: RS/6000 and PowerPC Options.
+ (line 253)
* mr10k-cache-barrier: MIPS Options. (line 564)
* mrecip <1>: RS/6000 and PowerPC Options.
- (line 721)
+ (line 802)
* mrecip: i386 and x86-64 Options.
- (line 641)
+ (line 647)
* mrecip-precision: RS/6000 and PowerPC Options.
- (line 757)
+ (line 838)
* mrecip=opt <1>: RS/6000 and PowerPC Options.
- (line 734)
+ (line 815)
* mrecip=opt: i386 and x86-64 Options.
- (line 663)
+ (line 669)
* mregister-names: IA-64 Options. (line 37)
* mregnames: RS/6000 and PowerPC Options.
- (line 670)
+ (line 751)
* mregparm: i386 and x86-64 Options.
- (line 402)
+ (line 408)
* mrelax <1>: V850 Options. (line 103)
* mrelax <2>: SH Options. (line 85)
* mrelax <3>: RX Options. (line 95)
* mrelax <4>: MN10300 Options. (line 46)
* mrelax <5>: H8/300 Options. (line 9)
-* mrelax: AVR Options. (line 173)
+* mrelax: AVR Options. (line 169)
* mrelax-immediate: MCore Options. (line 19)
* mrelax-pic-calls: MIPS Options. (line 689)
* mrelocatable: RS/6000 and PowerPC Options.
- (line 402)
+ (line 471)
* mrelocatable-lib: RS/6000 and PowerPC Options.
- (line 413)
+ (line 482)
* mrepeat: MeP Options. (line 96)
* mreturn-pointer-on-d0: MN10300 Options. (line 36)
* mrh850-abi: V850 Options. (line 127)
@@ -50126,7 +51124,7 @@ look up both forms.
(line 177)
* mrtd <2>: M680x0 Options. (line 240)
* mrtd: i386 and x86-64 Options.
- (line 378)
+ (line 384)
* mrtp: VxWorks Options. (line 11)
* ms <1>: MeP Options. (line 100)
* ms: H8/300 Options. (line 17)
@@ -50134,11 +51132,11 @@ look up both forms.
* msafe-dma: SPU Options. (line 17)
* msafe-hints: SPU Options. (line 107)
* msahf: i386 and x86-64 Options.
- (line 621)
+ (line 627)
* msatur: MeP Options. (line 105)
* msave-acc-in-interrupts: RX Options. (line 109)
* msave-toc-indirect: RS/6000 and PowerPC Options.
- (line 805)
+ (line 886)
* mscc: FRV Options. (line 140)
* msched-ar-data-spec: IA-64 Options. (line 134)
* msched-ar-in-data-spec: IA-64 Options. (line 155)
@@ -50146,7 +51144,7 @@ look up both forms.
* msched-br-in-data-spec: IA-64 Options. (line 148)
* msched-control-spec: IA-64 Options. (line 140)
* msched-costly-dep: RS/6000 and PowerPC Options.
- (line 458)
+ (line 527)
* msched-count-spec-in-critical-path: IA-64 Options. (line 182)
* msched-fp-mem-deps-zero-cost: IA-64 Options. (line 198)
* msched-in-control-spec: IA-64 Options. (line 162)
@@ -50163,28 +51161,28 @@ look up both forms.
* mscore7d: Score Options. (line 34)
* msda: V850 Options. (line 40)
* msdata <1>: RS/6000 and PowerPC Options.
- (line 638)
+ (line 719)
* msdata: IA-64 Options. (line 42)
* msdata=all: C6X Options. (line 30)
* msdata=data: RS/6000 and PowerPC Options.
- (line 643)
+ (line 724)
* msdata=default <1>: RS/6000 and PowerPC Options.
- (line 638)
+ (line 719)
* msdata=default: C6X Options. (line 22)
* msdata=eabi: RS/6000 and PowerPC Options.
- (line 618)
+ (line 699)
* msdata=none <1>: RS/6000 and PowerPC Options.
- (line 651)
+ (line 732)
* msdata=none <2>: M32R/D Options. (line 40)
* msdata=none: C6X Options. (line 35)
* msdata=sdata: M32R/D Options. (line 49)
* msdata=sysv: RS/6000 and PowerPC Options.
- (line 629)
+ (line 710)
* msdata=use: M32R/D Options. (line 53)
* msdram <1>: MeP Options. (line 110)
* msdram: Blackfin Options. (line 172)
* msecure-plt: RS/6000 and PowerPC Options.
- (line 150)
+ (line 182)
* msel-sched-dont-check-control-spec: IA-64 Options. (line 203)
* msep-data: Blackfin Options. (line 110)
* mserialize-volatile: Xtensa Options. (line 35)
@@ -50195,7 +51193,7 @@ look up both forms.
* msim <1>: Xstormy16 Options. (line 9)
* msim <2>: RX Options. (line 71)
* msim <3>: RS/6000 and PowerPC Options.
- (line 574)
+ (line 655)
* msim <4>: RL78 Options. (line 7)
* msim <5>: MeP Options. (line 114)
* msim <6>: M32C Options. (line 13)
@@ -50204,14 +51202,14 @@ look up both forms.
* msim: Blackfin Options. (line 37)
* msimnovec: MeP Options. (line 117)
* msimple-fpu: RS/6000 and PowerPC Options.
- (line 306)
+ (line 375)
* msingle-exit: MMIX Options. (line 66)
* msingle-float <1>: RS/6000 and PowerPC Options.
- (line 302)
+ (line 371)
* msingle-float: MIPS Options. (line 244)
* msingle-pic-base <1>: RS/6000 and PowerPC Options.
- (line 445)
-* msingle-pic-base: ARM Options. (line 212)
+ (line 514)
+* msingle-pic-base: ARM Options. (line 213)
* msio: HPPA Options. (line 104)
* mslow-bytes: MCore Options. (line 35)
* msmall-data: DEC Alpha Options. (line 187)
@@ -50226,38 +51224,38 @@ look up both forms.
(line 67)
* msmartmips: MIPS Options. (line 280)
* msoft-float <1>: V850 Options. (line 113)
-* msoft-float <2>: SPARC Options. (line 38)
+* msoft-float <2>: SPARC Options. (line 40)
* msoft-float <3>: S/390 and zSeries Options.
(line 11)
* msoft-float <4>: RS/6000 and PowerPC Options.
- (line 296)
+ (line 365)
* msoft-float <5>: PDP-11 Options. (line 13)
* msoft-float <6>: MIPS Options. (line 230)
* msoft-float <7>: MicroBlaze Options. (line 7)
* msoft-float <8>: M680x0 Options. (line 203)
* msoft-float <9>: i386 and x86-64 Options.
- (line 286)
+ (line 292)
* msoft-float <10>: HPPA Options. (line 90)
* msoft-float <11>: FRV Options. (line 22)
* msoft-float: DEC Alpha Options. (line 10)
-* msoft-quad-float: SPARC Options. (line 58)
-* msp8: AVR Options. (line 187)
+* msoft-quad-float: SPARC Options. (line 60)
+* msp8: AVR Options. (line 183)
* mspace <1>: V850 Options. (line 30)
* mspace: SH Options. (line 222)
* mspe: RS/6000 and PowerPC Options.
- (line 170)
+ (line 202)
* mspecld-anomaly: Blackfin Options. (line 51)
* msplit-addresses: MIPS Options. (line 426)
* msplit-vecmove-early: Adapteva Epiphany Options.
(line 127)
* msse: i386 and x86-64 Options.
- (line 565)
+ (line 571)
* msse2avx: i386 and x86-64 Options.
- (line 806)
+ (line 812)
* msseregparm: i386 and x86-64 Options.
- (line 413)
+ (line 419)
* mstack-align: CRIS Options. (line 55)
-* mstack-bias: SPARC Options. (line 302)
+* mstack-bias: SPARC Options. (line 314)
* mstack-check-l1: Blackfin Options. (line 77)
* mstack-guard: S/390 and zSeries Options.
(line 156)
@@ -50267,20 +51265,20 @@ look up both forms.
* mstack-size: S/390 and zSeries Options.
(line 156)
* mstackrealign: i386 and x86-64 Options.
- (line 456)
+ (line 462)
* mstdmain: SPU Options. (line 40)
* mstrict-align <1>: RS/6000 and PowerPC Options.
- (line 397)
+ (line 466)
* mstrict-align <2>: M680x0 Options. (line 287)
* mstrict-align: AArch64 Options. (line 38)
-* mstrict-X: AVR Options. (line 200)
+* mstrict-X: AVR Options. (line 196)
* mstring: RS/6000 and PowerPC Options.
- (line 333)
+ (line 402)
* mstringop-strategy=ALG: i386 and x86-64 Options.
- (line 770)
-* mstructure-size-boundary: ARM Options. (line 169)
+ (line 776)
+* mstructure-size-boundary: ARM Options. (line 170)
* msvr4-struct-return: RS/6000 and PowerPC Options.
- (line 538)
+ (line 607)
* msym32: MIPS Options. (line 323)
* msynci: MIPS Options. (line 674)
* MT: Preprocessor Options.
@@ -50293,47 +51291,47 @@ look up both forms.
* mthread: i386 and x86-64 Windows Options.
(line 26)
* mthreads: i386 and x86-64 Options.
- (line 746)
-* mthumb: ARM Options. (line 244)
+ (line 752)
+* mthumb: ARM Options. (line 248)
* mthumb-interwork: ARM Options. (line 25)
-* mtiny-stack: AVR Options. (line 214)
+* mtiny-stack: AVR Options. (line 210)
* mtiny=: MeP Options. (line 125)
* mtls: FRV Options. (line 75)
* mTLS: FRV Options. (line 72)
* mtls-dialect <1>: i386 and x86-64 Options.
- (line 724)
-* mtls-dialect: ARM Options. (line 285)
+ (line 730)
+* mtls-dialect: ARM Options. (line 289)
* mtls-dialect=desc: AArch64 Options. (line 47)
* mtls-dialect=traditional: AArch64 Options. (line 51)
* mtls-direct-seg-refs: i386 and x86-64 Options.
- (line 796)
+ (line 802)
* mtls-markers: RS/6000 and PowerPC Options.
- (line 709)
+ (line 790)
* mtls-size: IA-64 Options. (line 112)
* mtoc: RS/6000 and PowerPC Options.
- (line 422)
+ (line 491)
* mtomcat-stats: FRV Options. (line 209)
* mtoplevel-symbols: MMIX Options. (line 40)
-* mtp: ARM Options. (line 277)
-* mtpcs-frame: ARM Options. (line 250)
-* mtpcs-leaf-frame: ARM Options. (line 256)
+* mtp: ARM Options. (line 281)
+* mtpcs-frame: ARM Options. (line 254)
+* mtpcs-leaf-frame: ARM Options. (line 260)
* mtpf-trace: S/390 and zSeries Options.
(line 131)
* mtrap-precision: DEC Alpha Options. (line 109)
-* mtune <1>: SPARC Options. (line 173)
+* mtune <1>: SPARC Options. (line 181)
* mtune <2>: S/390 and zSeries Options.
(line 124)
* mtune <3>: RS/6000 and PowerPC Options.
- (line 110)
+ (line 112)
* mtune <4>: MN10300 Options. (line 30)
* mtune <5>: MIPS Options. (line 63)
* mtune <6>: M680x0 Options. (line 70)
* mtune <7>: IA-64 Options. (line 116)
* mtune <8>: i386 and x86-64 Options.
- (line 189)
+ (line 195)
* mtune <9>: DEC Alpha Options. (line 259)
* mtune <10>: CRIS Options. (line 16)
-* mtune <11>: ARM Options. (line 105)
+* mtune <11>: ARM Options. (line 90)
* mtune: AArch64 Options. (line 82)
* muclibc: GNU/Linux Options. (line 13)
* muls: Score Options. (line 18)
@@ -50343,8 +51341,8 @@ look up both forms.
* multiply-enabled: LM32 Options. (line 15)
* multiply_defined: Darwin Options. (line 196)
* multiply_defined_unused: Darwin Options. (line 196)
-* munaligned-access: ARM Options. (line 309)
-* munaligned-doubles: SPARC Options. (line 72)
+* munaligned-access: ARM Options. (line 313)
+* munaligned-doubles: SPARC Options. (line 74)
* municode: i386 and x86-64 Windows Options.
(line 30)
* muninit-const-in-rodata: MIPS Options. (line 396)
@@ -50352,8 +51350,9 @@ look up both forms.
* munix-asm: PDP-11 Options. (line 68)
* munsafe-dma: SPU Options. (line 17)
* mupdate: RS/6000 and PowerPC Options.
- (line 344)
+ (line 413)
* muser-enabled: LM32 Options. (line 21)
+* muser-mode: SPARC Options. (line 86)
* musermode: SH Options. (line 230)
* mv850: V850 Options. (line 49)
* mv850e: V850 Options. (line 79)
@@ -50363,30 +51362,30 @@ look up both forms.
* mv850e2v4: V850 Options. (line 57)
* mv850e3v5: V850 Options. (line 52)
* mv850es: V850 Options. (line 75)
-* mv8plus: SPARC Options. (line 187)
+* mv8plus: SPARC Options. (line 195)
* mveclibabi <1>: RS/6000 and PowerPC Options.
- (line 766)
+ (line 847)
* mveclibabi: i386 and x86-64 Options.
- (line 692)
+ (line 698)
* mvect8-ret-in-mem: i386 and x86-64 Options.
- (line 423)
-* mvis: SPARC Options. (line 194)
-* mvis2: SPARC Options. (line 200)
-* mvis3: SPARC Options. (line 208)
+ (line 429)
+* mvis: SPARC Options. (line 202)
+* mvis2: SPARC Options. (line 208)
+* mvis3: SPARC Options. (line 216)
* mvliw-branch: FRV Options. (line 164)
* mvms-return-codes: VMS Options. (line 9)
* mvolatile-asm-stop: IA-64 Options. (line 32)
* mvr4130-align: MIPS Options. (line 663)
* mvrsave: RS/6000 and PowerPC Options.
- (line 140)
+ (line 172)
* mvsx: RS/6000 and PowerPC Options.
- (line 184)
+ (line 216)
* mvxworks: RS/6000 and PowerPC Options.
- (line 595)
+ (line 676)
* mvzeroupper: i386 and x86-64 Options.
- (line 602)
+ (line 608)
* mwarn-cell-microcode: RS/6000 and PowerPC Options.
- (line 146)
+ (line 178)
* mwarn-dynamicstack: S/390 and zSeries Options.
(line 150)
* mwarn-framesize: S/390 and zSeries Options.
@@ -50398,17 +51397,17 @@ look up both forms.
(line 35)
* mwindows: i386 and x86-64 Windows Options.
(line 41)
-* mword-relocations: ARM Options. (line 296)
+* mword-relocations: ARM Options. (line 300)
* mwords-little-endian: ARM Options. (line 66)
* mx32: i386 and x86-64 Options.
- (line 835)
+ (line 841)
* mxgot <1>: MIPS Options. (line 192)
* mxgot: M680x0 Options. (line 319)
* mxilinx-fpu: RS/6000 and PowerPC Options.
- (line 317)
+ (line 386)
* mxl-barrel-shift: MicroBlaze Options. (line 33)
* mxl-compat: RS/6000 and PowerPC Options.
- (line 253)
+ (line 322)
* mxl-float-convert: MicroBlaze Options. (line 51)
* mxl-float-sqrt: MicroBlaze Options. (line 54)
* mxl-gp-opt: MicroBlaze Options. (line 45)
@@ -50419,7 +51418,7 @@ look up both forms.
* mxl-soft-mul: MicroBlaze Options. (line 27)
* mxl-stack-check: MicroBlaze Options. (line 42)
* myellowknife: RS/6000 and PowerPC Options.
- (line 590)
+ (line 671)
* mzarch: S/390 and zSeries Options.
(line 95)
* mzda: V850 Options. (line 45)
@@ -50500,7 +51499,7 @@ look up both forms.
* private_bundle: Darwin Options. (line 196)
* pthread <1>: Solaris 2 Options. (line 31)
* pthread: RS/6000 and PowerPC Options.
- (line 716)
+ (line 797)
* pthreads: Solaris 2 Options. (line 25)
* Q: Debugging Options. (line 340)
* Qn: System V Options. (line 18)
@@ -50587,7 +51586,7 @@ look up both forms.
* Wa: Assembler Options. (line 9)
* Wabi: C++ Dialect Options.
(line 362)
-* Waddr-space-convert: AVR Options. (line 217)
+* Waddr-space-convert: AVR Options. (line 213)
* Waddress: Warning Options. (line 1177)
* Waggregate-return: Warning Options. (line 1195)
* Waggressive-loop-optimizations: Warning Options. (line 1200)
@@ -50992,7 +51991,7 @@ Keyword Index
* #pragma implementation, implied: C++ Interface. (line 46)
* #pragma interface: C++ Interface. (line 20)
* #pragma, reason for not using: Function Attributes.
- (line 1870)
+ (line 1878)
* $: Dollar Signs. (line 6)
* % in constraint: Modifiers. (line 45)
* %include: Spec Files. (line 27)
@@ -51010,7 +52009,7 @@ Keyword Index
* -nodefaultlibs and unresolved references: Link Options. (line 85)
* -nostdlib and unresolved references: Link Options. (line 85)
* .sdata/.sdata2 references (PowerPC): RS/6000 and PowerPC Options.
- (line 662)
+ (line 743)
* //: C++ Comments. (line 6)
* 0 in constraint: Simple Constraints. (line 127)
* < in constraint: Simple Constraints. (line 48)
@@ -51021,9 +52020,9 @@ Keyword Index
* ?: side effect: Conditionals. (line 20)
* _ in variables in macros: Typeof. (line 46)
* __atomic_add_fetch: __atomic Builtins. (line 169)
-* __atomic_always_lock_free: __atomic Builtins. (line 242)
+* __atomic_always_lock_free: __atomic Builtins. (line 247)
* __atomic_and_fetch: __atomic Builtins. (line 173)
-* __atomic_clear: __atomic Builtins. (line 219)
+* __atomic_clear: __atomic Builtins. (line 221)
* __atomic_compare_exchange: __atomic Builtins. (line 161)
* __atomic_compare_exchange_n: __atomic Builtins. (line 138)
* __atomic_exchange: __atomic Builtins. (line 130)
@@ -51034,17 +52033,17 @@ Keyword Index
* __atomic_fetch_or: __atomic Builtins. (line 197)
* __atomic_fetch_sub: __atomic Builtins. (line 191)
* __atomic_fetch_xor: __atomic Builtins. (line 195)
-* __atomic_is_lock_free: __atomic Builtins. (line 256)
+* __atomic_is_lock_free: __atomic Builtins. (line 261)
* __atomic_load: __atomic Builtins. (line 98)
* __atomic_load_n: __atomic Builtins. (line 89)
* __atomic_nand_fetch: __atomic Builtins. (line 179)
* __atomic_or_fetch: __atomic Builtins. (line 177)
-* __atomic_signal_fence: __atomic Builtins. (line 234)
+* __atomic_signal_fence: __atomic Builtins. (line 239)
* __atomic_store: __atomic Builtins. (line 113)
* __atomic_store_n: __atomic Builtins. (line 104)
* __atomic_sub_fetch: __atomic Builtins. (line 171)
* __atomic_test_and_set: __atomic Builtins. (line 210)
-* __atomic_thread_fence: __atomic Builtins. (line 227)
+* __atomic_thread_fence: __atomic Builtins. (line 232)
* __atomic_xor_fetch: __atomic Builtins. (line 175)
* __builtin___clear_cache: Other Builtins. (line 372)
* __builtin___fprintf_chk: Object Size Checking.
@@ -51146,6 +52145,8 @@ Keyword Index
* __builtin_nans: Other Builtins. (line 509)
* __builtin_nansf: Other Builtins. (line 513)
* __builtin_nansl: Other Builtins. (line 516)
+* __builtin_non_tx_store: S/390 System z Built-in Functions.
+ (line 104)
* __builtin_object_size: Object Size Checking.
(line 6)
* __builtin_offsetof: Offsetof. (line 6)
@@ -51205,9 +52206,27 @@ Keyword Index
(line 96)
* __builtin_set_thread_pointer: SH Built-in Functions.
(line 10)
+* __builtin_tabort: S/390 System z Built-in Functions.
+ (line 87)
+* __builtin_tbegin: S/390 System z Built-in Functions.
+ (line 7)
+* __builtin_tbegin_nofloat: S/390 System z Built-in Functions.
+ (line 59)
+* __builtin_tbegin_retry: S/390 System z Built-in Functions.
+ (line 65)
+* __builtin_tbegin_retry_nofloat: S/390 System z Built-in Functions.
+ (line 72)
+* __builtin_tbeginc: S/390 System z Built-in Functions.
+ (line 78)
+* __builtin_tend: S/390 System z Built-in Functions.
+ (line 82)
* __builtin_thread_pointer: SH Built-in Functions.
(line 20)
* __builtin_trap: Other Builtins. (line 281)
+* __builtin_tx_assist: S/390 System z Built-in Functions.
+ (line 92)
+* __builtin_tx_nesting_depth: S/390 System z Built-in Functions.
+ (line 98)
* __builtin_types_compatible_p: Other Builtins. (line 111)
* __builtin_unreachable: Other Builtins. (line 288)
* __builtin_va_arg_pack: Constructing Calls. (line 53)
@@ -51274,6 +52293,8 @@ Keyword Index
* _exit: Other Builtins. (line 6)
* _Exit: Other Builtins. (line 6)
* _Fract data type: Fixed-Point. (line 6)
+* _HTM_FIRST_USER_ABORT_CODE: S/390 System z Built-in Functions.
+ (line 48)
* _Sat data type: Fixed-Point. (line 6)
* _xabort: X86 transactional memory intrinsics.
(line 68)
@@ -51314,7 +52335,7 @@ Keyword Index
* alloca: Other Builtins. (line 6)
* alloca vs variable-length arrays: Variable Length. (line 26)
* Allow nesting in an interrupt handler on the Blackfin processor.: Function Attributes.
- (line 935)
+ (line 943)
* alternate keywords: Alternate Keywords. (line 6)
* always_inline function attribute: Function Attributes.
(line 91)
@@ -51479,9 +52500,9 @@ Keyword Index
* code generation conventions: Code Gen Options. (line 6)
* code, mixed with declarations: Mixed Declarations. (line 6)
* cold function attribute: Function Attributes.
- (line 1158)
+ (line 1166)
* cold label attribute: Function Attributes.
- (line 1176)
+ (line 1184)
* command options: Invoking GCC. (line 6)
* comments, C++ style: C++ Comments. (line 6)
* common attribute: Variable Attributes.
@@ -51614,7 +52635,7 @@ Keyword Index
* earlyclobber operand: Modifiers. (line 25)
* eight-bit data on the H8/300, H8/300H, and H8S: Function Attributes.
(line 346)
-* EIND: AVR Options. (line 224)
+* EIND: AVR Options. (line 220)
* empty structures: Empty Structures. (line 6)
* environment variables: Environment Variables.
(line 6)
@@ -51692,7 +52713,7 @@ Keyword Index
* fmodf: Other Builtins. (line 6)
* fmodl: Other Builtins. (line 6)
* force_align_arg_pointer attribute: Function Attributes.
- (line 1218)
+ (line 1226)
* format function attribute: Function Attributes.
(line 419)
* format_arg function attribute: Function Attributes.
@@ -51724,7 +52745,7 @@ Keyword Index
* function versions: Function Multiversioning.
(line 6)
* function without a prologue/epilogue code: Function Attributes.
- (line 912)
+ (line 920)
* function, size of pointer to: Pointer Arith. (line 6)
* functions called via pointer on the RS/6000 and PowerPC: Function Attributes.
(line 808)
@@ -51737,7 +52758,7 @@ Keyword Index
* functions that behave like malloc: Function Attributes.
(line 6)
* functions that do not handle memory bank switching on 68HC11/68HC12: Function Attributes.
- (line 925)
+ (line 933)
* functions that do not pop the argument stack on the 386: Function Attributes.
(line 6)
* functions that do pop the argument stack on the 386: Function Attributes.
@@ -51804,9 +52825,11 @@ Keyword Index
* hosted environment: Standards. (line 13)
* hosted implementation: Standards. (line 13)
* hot function attribute: Function Attributes.
- (line 1136)
+ (line 1144)
* hot label attribute: Function Attributes.
- (line 1148)
+ (line 1156)
+* hotpatch attribute: Function Attributes.
+ (line 912)
* HPPA Options: HPPA Options. (line 6)
* HR fixed-suffix: Fixed-Point. (line 6)
* hr fixed-suffix: Fixed-Point. (line 6)
@@ -51859,7 +52882,7 @@ Keyword Index
* interrupt handler functions: Function Attributes.
(line 141)
* interrupt handler functions on the AVR processors: Function Attributes.
- (line 1313)
+ (line 1321)
* interrupt handler functions on the Blackfin, m68k, H8/300 and SH processors: Function Attributes.
(line 735)
* interrupt service routines on ARM: Function Attributes.
@@ -52097,31 +53120,31 @@ Keyword Index
* NFC: Warning Options. (line 1284)
* NFKC: Warning Options. (line 1284)
* NMI handler functions on the Blackfin processor: Function Attributes.
- (line 940)
+ (line 948)
* no_instrument_function function attribute: Function Attributes.
- (line 946)
+ (line 954)
* no_sanitize_address function attribute: Function Attributes.
- (line 1186)
+ (line 1194)
* no_split_stack function attribute: Function Attributes.
- (line 951)
+ (line 959)
* noclone function attribute: Function Attributes.
- (line 968)
+ (line 976)
* nocommon attribute: Variable Attributes.
(line 105)
* noinline function attribute: Function Attributes.
- (line 957)
+ (line 965)
* nomips16 attribute: Function Attributes.
(line 839)
* non-constant initializers: Initializers. (line 6)
* non-static inline function: Inline. (line 85)
* nonnull function attribute: Function Attributes.
- (line 974)
+ (line 982)
* noreturn function attribute: Function Attributes.
- (line 998)
+ (line 1006)
* nosave_low_regs attribute: Function Attributes.
- (line 1048)
+ (line 1056)
* nothrow function attribute: Function Attributes.
- (line 1040)
+ (line 1048)
* o in constraint: Simple Constraints. (line 23)
* OBJC_INCLUDE_PATH: Environment Variables.
(line 132)
@@ -52139,7 +53162,7 @@ Keyword Index
* OpenMP parallel: C Dialect Options. (line 256)
* operand constraints, asm: Constraints. (line 6)
* optimize function attribute: Function Attributes.
- (line 1054)
+ (line 1062)
* optimize options: Optimize Options. (line 6)
* options to control diagnostics formatting: Language Independent Options.
(line 6)
@@ -52162,9 +53185,9 @@ Keyword Index
* order of evaluation, side effects: Non-bugs. (line 196)
* order of options: Invoking GCC. (line 30)
* OS_main AVR function attribute: Function Attributes.
- (line 1071)
+ (line 1079)
* OS_task AVR function attribute: Function Attributes.
- (line 1071)
+ (line 1079)
* other register constraints: Simple Constraints. (line 163)
* output file option: Overall Options. (line 191)
* overloaded virtual function, warning: C++ Dialect Options.
@@ -52175,7 +53198,7 @@ Keyword Index
* parameter forward declaration: Variable Length. (line 59)
* Pascal: G++ and GCC. (line 23)
* pcs function attribute: Function Attributes.
- (line 1096)
+ (line 1104)
* PDP-11 Options: PDP-11 Options. (line 6)
* PIC: Code Gen Options. (line 267)
* picoChip options: picoChip Options. (line 6)
@@ -52227,7 +53250,7 @@ Keyword Index
* pragma, push_macro: Push/Pop Macro Pragmas.
(line 11)
* pragma, reason for not using: Function Attributes.
- (line 1870)
+ (line 1878)
* pragma, redefine_extname: Symbol-Renaming Pragmas.
(line 12)
* pragma, segment: Darwin Pragmas. (line 21)
@@ -52252,7 +53275,7 @@ Keyword Index
* promotion of formal parameters: Function Prototypes.
(line 6)
* pure function attribute: Function Attributes.
- (line 1114)
+ (line 1122)
* push address instruction: Simple Constraints. (line 154)
* putchar: Other Builtins. (line 6)
* puts: Other Builtins. (line 6)
@@ -52263,10 +53286,10 @@ Keyword Index
* R fixed-suffix: Fixed-Point. (line 6)
* r fixed-suffix: Fixed-Point. (line 6)
* r in constraint: Simple Constraints. (line 66)
-* RAMPD: AVR Options. (line 340)
-* RAMPX: AVR Options. (line 340)
-* RAMPY: AVR Options. (line 340)
-* RAMPZ: AVR Options. (line 340)
+* RAMPD: AVR Options. (line 336)
+* RAMPX: AVR Options. (line 336)
+* RAMPY: AVR Options. (line 336)
+* RAMPZ: AVR Options. (line 336)
* ranges in case statements: Case Ranges. (line 6)
* read-only strings: Incompatibilities. (line 9)
* register variable after longjmp: Global Reg Vars. (line 65)
@@ -52276,7 +53299,7 @@ Keyword Index
* registers, global allocation: Explicit Reg Vars. (line 6)
* registers, global variables in: Global Reg Vars. (line 6)
* regparm attribute: Function Attributes.
- (line 1194)
+ (line 1202)
* relocation truncated to fit (ColdFire): M680x0 Options. (line 329)
* relocation truncated to fit (MIPS): MIPS Options. (line 200)
* remainder: Other Builtins. (line 6)
@@ -52286,12 +53309,12 @@ Keyword Index
* remquof: Other Builtins. (line 6)
* remquol: Other Builtins. (line 6)
* renesas attribute: Function Attributes.
- (line 1226)
+ (line 1234)
* reordering, warning: C++ Dialect Options.
(line 533)
* reporting bugs: Bugs. (line 6)
* resbank attribute: Function Attributes.
- (line 1230)
+ (line 1238)
* rest argument (in macro): Variadic Macros. (line 6)
* restricted pointers: Restricted Pointers.
(line 6)
@@ -52300,7 +53323,7 @@ Keyword Index
* restricted this pointer: Restricted Pointers.
(line 6)
* returns_twice attribute: Function Attributes.
- (line 1244)
+ (line 1252)
* rindex: Other Builtins. (line 6)
* rint: Other Builtins. (line 6)
* rintf: Other Builtins. (line 6)
@@ -52318,9 +53341,9 @@ Keyword Index
* S/390 and zSeries Options: S/390 and zSeries Options.
(line 6)
* save all registers on the Blackfin, H8/300, H8/300H, and H8S: Function Attributes.
- (line 1253)
+ (line 1261)
* save volatile registers on the MicroBlaze: Function Attributes.
- (line 1258)
+ (line 1266)
* scalb: Other Builtins. (line 6)
* scalbf: Other Builtins. (line 6)
* scalbl: Other Builtins. (line 6)
@@ -52336,11 +53359,11 @@ Keyword Index
* Score Options: Score Options. (line 6)
* search path: Directory Options. (line 6)
* section function attribute: Function Attributes.
- (line 1266)
+ (line 1274)
* section variable attribute: Variable Attributes.
(line 166)
* sentinel function attribute: Function Attributes.
- (line 1282)
+ (line 1290)
* setjmp: Global Reg Vars. (line 65)
* setjmp incompatibilities: Incompatibilities. (line 39)
* shared strings: Incompatibilities. (line 9)
@@ -52373,11 +53396,11 @@ Keyword Index
* sizeof: Typeof. (line 6)
* smaller data references: M32R/D Options. (line 57)
* smaller data references (PowerPC): RS/6000 and PowerPC Options.
- (line 662)
+ (line 743)
* snprintf: Other Builtins. (line 6)
* Solaris 2 options: Solaris 2 Options. (line 6)
* sp_switch attribute: Function Attributes.
- (line 1331)
+ (line 1339)
* SPARC options: SPARC Options. (line 6)
* Spec Files: Spec Files. (line 6)
* specified registers: Explicit Reg Vars. (line 6)
@@ -52396,7 +53419,7 @@ Keyword Index
* sscanf: Other Builtins. (line 6)
* sscanf, and constant strings: Incompatibilities. (line 17)
* sseregparm attribute: Function Attributes.
- (line 1211)
+ (line 1219)
* statements inside expressions: Statement Exprs. (line 6)
* static data in C++, declaring and defining: Static Definitions.
(line 6)
@@ -52423,6 +53446,8 @@ Keyword Index
* strspn: Other Builtins. (line 6)
* strstr: Other Builtins. (line 6)
* struct: Unnamed Fields. (line 6)
+* struct __htm_tdb: S/390 System z Built-in Functions.
+ (line 54)
* structures: Incompatibilities. (line 146)
* structures, constructor expression: Compound Literals. (line 6)
* submodel options: Submodel Options. (line 6)
@@ -52436,7 +53461,7 @@ Keyword Index
(line 6)
* syntax checking: Warning Options. (line 13)
* syscall_linkage attribute: Function Attributes.
- (line 1346)
+ (line 1354)
* system headers, warnings from: Warning Options. (line 843)
* sysv_abi attribute: Function Attributes.
(line 881)
@@ -52447,111 +53472,111 @@ Keyword Index
* tanhl: Other Builtins. (line 6)
* tanl: Other Builtins. (line 6)
* target function attribute: Function Attributes.
- (line 1353)
+ (line 1361)
* target machine, specifying: Target Options. (line 6)
* target options: Target Options. (line 6)
* target("abm") attribute: Function Attributes.
- (line 1379)
+ (line 1387)
* target("aes") attribute: Function Attributes.
- (line 1384)
+ (line 1392)
* target("align-stringops") attribute: Function Attributes.
- (line 1478)
+ (line 1486)
* target("altivec") attribute: Function Attributes.
- (line 1504)
+ (line 1512)
* target("arch=ARCH") attribute: Function Attributes.
- (line 1487)
+ (line 1495)
* target("avoid-indexed-addresses") attribute: Function Attributes.
- (line 1625)
+ (line 1633)
* target("cld") attribute: Function Attributes.
- (line 1449)
+ (line 1457)
* target("cmpb") attribute: Function Attributes.
- (line 1510)
+ (line 1518)
* target("cpu=CPU") attribute: Function Attributes.
- (line 1640)
+ (line 1648)
* target("default") attribute: Function Attributes.
- (line 1387)
+ (line 1395)
* target("dlmzb") attribute: Function Attributes.
- (line 1516)
+ (line 1524)
* target("fancy-math-387") attribute: Function Attributes.
- (line 1453)
+ (line 1461)
* target("fma4") attribute: Function Attributes.
- (line 1433)
+ (line 1441)
* target("fpmath=FPMATH") attribute: Function Attributes.
- (line 1495)
+ (line 1503)
* target("fprnd") attribute: Function Attributes.
- (line 1523)
+ (line 1531)
* target("friz") attribute: Function Attributes.
- (line 1616)
+ (line 1624)
* target("fused-madd") attribute: Function Attributes.
- (line 1458)
+ (line 1466)
* target("hard-dfp") attribute: Function Attributes.
- (line 1529)
+ (line 1537)
* target("ieee-fp") attribute: Function Attributes.
- (line 1463)
+ (line 1471)
* target("inline-all-stringops") attribute: Function Attributes.
- (line 1468)
+ (line 1476)
* target("inline-stringops-dynamically") attribute: Function Attributes.
- (line 1472)
+ (line 1480)
* target("isel") attribute: Function Attributes.
- (line 1535)
+ (line 1543)
* target("longcall") attribute: Function Attributes.
- (line 1635)
+ (line 1643)
* target("lwp") attribute: Function Attributes.
- (line 1441)
+ (line 1449)
* target("mfcrf") attribute: Function Attributes.
- (line 1539)
+ (line 1547)
* target("mfpgpr") attribute: Function Attributes.
- (line 1546)
+ (line 1554)
* target("mmx") attribute: Function Attributes.
- (line 1392)
+ (line 1400)
* target("mulhw") attribute: Function Attributes.
- (line 1553)
+ (line 1561)
* target("multiple") attribute: Function Attributes.
- (line 1560)
+ (line 1568)
* target("paired") attribute: Function Attributes.
- (line 1630)
+ (line 1638)
* target("pclmul") attribute: Function Attributes.
- (line 1396)
+ (line 1404)
* target("popcnt") attribute: Function Attributes.
- (line 1400)
+ (line 1408)
* target("popcntb") attribute: Function Attributes.
- (line 1571)
+ (line 1579)
* target("popcntd") attribute: Function Attributes.
- (line 1578)
+ (line 1586)
* target("powerpc-gfxopt") attribute: Function Attributes.
- (line 1584)
+ (line 1592)
* target("powerpc-gpopt") attribute: Function Attributes.
- (line 1590)
+ (line 1598)
* target("recip") attribute: Function Attributes.
- (line 1482)
+ (line 1490)
* target("recip-precision") attribute: Function Attributes.
- (line 1596)
+ (line 1604)
* target("sse") attribute: Function Attributes.
- (line 1404)
+ (line 1412)
* target("sse2") attribute: Function Attributes.
- (line 1408)
+ (line 1416)
* target("sse3") attribute: Function Attributes.
- (line 1412)
+ (line 1420)
* target("sse4") attribute: Function Attributes.
- (line 1416)
+ (line 1424)
* target("sse4.1") attribute: Function Attributes.
- (line 1421)
+ (line 1429)
* target("sse4.2") attribute: Function Attributes.
- (line 1425)
+ (line 1433)
* target("sse4a") attribute: Function Attributes.
- (line 1429)
+ (line 1437)
* target("ssse3") attribute: Function Attributes.
- (line 1445)
+ (line 1453)
* target("string") attribute: Function Attributes.
- (line 1602)
+ (line 1610)
* target("tune=TUNE") attribute: Function Attributes.
- (line 1491)
+ (line 1499)
* target("update") attribute: Function Attributes.
- (line 1565)
+ (line 1573)
* target("vsx") attribute: Function Attributes.
- (line 1608)
+ (line 1616)
* target("xop") attribute: Function Attributes.
- (line 1437)
+ (line 1445)
* TC1: Standards. (line 13)
* TC2: Standards. (line 13)
* TC3: Standards. (line 13)
@@ -52570,7 +53595,7 @@ Keyword Index
* TILE-Gx options: TILE-Gx Options. (line 6)
* TILEPro options: TILEPro Options. (line 6)
* tiny data section on the H8/300H and H8S: Function Attributes.
- (line 1669)
+ (line 1677)
* TLS: Thread-Local. (line 6)
* tls_model attribute: Variable Attributes.
(line 235)
@@ -52583,9 +53608,9 @@ Keyword Index
* towupper: Other Builtins. (line 6)
* traditional C language: C Dialect Options. (line 307)
* trap_exit attribute: Function Attributes.
- (line 1676)
+ (line 1684)
* trapa_handler attribute: Function Attributes.
- (line 1681)
+ (line 1689)
* trunc: Other Builtins. (line 6)
* truncf: Other Builtins. (line 6)
* truncl: Other Builtins. (line 6)
@@ -52620,7 +53645,7 @@ Keyword Index
* unresolved references and -nodefaultlibs: Link Options. (line 85)
* unresolved references and -nostdlib: Link Options. (line 85)
* unused attribute.: Function Attributes.
- (line 1685)
+ (line 1693)
* UR fixed-suffix: Fixed-Point. (line 6)
* ur fixed-suffix: Fixed-Point. (line 6)
* use_debug_exception_return attribute: Function Attributes.
@@ -52628,7 +53653,7 @@ Keyword Index
* use_shadow_register_set attribute: Function Attributes.
(line 703)
* used attribute.: Function Attributes.
- (line 1690)
+ (line 1698)
* User stack pointer in interrupts on the Blackfin: Function Attributes.
(line 754)
* V in constraint: Simple Constraints. (line 43)
@@ -52650,14 +53675,14 @@ Keyword Index
* variadic macros: Variadic Macros. (line 6)
* VAX options: VAX Options. (line 6)
* version_id attribute: Function Attributes.
- (line 1700)
+ (line 1708)
* vfprintf: Other Builtins. (line 6)
* vfscanf: Other Builtins. (line 6)
* visibility attribute: Function Attributes.
- (line 1710)
+ (line 1718)
* VLAs: Variable Length. (line 6)
* vliw attribute: Function Attributes.
- (line 1803)
+ (line 1811)
* void pointers, arithmetic: Pointer Arith. (line 6)
* void, size of pointer to: Pointer Arith. (line 6)
* volatile access <1>: C++ Volatiles. (line 6)
@@ -52678,7 +53703,7 @@ Keyword Index
* W floating point suffix: Floating Types. (line 6)
* w floating point suffix: Floating Types. (line 6)
* warn_unused_result attribute: Function Attributes.
- (line 1809)
+ (line 1817)
* warning for comparison of signed and unsigned values: Warning Options.
(line 1156)
* warning for overloaded virtual function: C++ Dialect Options.
@@ -52693,9 +53718,9 @@ Keyword Index
* warnings vs errors: Warnings and Errors.
(line 6)
* weak attribute: Function Attributes.
- (line 1826)
+ (line 1834)
* weakref attribute: Function Attributes.
- (line 1835)
+ (line 1843)
* whitespace: Incompatibilities. (line 112)
* X in constraint: Simple Constraints. (line 124)
* X3.159-1989: Standards. (line 13)
@@ -52720,305 +53745,307 @@ Keyword Index

Tag Table:
-Node: Top1920
-Node: G++ and GCC3686
-Node: Standards5755
-Node: Invoking GCC17933
-Node: Option Summary21678
-Node: Overall Options61417
-Node: Invoking G++75516
-Node: C Dialect Options77039
-Node: C++ Dialect Options92878
-Node: Objective-C and Objective-C++ Dialect Options120980
-Node: Language Independent Options131488
-Node: Warning Options133687
-Node: Debugging Options202888
-Node: Optimize Options260279
-Ref: Type-punning318948
-Node: Preprocessor Options397157
-Ref: Wtrigraphs401939
-Ref: dashMF406687
-Ref: fdollars-in-identifiers417551
-Node: Assembler Options427818
-Node: Link Options428510
-Ref: Link Options-Footnote-1439754
-Node: Directory Options440088
-Node: Spec Files446647
-Node: Target Options468045
-Node: Submodel Options468444
-Node: AArch64 Options470137
-Node: Adapteva Epiphany Options474011
-Node: ARM Options479962
-Node: AVR Options495607
-Node: Blackfin Options515951
-Node: C6X Options523966
-Node: CRIS Options525509
-Node: CR16 Options529253
-Node: Darwin Options530160
-Node: DEC Alpha Options537593
-Node: FR30 Options549181
-Node: FRV Options549746
-Node: GNU/Linux Options556465
-Node: H8/300 Options557726
-Node: HPPA Options559176
-Node: i386 and x86-64 Options568660
-Node: i386 and x86-64 Windows Options605501
-Node: IA-64 Options608357
-Node: LM32 Options616421
-Node: M32C Options616945
-Node: M32R/D Options618219
-Node: M680x0 Options621765
-Node: MCore Options635811
-Node: MeP Options637314
-Node: MicroBlaze Options641273
-Node: MIPS Options644069
-Node: MMIX Options672969
-Node: MN10300 Options675451
-Node: Moxie Options677994
-Node: PDP-11 Options678365
-Node: picoChip Options680057
-Node: PowerPC Options682198
-Node: RL78 Options682419
-Node: RS/6000 and PowerPC Options683081
-Node: RX Options717931
-Node: S/390 and zSeries Options725265
-Node: Score Options733187
-Node: SH Options734029
-Node: Solaris 2 Options752884
-Node: SPARC Options754115
-Node: SPU Options766821
-Node: System V Options771758
-Node: TILE-Gx Options772584
-Node: TILEPro Options773508
-Node: V850 Options774012
-Node: VAX Options780725
-Node: VMS Options781260
-Node: VxWorks Options782071
-Node: x86-64 Options783226
-Node: Xstormy16 Options783444
-Node: Xtensa Options783733
-Node: zSeries Options788044
-Node: Code Gen Options788240
-Node: Environment Variables818074
-Node: Precompiled Headers826075
-Node: C Implementation832083
-Node: Translation implementation833752
-Node: Environment implementation834326
-Node: Identifiers implementation834876
-Node: Characters implementation835930
-Node: Integers implementation838736
-Node: Floating point implementation840561
-Node: Arrays and pointers implementation843490
-Ref: Arrays and pointers implementation-Footnote-1844925
-Node: Hints implementation845049
-Node: Structures unions enumerations and bit-fields implementation846515
-Node: Qualifiers implementation848501
-Node: Declarators implementation850273
-Node: Statements implementation850615
-Node: Preprocessing directives implementation850942
-Node: Library functions implementation853047
-Node: Architecture implementation853687
-Node: Locale-specific behavior implementation854390
-Node: C++ Implementation854695
-Node: Conditionally-supported behavior855977
-Node: Exception handling856487
-Node: C Extensions856896
-Node: Statement Exprs861890
-Node: Local Labels866349
-Node: Labels as Values869322
-Ref: Labels as Values-Footnote-1871721
-Node: Nested Functions871904
-Node: Constructing Calls875862
-Node: Typeof880580
-Node: Conditionals883888
-Node: __int128884778
-Node: Long Long885302
-Node: Complex886778
-Node: Floating Types889367
-Node: Half-Precision890495
-Node: Decimal Float892677
-Node: Hex Floats894532
-Node: Fixed-Point895568
-Node: Named Address Spaces898850
-Ref: AVR Named Address Spaces899531
-Node: Zero Length904737
-Node: Empty Structures908024
-Node: Variable Length908430
-Node: Variadic Macros911106
-Node: Escaped Newlines913484
-Node: Subscripting914323
-Node: Pointer Arith915049
-Node: Initializers915617
-Node: Compound Literals916113
-Node: Designated Inits919474
-Node: Case Ranges923106
-Node: Cast to Union923787
-Node: Mixed Declarations924878
-Node: Function Attributes925388
-Node: Attribute Syntax1011269
-Node: Function Prototypes1021660
-Node: C++ Comments1023441
-Node: Dollar Signs1023960
-Node: Character Escapes1024425
-Node: Variable Attributes1024719
-Ref: AVR Variable Attributes1038386
-Ref: MeP Variable Attributes1041047
-Ref: i386 Variable Attributes1042993
-Node: Type Attributes1048657
-Ref: MeP Type Attributes1062545
-Ref: i386 Type Attributes1062819
-Ref: PowerPC Type Attributes1063510
-Ref: SPU Type Attributes1064372
-Node: Alignment1064663
-Node: Inline1066033
-Node: Volatiles1071008
-Node: Extended Asm1073890
-Ref: Example of asm with clobbered asm reg1079794
-Ref: Extended asm with goto1089501
-Node: Constraints1097352
-Node: Simple Constraints1098436
-Node: Multi-Alternative1105757
-Node: Modifiers1107474
-Node: Machine Constraints1110488
-Node: Asm Labels1159452
-Node: Explicit Reg Vars1161128
-Node: Global Reg Vars1162731
-Node: Local Reg Vars1167227
-Node: Alternate Keywords1169644
-Node: Incomplete Enums1171130
-Node: Function Names1171886
-Node: Return Address1174047
-Node: Vector Extensions1177554
-Node: Offsetof1183729
-Node: __sync Builtins1184542
-Node: __atomic Builtins1190012
-Node: x86 specific memory model extensions for transactional memory1201298
-Node: Object Size Checking1202535
-Node: Other Builtins1208024
-Node: Target Builtins1237168
-Node: Alpha Built-in Functions1238308
-Node: ARM iWMMXt Built-in Functions1241317
-Node: ARM NEON Intrinsics1248297
-Node: AVR Built-in Functions1456716
-Node: Blackfin Built-in Functions1459786
-Node: FR-V Built-in Functions1460403
-Node: Argument Types1461262
-Node: Directly-mapped Integer Functions1463014
-Node: Directly-mapped Media Functions1464096
-Node: Raw read/write Functions1471128
-Node: Other Built-in Functions1472040
-Node: X86 Built-in Functions1473224
-Node: X86 transactional memory intrinsics1532192
-Node: MIPS DSP Built-in Functions1534866
-Node: MIPS Paired-Single Support1547374
-Node: MIPS Loongson Built-in Functions1548873
-Node: Paired-Single Arithmetic1555393
-Node: Paired-Single Built-in Functions1556341
-Node: MIPS-3D Built-in Functions1559008
-Node: Other MIPS Built-in Functions1564385
-Node: picoChip Built-in Functions1564909
-Node: PowerPC Built-in Functions1566258
-Node: PowerPC AltiVec/VSX Built-in Functions1567672
-Node: RX Built-in Functions1677659
-Node: SH Built-in Functions1681662
-Node: SPARC VIS Built-in Functions1683043
-Node: SPU Built-in Functions1688647
-Node: TI C6X Built-in Functions1690463
-Node: TILE-Gx Built-in Functions1691487
-Node: TILEPro Built-in Functions1692604
-Node: Target Format Checks1693671
-Node: Solaris Format Checks1694103
-Node: Darwin Format Checks1694529
-Node: Pragmas1695347
-Node: ARM Pragmas1696057
-Node: M32C Pragmas1696660
-Node: MeP Pragmas1697734
-Node: RS/6000 and PowerPC Pragmas1699803
-Node: Darwin Pragmas1700544
-Node: Solaris Pragmas1701611
-Node: Symbol-Renaming Pragmas1702772
-Node: Structure-Packing Pragmas1704326
-Node: Weak Pragmas1705976
-Node: Diagnostic Pragmas1706710
-Node: Visibility Pragmas1709817
-Node: Push/Pop Macro Pragmas1710569
-Node: Function Specific Option Pragmas1711541
-Node: Unnamed Fields1713798
-Node: Thread-Local1716026
-Node: C99 Thread-Local Edits1718131
-Node: C++98 Thread-Local Edits1720143
-Node: Binary constants1723587
-Node: C++ Extensions1724258
-Node: C++ Volatiles1725969
-Node: Restricted Pointers1728317
-Node: Vague Linkage1729908
-Node: C++ Interface1733532
-Ref: C++ Interface-Footnote-11737818
-Node: Template Instantiation1737954
-Node: Bound member functions1744541
-Node: C++ Attributes1746073
-Node: Function Multiversioning1748729
-Node: Namespace Association1750544
-Node: Type Traits1751924
-Node: Java Exceptions1758412
-Node: Deprecated Features1759802
-Node: Backwards Compatibility1762767
-Node: Objective-C1764119
-Node: GNU Objective-C runtime API1764728
-Node: Modern GNU Objective-C runtime API1765735
-Node: Traditional GNU Objective-C runtime API1768172
-Node: Executing code before main1768900
-Node: What you can and what you cannot do in +load1771638
-Node: Type encoding1774028
-Node: Legacy type encoding1779104
-Node: @encode1780195
-Node: Method signatures1780736
-Node: Garbage Collection1782731
-Node: Constant string objects1785420
-Node: compatibility_alias1787928
-Node: Exceptions1788650
-Node: Synchronization1791361
-Node: Fast enumeration1792545
-Node: Using fast enumeration1792857
-Node: c99-like fast enumeration syntax1794068
-Node: Fast enumeration details1794771
-Node: Fast enumeration protocol1797112
-Node: Messaging with the GNU Objective-C runtime1800264
-Node: Dynamically registering methods1801635
-Node: Forwarding hook1803326
-Node: Compatibility1806366
-Node: Gcov1812933
-Node: Gcov Intro1813466
-Node: Invoking Gcov1816184
-Node: Gcov and Optimization1829095
-Node: Gcov Data Files1832095
-Node: Cross-profiling1833490
-Node: Trouble1835341
-Node: Actual Bugs1836753
-Node: Interoperation1837200
-Node: Incompatibilities1844092
-Node: Fixed Headers1852243
-Node: Standard Libraries1853906
-Node: Disappointments1855278
-Node: C++ Misunderstandings1859636
-Node: Static Definitions1860447
-Node: Name lookup1861500
-Ref: Name lookup-Footnote-11866278
-Node: Temporaries1866465
-Node: Copy Assignment1868441
-Node: Non-bugs1870248
-Node: Warnings and Errors1880755
-Node: Bugs1882517
-Node: Bug Criteria1883081
-Node: Bug Reporting1885291
-Node: Service1885512
-Node: Contributing1886331
-Node: Funding1887071
-Node: GNU Project1889560
-Node: Copying1890206
-Node: GNU Free Documentation License1927734
-Node: Contributors1952871
-Node: Option Index1990273
-Node: Keyword Index2180269
+Node: Top1934
+Node: G++ and GCC3700
+Node: Standards5769
+Node: Invoking GCC17947
+Node: Option Summary21692
+Node: Overall Options61821
+Node: Invoking G++76059
+Node: C Dialect Options77582
+Node: C++ Dialect Options93421
+Node: Objective-C and Objective-C++ Dialect Options121523
+Node: Language Independent Options132031
+Node: Warning Options134230
+Node: Debugging Options203431
+Node: Optimize Options260822
+Ref: Type-punning319491
+Node: Preprocessor Options397700
+Ref: Wtrigraphs402482
+Ref: dashMF407230
+Ref: fdollars-in-identifiers418094
+Node: Assembler Options428361
+Node: Link Options429053
+Ref: Link Options-Footnote-1440297
+Node: Directory Options440631
+Node: Spec Files447190
+Node: Target Options468588
+Node: Submodel Options468987
+Node: AArch64 Options470680
+Node: Adapteva Epiphany Options474554
+Node: ARM Options480505
+Node: AVR Options496355
+Node: Blackfin Options516473
+Node: C6X Options524488
+Node: CRIS Options526031
+Node: CR16 Options529775
+Node: Darwin Options530682
+Node: DEC Alpha Options538115
+Node: FR30 Options549703
+Node: FRV Options550268
+Node: GNU/Linux Options556987
+Node: H8/300 Options558248
+Node: HPPA Options559698
+Node: i386 and x86-64 Options569182
+Node: i386 and x86-64 Windows Options606268
+Node: IA-64 Options609124
+Node: LM32 Options617188
+Node: M32C Options617712
+Node: M32R/D Options618986
+Node: M680x0 Options622532
+Node: MCore Options636578
+Node: MeP Options638081
+Node: MicroBlaze Options642040
+Node: MIPS Options644836
+Node: MMIX Options673736
+Node: MN10300 Options676218
+Node: Moxie Options678761
+Node: PDP-11 Options679132
+Node: picoChip Options680824
+Node: PowerPC Options682965
+Node: RL78 Options683186
+Node: RS/6000 and PowerPC Options683848
+Node: RX Options722869
+Node: S/390 and zSeries Options730203
+Node: Score Options738763
+Node: SH Options739605
+Node: Solaris 2 Options758460
+Node: SPARC Options759691
+Node: SPU Options772941
+Node: System V Options777878
+Node: TILE-Gx Options778704
+Node: TILEPro Options779628
+Node: V850 Options780132
+Node: VAX Options786845
+Node: VMS Options787380
+Node: VxWorks Options788191
+Node: x86-64 Options789346
+Node: Xstormy16 Options789564
+Node: Xtensa Options789853
+Node: zSeries Options794164
+Node: Code Gen Options794360
+Node: Environment Variables824194
+Node: Precompiled Headers832195
+Node: C Implementation838203
+Node: Translation implementation839872
+Node: Environment implementation840446
+Node: Identifiers implementation840996
+Node: Characters implementation842050
+Node: Integers implementation844856
+Node: Floating point implementation846681
+Node: Arrays and pointers implementation849610
+Ref: Arrays and pointers implementation-Footnote-1851045
+Node: Hints implementation851169
+Node: Structures unions enumerations and bit-fields implementation852635
+Node: Qualifiers implementation854621
+Node: Declarators implementation856393
+Node: Statements implementation856735
+Node: Preprocessing directives implementation857062
+Node: Library functions implementation859167
+Node: Architecture implementation859807
+Node: Locale-specific behavior implementation860510
+Node: C++ Implementation860815
+Node: Conditionally-supported behavior862097
+Node: Exception handling862607
+Node: C Extensions863016
+Node: Statement Exprs868010
+Node: Local Labels872469
+Node: Labels as Values875442
+Ref: Labels as Values-Footnote-1877841
+Node: Nested Functions878024
+Node: Constructing Calls881982
+Node: Typeof886700
+Node: Conditionals890008
+Node: __int128890898
+Node: Long Long891422
+Node: Complex892898
+Node: Floating Types895487
+Node: Half-Precision896615
+Node: Decimal Float898797
+Node: Hex Floats900652
+Node: Fixed-Point901688
+Node: Named Address Spaces904970
+Ref: AVR Named Address Spaces905651
+Node: Zero Length910857
+Node: Empty Structures914144
+Node: Variable Length914550
+Node: Variadic Macros917226
+Node: Escaped Newlines919604
+Node: Subscripting920443
+Node: Pointer Arith921169
+Node: Initializers921737
+Node: Compound Literals922233
+Node: Designated Inits925594
+Node: Case Ranges929226
+Node: Cast to Union929907
+Node: Mixed Declarations930998
+Node: Function Attributes931508
+Node: Attribute Syntax1017836
+Node: Function Prototypes1028227
+Node: C++ Comments1030008
+Node: Dollar Signs1030527
+Node: Character Escapes1030992
+Node: Variable Attributes1031286
+Ref: AVR Variable Attributes1044953
+Ref: MeP Variable Attributes1047614
+Ref: i386 Variable Attributes1049560
+Node: Type Attributes1055224
+Ref: MeP Type Attributes1069112
+Ref: i386 Type Attributes1069386
+Ref: PowerPC Type Attributes1070077
+Ref: SPU Type Attributes1070939
+Node: Alignment1071230
+Node: Inline1072600
+Node: Volatiles1077575
+Node: Extended Asm1080457
+Ref: Example of asm with clobbered asm reg1086361
+Ref: Extended asm with goto1096068
+Node: Constraints1103919
+Node: Simple Constraints1105003
+Node: Multi-Alternative1112324
+Node: Modifiers1114041
+Node: Machine Constraints1117055
+Node: Asm Labels1167278
+Node: Explicit Reg Vars1168954
+Node: Global Reg Vars1170557
+Node: Local Reg Vars1175053
+Node: Alternate Keywords1177470
+Node: Incomplete Enums1178956
+Node: Function Names1179712
+Node: Return Address1181873
+Node: Vector Extensions1185380
+Node: Offsetof1191555
+Node: __sync Builtins1192368
+Node: __atomic Builtins1197838
+Node: x86 specific memory model extensions for transactional memory1209477
+Node: Object Size Checking1210739
+Node: Other Builtins1216228
+Node: Target Builtins1245372
+Node: Alpha Built-in Functions1246611
+Node: ARM iWMMXt Built-in Functions1249620
+Node: ARM NEON Intrinsics1256600
+Node: AVR Built-in Functions1465019
+Node: Blackfin Built-in Functions1468089
+Node: FR-V Built-in Functions1468706
+Node: Argument Types1469565
+Node: Directly-mapped Integer Functions1471317
+Node: Directly-mapped Media Functions1472399
+Node: Raw read/write Functions1479431
+Node: Other Built-in Functions1480343
+Node: X86 Built-in Functions1481527
+Node: X86 transactional memory intrinsics1540495
+Node: MIPS DSP Built-in Functions1543169
+Node: MIPS Paired-Single Support1555677
+Node: MIPS Loongson Built-in Functions1557176
+Node: Paired-Single Arithmetic1563696
+Node: Paired-Single Built-in Functions1564644
+Node: MIPS-3D Built-in Functions1567311
+Node: Other MIPS Built-in Functions1572688
+Node: picoChip Built-in Functions1573212
+Node: PowerPC Built-in Functions1574561
+Node: PowerPC AltiVec/VSX Built-in Functions1578373
+Node: PowerPC Hardware Transactional Memory Built-in Functions1711271
+Node: RX Built-in Functions1717812
+Node: S/390 System z Built-in Functions1721845
+Node: SH Built-in Functions1727082
+Node: SPARC VIS Built-in Functions1728475
+Node: SPU Built-in Functions1734079
+Node: TI C6X Built-in Functions1735895
+Node: TILE-Gx Built-in Functions1736919
+Node: TILEPro Built-in Functions1738036
+Node: Target Format Checks1739103
+Node: Solaris Format Checks1739535
+Node: Darwin Format Checks1739961
+Node: Pragmas1740779
+Node: ARM Pragmas1741489
+Node: M32C Pragmas1742092
+Node: MeP Pragmas1743166
+Node: RS/6000 and PowerPC Pragmas1745235
+Node: Darwin Pragmas1745976
+Node: Solaris Pragmas1747043
+Node: Symbol-Renaming Pragmas1748204
+Node: Structure-Packing Pragmas1749758
+Node: Weak Pragmas1751408
+Node: Diagnostic Pragmas1752142
+Node: Visibility Pragmas1755249
+Node: Push/Pop Macro Pragmas1756001
+Node: Function Specific Option Pragmas1756973
+Node: Unnamed Fields1759230
+Node: Thread-Local1761458
+Node: C99 Thread-Local Edits1763563
+Node: C++98 Thread-Local Edits1765575
+Node: Binary constants1769019
+Node: C++ Extensions1769690
+Node: C++ Volatiles1771401
+Node: Restricted Pointers1773749
+Node: Vague Linkage1775340
+Node: C++ Interface1778964
+Ref: C++ Interface-Footnote-11783250
+Node: Template Instantiation1783386
+Node: Bound member functions1789973
+Node: C++ Attributes1791505
+Node: Function Multiversioning1794161
+Node: Namespace Association1795976
+Node: Type Traits1797356
+Node: Java Exceptions1803844
+Node: Deprecated Features1805234
+Node: Backwards Compatibility1808199
+Node: Objective-C1809551
+Node: GNU Objective-C runtime API1810160
+Node: Modern GNU Objective-C runtime API1811167
+Node: Traditional GNU Objective-C runtime API1813604
+Node: Executing code before main1814332
+Node: What you can and what you cannot do in +load1817070
+Node: Type encoding1819460
+Node: Legacy type encoding1824536
+Node: @encode1825627
+Node: Method signatures1826168
+Node: Garbage Collection1828163
+Node: Constant string objects1830852
+Node: compatibility_alias1833360
+Node: Exceptions1834082
+Node: Synchronization1836793
+Node: Fast enumeration1837977
+Node: Using fast enumeration1838289
+Node: c99-like fast enumeration syntax1839500
+Node: Fast enumeration details1840203
+Node: Fast enumeration protocol1842544
+Node: Messaging with the GNU Objective-C runtime1845696
+Node: Dynamically registering methods1847067
+Node: Forwarding hook1848758
+Node: Compatibility1851798
+Node: Gcov1858365
+Node: Gcov Intro1858898
+Node: Invoking Gcov1861616
+Node: Gcov and Optimization1874527
+Node: Gcov Data Files1877527
+Node: Cross-profiling1878922
+Node: Trouble1880773
+Node: Actual Bugs1882185
+Node: Interoperation1882632
+Node: Incompatibilities1889524
+Node: Fixed Headers1897675
+Node: Standard Libraries1899338
+Node: Disappointments1900710
+Node: C++ Misunderstandings1905068
+Node: Static Definitions1905879
+Node: Name lookup1906932
+Ref: Name lookup-Footnote-11911710
+Node: Temporaries1911897
+Node: Copy Assignment1913873
+Node: Non-bugs1915680
+Node: Warnings and Errors1926187
+Node: Bugs1927949
+Node: Bug Criteria1928513
+Node: Bug Reporting1930723
+Node: Service1930944
+Node: Contributing1931763
+Node: Funding1932503
+Node: GNU Project1934992
+Node: Copying1935638
+Node: GNU Free Documentation License1973166
+Node: Contributors1998303
+Node: Option Index2035705
+Node: Keyword Index2228711

End Tag Table