diff options
author | Andreas Jaeger <aj@suse.de> | 2001-04-28 13:35:04 +0200 |
---|---|---|
committer | Andreas Jaeger <aj@gcc.gnu.org> | 2001-04-28 13:35:04 +0200 |
commit | 02f52e19231d05b9aaf63c8d873ce0930579ccb6 (patch) | |
tree | 0e08f015f028f8f1a97fd20338279fbed90f69af /gcc | |
parent | 1e5f973d45bffd642e6d49308df917aa7c9ce0af (diff) | |
download | gcc-02f52e19231d05b9aaf63c8d873ce0930579ccb6.zip gcc-02f52e19231d05b9aaf63c8d873ce0930579ccb6.tar.gz gcc-02f52e19231d05b9aaf63c8d873ce0930579ccb6.tar.bz2 |
invoke.texi: Use XX-bit instead of XXbit or XX bit where appropriate.
* invoke.texi: Use XX-bit instead of XXbit or XX bit where
appropriate.
* extend.texi: Likewise.
* tm.texi: Likewise.
From-SVN: r41659
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/extend.texi | 37 | ||||
-rw-r--r-- | gcc/invoke.texi | 197 | ||||
-rw-r--r-- | gcc/tm.texi | 64 |
4 files changed, 156 insertions, 151 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a61ddfd..845cb2e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2001-04-28 Andreas Jaeger <aj@suse.de> + * invoke.texi: Use XX-bit instead of XXbit or XX bit where + appropriate. + * extend.texi: Likewise. + * tm.texi: Likewise. + +2001-04-28 Andreas Jaeger <aj@suse.de> + * md.texi: Use XX-bit instead of XXbit or XX bit where appropriate. @@ -697,7 +704,7 @@ Fri Apr 13 21:40:28 2001 Loren J. Rittle <ljrittle@acm.org> gen_move_insn): Delete redundant declarations. 2001-04-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> - + * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch. (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down MAKEINFO and MAKEINFOFLAGS too. diff --git a/gcc/extend.texi b/gcc/extend.texi index 49fe319..7bcba9d 100644 --- a/gcc/extend.texi +++ b/gcc/extend.texi @@ -197,7 +197,7 @@ Statement expressions are not supported fully in G++, and their fate there is unclear. (It is possible that they will become fully supported at some point, or that they will be deprecated, or that the bugs that are present will continue to exist indefinitely.) Presently, statement -expressions do not work well as default arguments. +expressions do not work well as default arguments. In addition, there are semantic issues with statement-expressions in C++. If you try to use statement-expressions instead of inline @@ -340,7 +340,7 @@ Another use of label values is in an interpreter for threaded code. The labels within the interpreter function can be stored in the threaded code for super-fast dispatching. -You may not use this mechanism to jump to code in a different function. +You may not use this mechanism to jump to code in a different function. If you do that, totally unpredictable things will happen. The best way to avoid this is to store the label address only in automatic variables and never pass it as an argument. @@ -897,7 +897,7 @@ thisline->length = this_length; In ISO C89, you would have to give @code{contents} a length of 1, which means either you waste space or complicate the argument to @code{malloc}. -In ISO C99, you would use a @dfn{flexible array member}, which is +In ISO C99, you would use a @dfn{flexible array member}, which is slightly different in syntax and semantics: @itemize @bullet @@ -912,7 +912,7 @@ of zero-length arrays, @code{sizeof} evaluates to zero. @item Flexible array members may only appear as the last member of a -@code{struct} that is otherwise non-empty. GCC currently allows +@code{struct} that is otherwise non-empty. GCC currently allows zero-length arrays anywhere. You may encounter problems, however, defining structures containing only a zero-length array. Such usage is deprecated, and we recommend using zero-length arrays only in @@ -1940,11 +1940,11 @@ Small model objects live in the lower 16MB of memory (so that their addresses can be loaded with the @code{ld24} instruction), and are callable with the @code{bl} instruction. -Medium model objects may live anywhere in the 32 bit address space (the +Medium model objects may live anywhere in the 32-bit address space (the compiler will generate @code{seth/add3} instructions to load their addresses), and are callable with the @code{bl} instruction. -Large model objects may live anywhere in the 32 bit address space (the +Large model objects may live anywhere in the 32-bit address space (the compiler will generate @code{seth/add3} instructions to load their addresses), and may not be reachable with the @code{bl} instruction (the compiler will generate the much slower @code{seth/add3/jl} instruction sequence). @@ -2465,10 +2465,10 @@ section, consider using the facilities of the linker instead. @item shared @cindex @code{shared} variable attribute -On Windows NT, in addition to putting variable definitions in a named -section, the section can also be shared among all running copies of an -executable or DLL. For example, this small program defines shared data -by putting it in a named section "shared" and marking the section +On Windows NT, in addition to putting variable definitions in a named +section, the section can also be shared among all running copies of an +executable or DLL. For example, this small program defines shared data +by putting it in a named section "shared" and marking the section shareable: @smallexample @@ -2484,7 +2484,7 @@ main() @noindent You may only use the @code{shared} attribute along with @code{section} -attribute with a fully initialized global definition because of the way +attribute with a fully initialized global definition because of the way linkers work. See @code{section} attribute for more information. The @code{shared} attribute is only available on Windows NT. @@ -2514,7 +2514,7 @@ or @code{large}, representing each of the code models. Small model objects live in the lower 16MB of memory (so that their addresses can be loaded with the @code{ld24} instruction). -Medium and large model objects may live anywhere in the 32 bit address space +Medium and large model objects may live anywhere in the 32-bit address space (the compiler will generate @code{seth/add3} instructions to load their addresses). @@ -2755,7 +2755,7 @@ inc (int *a) (If you are writing a header file to be included in ISO C programs, write @code{__inline__} instead of @code{inline}. @xref{Alternate Keywords}.) You can also make all ``simple enough'' functions inline with the option -@samp{-finline-functions}. +@samp{-finline-functions}. Note that certain usages in a function definition can make it unsuitable for inline substitution. Among these usages are: use of varargs, use of @@ -3741,7 +3741,7 @@ specify the @samp{-O} option. @findex __builtin_expect @item __builtin_expect(@var{exp}, @var{c}) -You may use @code{__builtin_expect} to provide the compiler with +You may use @code{__builtin_expect} to provide the compiler with branch prediction information. In general, you should prefer to use actual profile feedback for this (@samp{-fprofile-arcs}), as programmers are notoriously bad at predicting how their programs @@ -4342,7 +4342,7 @@ relative ordering. @item com_interface @cindex com_interface attribute -@c This is based on: 1) grepping the code, +@c This is based on: 1) grepping the code, @c 2) http://gcc.gnu.org/ml/gcc-bugs/1999-08n/msg01212.html @c 3) http://gcc.gnu.org/ml/gcc-bugs/1999-08n/msg01215.html @c and 4) a lot of guesswork. You can tell I don't use COM. -pme 21Dec00 @@ -4358,10 +4358,10 @@ thus, only the base class in a COM hierarchy needs @code{com_interface}. @item java_interface @cindex java_interface attribute -This type attribute informs C++ that the class is a Java interface. It may +This type attribute informs C++ that the class is a Java interface. It may only be applied to classes declared within an @code{extern "Java"} block. -Calls to methods declared in this interface will be dispatched using GCJ's -interface table mechanism, instead of regular virtual table dispatch. +Calls to methods declared in this interface will be dispatched using GCJ's +interface table mechanism, instead of regular virtual table dispatch. @end table @@ -4429,4 +4429,3 @@ implicitly scoped inside a C language scope. Also, an empty prototype @code{()} will be treated as an unspecified number of arguments, rather than no arguments, as C++ demands. @end table - diff --git a/gcc/invoke.texi b/gcc/invoke.texi index 9ccbea1..e573452 100644 --- a/gcc/invoke.texi +++ b/gcc/invoke.texi @@ -116,7 +116,7 @@ only one of these two forms, whichever one is not the default. * C Dialect Options:: Controlling the variant of C language compiled. * C++ Dialect Options:: Variations on C++. * Language Independent Options:: Controlling how diagnostics should be - formatted. + formatted. * Warning Options:: How picky should the compiler be? * Debugging Options:: Symbol tables, measurements, and debugging dumps. * Optimize Options:: How much optimization? @@ -597,7 +597,7 @@ in the following sections. * C Dialect Options:: Controlling the variant of C language compiled. * C++ Dialect Options:: Variations on C++. * Language Independent Options:: Controlling how diagnostics should be - formatted. + formatted. * Warning Options:: How picky should the compiler be? * Debugging Options:: Symbol tables, measurements, and debugging dumps. * Optimize Options:: How much optimization? @@ -863,7 +863,7 @@ C (when compiling C code), or of standard C++ (when compiling C++ code), such as the @code{asm} and @code{typeof} keywords, and predefined macros such as @code{unix} and @code{vax} that identify the type of system you are using. It also enables the undesirable and -rarely used ISO trigraph feature. For the C compiler, +rarely used ISO trigraph feature. For the C compiler, it disables recognition of C++ style @samp{//} comments as well as the @code{inline} keyword. @@ -893,7 +893,7 @@ affected. @item -std= Determine the language standard. A value for this option must be provided; -possible values are +possible values are @table @samp @item iso9899:1990 @@ -1232,7 +1232,7 @@ two definitions were merged. This option is no longer useful on most targets, now that support has been added for putting variables into BSS without making them common. -@item -fno-const-strings +@item -fno-const-strings Give string constants type @code{char *} instead of type @code{const char *}. By default, G++ uses type @code{const char *} as required by the standard. Even if you use @samp{-fno-const-strings}, you cannot @@ -1293,7 +1293,7 @@ otherwise be invalid, or have different behavior. @item -fno-gnu-keywords Do not recognize @code{typeof} as a keyword, so that code can use this -word as an identifier. You can use the keyword @code{__typeof__} instead. +word as an identifier. You can use the keyword @code{__typeof__} instead. @samp{-ansi} implies @samp{-fno-gnu-keywords}. @item -fhonor-std @@ -1399,7 +1399,7 @@ those. Like all options that change the ABI, all C++ code, @emph{including libgcc.a} must be built with the same setting of this option. -@item -fno-weak +@item -fno-weak Do not use weak symbol support, even if it is provied by the linker. By default, G++ will use weak symbols if they are available. This option exists only for testing, and should not be used by end-users; @@ -1553,14 +1553,14 @@ below can be used to control the diagnostic messages formatting algorithm, e.g. how many characters per line, how often source location information should be reported. Right now, only the C++ front-end can honor these options. However it is expected, in the near future, that -the remaining front-ends would be able to digest them correctly. +the remaining front-ends would be able to digest them correctly. @table @gcctabopt @item -fmessage-length=@var{n} Try to format error messages so that they fit on lines of about @var{n} characters. The default is 72 characters for g++ and 0 for the rest of the front-ends supported by GCC. If @var{n} is zero, then no -line-wrapping will be done; each error message will appear on a single +line-wrapping will be done; each error message will appear on a single line. @item -fdiagnostics-show-location=once @@ -1569,7 +1569,7 @@ reporter to emit @emph{once} source location information; that is, in case the message is too long to fit on a single physical line and has to be wrapped, the source location won't be emitted (as prefix) again, over and over, in subsequent continuation lines. This is the default -behaviour. +behaviour. @item -fdiagnostics-show-location=every-line Only meaningful in line-wrapping mode. Instructs the diagnostic @@ -1835,7 +1835,7 @@ D. Hugh Redelmeier @item -Wreturn-type Warn whenever a function is defined with a return-type that defaults to @code{int}. Also warn about any @code{return} statement with no -return-value in a function whose return-type is not @code{void}. +return-value in a function whose return-type is not @code{void}. For C++, a function without return type always produces a diagnostic message, even when @samp{-Wno-return-type} is specified. The only @@ -2279,7 +2279,7 @@ appropriate may not be detected. This option has no effect unless @item -Wpacked Warn if a structure is given the packed attribute, but the packed -attribute has no effect on the layout or size of the structure. +attribute has no effect on the layout or size of the structure. Such structures may be mis-aligned for little benefit. For instance, in this code, the variable @code{f.x} in @code{struct bar} will be misaligned even though @code{struct bar} does not itself @@ -2324,7 +2324,7 @@ are circumstances under which part of the affected line can be executed, so care should be taken when removing apparently-unreachable code. For instance, when a function is inlined, a warning may mean that the -line is unreachable in only one inlined copy of the function. +line is unreachable in only one inlined copy of the function. This option is not made part of @samp{-Wall} because in a debugging version of a program there is often substantial code which checks @@ -2623,7 +2623,7 @@ block and arc execution counts from the information in the Says to make debugging dumps during compilation at times specified by @var{letters}. This is used for debugging the compiler. The file names for most of the dumps are made by appending a pass number and a word to -the source file name (e.g. @file{foo.c.00.rtl} or @file{foo.c.01.sibling}). +the source file name (e.g. @file{foo.c.00.rtl} or @file{foo.c.01.sibling}). Here are the possible letters for use in @var{letters}, and their meanings: @table @samp @@ -2655,7 +2655,7 @@ Dump after purging @code{ADDRESSOF} codes, to @file{@var{file}.04.addressof}. Dump after global register allocation, to @file{@var{file}.19.greg}. @item o Dump after post-reload CSE and other optimizations, to @file{@var{file}.20.postreload}. -@item G +@item G Dump after GCSE, to @file{@var{file}.08.gcse}. @item i Dump after sibling call optimizations, to @file{@var{file}.01.sibling}. @@ -2671,7 +2671,7 @@ Dump after local register allocation, to @file{@var{file}.18.lreg}. Dump after loop optimization, to @file{@var{file}.09.loop}. @item M Dump after performing the machine dependent reorganisation pass, to -@file{@var{file}.28.mach}. +@file{@var{file}.28.mach}. @item n Dump after register renumbering, to @file{@var{file}.23.rnreg}. @item N @@ -2683,7 +2683,7 @@ Dump after the second instruction scheduling pass, to @file{@var{file}.25.sched2}. @item s Dump after CSE (including the jump optimization that sometimes follows -CSE), to @file{@var{file}.03.cse}. +CSE), to @file{@var{file}.03.cse}. @item S Dump after the first instruction scheduling pass, to @file{@var{file}.17.sched}. @@ -2965,13 +2965,13 @@ assembler code in its own right. @item -finline-limit=@var{n} By default, gcc limits the size of functions that can be inlined. This flag allows the control of this limit for functions that are explicitly marked as -inline (ie marked with the inline keyword or defined within the class -definition in c++). @var{n} is the size of functions that can be inlined in +inline (ie marked with the inline keyword or defined within the class +definition in c++). @var{n} is the size of functions that can be inlined in number of pseudo instructions (not counting parameter handling). The default value of n is 10000. Increasing this value can result in more inlined code at the cost of compilation time and memory consumption. Decreasing usually makes -the compilation faster and less code will be inlined (which presumably -means slower programs). This option is particularly useful for programs that +the compilation faster and less code will be inlined (which presumably +means slower programs). This option is particularly useful for programs that use inlining heavily such as those based on recursive templates with c++. @emph{Note:} pseudo instruction represents, in this particular context, an @@ -3029,7 +3029,7 @@ sets @samp{-fno-math-errno}. @item -funsafe-math-optimizations Allow optimizations for floating-point arithmetic that (a) assume that arguments and results are valid and (b) may violate IEEE or -ANSI standards. +ANSI standards. This option should never be turned on by any @samp{-O} option since it can result in incorrect output for programs which depend on @@ -3105,10 +3105,10 @@ This pass also performs global constant and copy propagation. When -fgcse-lm is enabled, global common subexpression elimination will attempt to move loads which are only killed by stores into themselves. This allows a loop containing a load/store sequence to be changed to a load outside -the loop, and a copy/store within the loop. +the loop, and a copy/store within the loop. @item -fgcse-sm -When -fgcse-sm is enabled, A store motion pass is run after global common +When -fgcse-sm is enabled, A store motion pass is run after global common subexpression elimination. This pass will attempt to move stores out of loops. When used in conjunction with -fgcse-lm, loops containing a load/store sequence can be changed to a load before the loop and a store after the loop. @@ -3257,11 +3257,11 @@ object of one type is assumed never to reside at the same address as an object of a different type, unless the types are almost the same. For example, an @code{unsigned int} can alias an @code{int}, but not a @code{void*} or a @code{double}. A character type may alias any other -type. +type. Pay special attention to code like this: @example -union a_union @{ +union a_union @{ int i; double d; @}; @@ -3278,7 +3278,7 @@ recently written to (called ``type-punning'') is common. Even with is accessed through the union type. So, the code above will work as expected. However, this code might not: @example -int f() @{ +int f() @{ a_union t; int* ip; t.d = 3.0; @@ -3368,7 +3368,7 @@ In some places, GCC uses various constants to control the amount of optimization that is done. For example, GCC will not inline functions that contain more that a certain number of instructions. You can control some of these constants on the command-line using the -@samp{--param} option. +@samp{--param} option. In each case, the @var{value} is a integer. The allowable choices for @var{name} are given in the following table: @@ -3811,7 +3811,7 @@ libraries. On other systems, this option has no effect. @item -shared Produce a shared object which can then be linked with other objects to form an executable. Not all systems support this option. For predictable -results, you must also specify the same set of options that were used to +results, you must also specify the same set of options that were used to generate code (@samp{-fpic}, @samp{-fPIC}, or model suboptions) when you specify this option.@footnote{On some systems, @samp{gcc -shared} needs to build supplementary stub code for constructors to work. On @@ -3984,7 +3984,7 @@ character on the line and it can be one of the following: @table @code @item %@var{command} Issues a @var{command} to the spec file processor. The commands that can -appear here are: +appear here are: @table @code @item %include <@var{file}> @@ -4017,7 +4017,7 @@ character, in which case the text will be appended to the spec. @item [@var{suffix}]: Creates a new @samp{[@var{suffix}] spec} pair. All lines after this directive and up to the next directive or blank line are considered to make up the -spec string for the indicated suffix. When the compiler encounters an +spec string for the indicated suffix. When the compiler encounters an input file with the named suffix, it will processes the spec string in order to work out how to compile that file. For example: @@ -4064,7 +4064,7 @@ possible to override earlier entries using this technique. GCC has the following spec strings built into it. Spec files can override these strings or create their own. Note that individual -targets can also add their own spec strings to this list. +targets can also add their own spec strings to this list. @smallexample asm Options to pass to the assembler @@ -4105,7 +4105,7 @@ it is possible to generate quite complex command lines. Here is a table of all defined @samp{%}-sequences for spec strings. Note that spaces are not generated automatically around the results of expanding these sequences. Therefore you can concatenate them -together or combine them with constant text in a single argument. +together or combine them with constant text in a single argument. @table @code @item %% @@ -4127,13 +4127,13 @@ the last period). Marks the argument containing or following the @samp{%d} as a temporary file name, so that that file will be deleted if GCC exits successfully. Unlike @samp{%g}, this contributes no text to the -argument. +argument. @item %g@var{suffix} Substitute a file name that has suffix @var{suffix} and is chosen once per compilation, and mark the argument in the same way as @samp{%d}. To reduce exposure to denial-of-service attacks, the file -name is now chosen in a way that is hard to predict even when previously +name is now chosen in a way that is hard to predict even when previously chosen file names are known. For example, @samp{%g.s ... %g.o ... %g.s} might turn into @samp{ccUVUUAU.s ccXYAXZ12.o ccUVUUAU.s}. @var{suffix} matches the regexp @samp{[.A-Za-z]*} or the special string @samp{%O}, which is @@ -4157,7 +4157,7 @@ simply substituted with a file name chosen for the previous @samp{%u}, without regard to any appended suffix. @item %j@var{SUFFIX} -Substitutes the name of the HOST_BIT_BUCKET, if any, and if it is +Substitutes the name of the HOST_BIT_BUCKET, if any, and if it is writable, and if save-temps is off; otherwise, substitute the name of a temporary file, just like @samp{%u}. This temporary file is not meant for communication between processes, but rather as a junk @@ -4199,7 +4199,7 @@ current target machine. Use this when running @code{cpp}. Like @samp{%p}, but puts @samp{__} before and after the name of each predefined macro, except for macros that start with @samp{__} or with @samp{_@var{L}}, where @var{L} is an uppercase letter. This is for ISO -C. +C. @item %I Substitute a @samp{-iprefix} option made from GCC_EXEC_PREFIX. @@ -4207,7 +4207,7 @@ Substitute a @samp{-iprefix} option made from GCC_EXEC_PREFIX. @item %s Current argument is the name of a library or startup file of some sort. Search for that file in a standard list of directories and substitute -the full name found. +the full name found. @item %e@var{str} Print @var{str} as an error message. @var{str} is terminated by a newline. @@ -4264,7 +4264,7 @@ command line passed to the linker. Typically it will make use of the @item %D Dump out a @samp{-L} option for each directory that GCC believes might contain startup files. If the target supports multilibs then the -current multilib directory will be prepended to each of these paths. +current multilib directory will be prepended to each of these paths. @item %M Output the multilib directory with directory seperators replaced with @@ -4273,20 +4273,20 @@ Output the multilib directory with directory seperators replaced with @item %L Process the @code{lib} spec. This is a spec string for deciding which -libraries should be included on the command line to the linker. +libraries should be included on the command line to the linker. @item %G Process the @code{libgcc} spec. This is a spec string for deciding -which GCC support library should be included on the command line to the linker. +which GCC support library should be included on the command line to the linker. @item %S Process the @code{startfile} spec. This is a spec for deciding which object files should be the first ones passed to the linker. Typically -this might be a file named @file{crt0.o}. +this might be a file named @file{crt0.o}. @item %E Process the @code{endfile} spec. This is a spec string that specifies -the last object files that will be passed to the linker. +the last object files that will be passed to the linker. @item %C Process the @code{cpp} spec. This is used to construct the arguments @@ -4294,7 +4294,7 @@ to be passed to the C preprocessor. @item %c Process the @code{signed_char} spec. This is intended to be used -to tell cpp whether a char is signed. It typically has the definition: +to tell cpp whether a char is signed. It typically has the definition: @smallexample %@{funsigned-char:-D__CHAR_UNSIGNED__@} @end smallexample @@ -4322,14 +4322,14 @@ and would output the command line option @samp{-foo}. @item %W@{@code{S}@} Like %@{@code{S}@} but mark last argument supplied within as a file to be -deleted on failure. +deleted on failure. @item %@{@code{S}*@} Substitutes all the switches specified to GCC whose names start with @code{-S}, but which also take an argument. This is used for switches like @samp{-o, -D, -I}, etc. GCC considers @samp{-o foo} as being one switch whose names starts with @samp{o}. %@{o*@} would substitute this -text, including the space. Thus two arguments would be generated. +text, including the space. Thus two arguments would be generated. @item %@{^@code{S}*@} Like %@{@code{S}*@}, but don't put a blank between a switch and its @@ -4351,7 +4351,7 @@ string after this option will not. Substitutes @code{X} if one or more switches whose names start with @code{-S} are specified to GCC. Note that the tail part of the @code{-S} option (i.e. the part matched by the @samp{*}) will be substituted -for each occurrence of @samp{%*} within @code{X}. +for each occurrence of @samp{%*} within @code{X}. @item %@{@code{S}:@code{X}@} Substitutes @code{X}, but only if the @samp{-S} switch was given to GCC. @@ -4396,7 +4396,7 @@ jim.d -bar -boggle The conditional text @code{X} in a %@{@code{S}:@code{X}@} or %@{!@code{S}:@code{X}@} construct may contain other nested @samp{%} constructs or spaces, or even newlines. They are processed as usual, as described -above. +above. The @samp{-O, -f, -m, and -W} switches are handled specifically in these constructs. If another value of @samp{-O} or the negated form of a @samp{-f, -m, or @@ -4414,7 +4414,7 @@ compiler's spec to say which switches take arguments. But this cannot be done in a consistent fashion. GCC cannot even decide which input files have been specified without knowing which switches take arguments, and it must know which input files to compile in order to tell which -compilers to run). +compilers to run). GCC also knows implicitly that arguments starting in @samp{-l} are to be treated as compiler output files, and passed to the linker in their @@ -4630,7 +4630,7 @@ CPU32 or CPU32+ core, including the 68330, 68331, 68332, 68333, 68334, Generate output for a 520X "coldfire" family cpu. This is the default when the compiler is configured for 520X-based systems. -Use this option for microcontroller with a 5200 core, including +Use this option for microcontroller with a 5200 core, including the MCF5202, MCF5203, MCF5204 and MCF5202. @@ -4695,7 +4695,7 @@ The @code{rtd} instruction is supported by the 68010, 68020, 68030, @item -malign-int @itemx -mno-align-int -Control whether GCC aligns @code{int}, @code{long}, @code{long long}, +Control whether GCC aligns @code{int}, @code{long}, @code{long long}, @code{float}, @code{double}, and @code{long double} variables on a 32-bit boundary (@samp{-malign-int}) or a 16-bit boundary (@samp{-mno-align-int}). Aligning variables on 32-bit boundaries produces code that runs somewhat @@ -4725,7 +4725,7 @@ the system. @cindex M68hc1x options These are the @samp{-m} options defined for the 68hc11 and 68hc12 -microcontrollers. The default values for these options depends on +microcontrollers. The default values for these options depends on which style of microcontroller was selected when the compiler was configured; the defaults for the most common choices are given below. @@ -4965,7 +4965,7 @@ handlers. @end table These @samp{-m} switches are supported in addition to the above -on SPARC V9 processors in 64 bit environments. +on SPARC V9 processors in 64-bit environments. @table @gcctabopt @item -mlittle-endian @@ -4973,9 +4973,9 @@ Generate code for a processor running in little-endian mode. @item -m32 @itemx -m64 -Generate code for a 32 bit or 64 bit environment. -The 32 bit environment sets int, long and pointer to 32 bits. -The 64 bit environment sets int to 32 bits and long and pointer +Generate code for a 32-bit or 64-bit environment. +The 32-bit environment sets int, long and pointer to 32 bits. +The 64-bit environment sets int to 32 bits and long and pointer to 64 bits. @item -mcmodel=medlow @@ -4997,9 +4997,9 @@ Pointers are 64 bits. @item -mcmodel=embmedany Generate code for the Medium/Anywhere code model for embedded systems: -assume a 32 bit text and a 32 bit data segment, both starting anywhere +assume a 32-bit text and a 32-bit data segment, both starting anywhere (determined at link time). Register %g4 points to the base of the -data segment. Pointers still 64 bits. +data segment. Pointers are still 64 bits. Programs are statically linked, PIC is not supported. @item -mstack-bias @@ -5314,22 +5314,22 @@ address is aligned to a word boundary. This option is ignored when compiling for ARM architecture 4 or later, since these processors have instructions to directly access half-word -objects in memory. - +objects in memory. + @item -mno-alignment-traps @kindex -mno-alignment-traps Generate code that assumes that the MMU will not trap unaligned accesses. This produces better code when the target instruction set does not have half-word memory operations (implementations prior to -ARMv4). +ARMv4). Note that you cannot use this option to access unaligned word objects, since the processor will only fetch one 32-bit aligned object from -memory. +memory. The default setting for most targets is -mno-alignment-traps, since this produces better code when there are no half-word memory -instructions available. +instructions available. @item -mshort-load-bytes @kindex -mshort-load-bytes @@ -5428,7 +5428,7 @@ Tells the compiler to perform function calls by first loading the address of the function into a register and then performing a subroutine call on this register. This switch is needed if the target function will lie outside of the 64 megabyte addressing range of the offset based -version of subroutine call instruction. +version of subroutine call instruction. Even if this switch is enabled, not all function calls will be turned into long calls. The heuristic is that static functions, functions @@ -5446,7 +5446,7 @@ This feature is not enabled by default. Specifying placing the function calls within the scope of a @samp{#pragma long_calls_off} directive. Note these switches have no effect on how the compiler generates code to handle function calls via function -pointers. +pointers. @item -mnop-fun-dllimport @kindex -mnop-fun-dllimport @@ -5486,14 +5486,14 @@ with this option. @kindex -mno-tpcs-frame Generate a stack frame that is compliant with the Thumb Procedure Call Standard for all non-leaf functions. (A leaf function is one that does -not call any other functions). The default is @samp{-mno-apcs-frame}. +not call any other functions). The default is @samp{-mno-apcs-frame}. @item -mtpcs-leaf-frame @kindex -mtpcs-leaf-frame @kindex -mno-tpcs-leaf-frame Generate a stack frame that is compliant with the Thumb Procedure Call Standard for all leaf functions. (A leaf function is one that does -not call any other functions). The default is @samp{-mno-apcs-leaf-frame}. +not call any other functions). The default is @samp{-mno-apcs-leaf-frame}. @item -mlittle-endian @kindex -mlittle-endian @@ -5559,7 +5559,7 @@ Indicate to the linker that it should perform a relaxation optimization pass to shorten branches, calls and absolute memory addresses. This option only has an effect when used on the command line for the final link step. -This option makes symbolic debugging impossible. +This option makes symbolic debugging impossible. @end table @node MN10300 Options @@ -5588,7 +5588,7 @@ Indicate to the linker that it should perform a relaxation optimization pass to shorten branches, calls and absolute memory addresses. This option only has an effect when used on the command line for the final link step. -This option makes symbolic debugging impossible. +This option makes symbolic debugging impossible. @end table @@ -5609,12 +5609,12 @@ The addressability of a particular object can be set with the @code{model} attribute. @item -mcode-model=medium -Assume objects may be anywhere in the 32 bit address space (the compiler +Assume objects may be anywhere in the 32-bit address space (the compiler will generate @code{seth/add3} instructions to load their addresses), and assume all subroutines are reachable with the @code{bl} instruction. @item -mcode-model=large -Assume objects may be anywhere in the 32 bit address space (the compiler +Assume objects may be anywhere in the 32-bit address space (the compiler will generate @code{seth/add3} instructions to load their addresses), and assume subroutines may not be reachable with the @code{bl} instruction (the compiler will generate the much slower @code{seth/add3/jl} @@ -5982,19 +5982,19 @@ specify generic POWER, POWER2, pure 32-bit PowerPC (i.e., not MPC601), and 64-bit PowerPC architecture machine types, with an appropriate, generic processor model assumed for scheduling purposes.@refill -Specifying any of the following options: +Specifying any of the following options: @samp{-mcpu=rios1}, @samp{-mcpu=rios2}, @samp{-mcpu=rsc}, -@samp{-mcpu=power}, or @samp{-mcpu=power2} -enables the @samp{-mpower} option and disables the @samp{-mpowerpc} option; +@samp{-mcpu=power}, or @samp{-mcpu=power2} +enables the @samp{-mpower} option and disables the @samp{-mpowerpc} option; @samp{-mcpu=601} enables both the @samp{-mpower} and @samp{-mpowerpc} options. All of @samp{-mcpu=rs64a}, @samp{-mcpu=602}, @samp{-mcpu=603}, @samp{-mcpu=603e}, @samp{-mcpu=604}, @samp{-mcpu=620}, @samp{-mcpu=630}, @samp{-mcpu=740}, and @samp{-mcpu=750} -enable the @samp{-mpowerpc} option and disable the @samp{-mpower} option. +enable the @samp{-mpowerpc} option and disable the @samp{-mpower} option. Exactly similarly, all of @samp{-mcpu=403}, -@samp{-mcpu=505}, @samp{-mcpu=821}, @samp{-mcpu=860} and @samp{-mcpu=powerpc} +@samp{-mcpu=505}, @samp{-mcpu=821}, @samp{-mcpu=860} and @samp{-mcpu=powerpc} enable the @samp{-mpowerpc} option and disable the @samp{-mpower} option. -@samp{-mcpu=common} disables both the +@samp{-mcpu=common} disables both the @samp{-mpower} and @samp{-mpowerpc} options.@refill AIX versions 4 or greater selects @samp{-mcpu=common} by default, so @@ -6408,7 +6408,7 @@ root instructions). @samp{r6000} is the default @var{cpu type} at this ISA level. @item -mips3 -Issue instructions from level 3 of the MIPS ISA (64 bit instructions). +Issue instructions from level 3 of the MIPS ISA (64-bit instructions). @samp{r4000} is the default @var{cpu type} at this ISA level. @item -mips4 @@ -6575,7 +6575,7 @@ when executing, and thus may be preferred for some embedded systems. @itemx -mno-uninit-const-in-rodata When used together with -membedded-data, it will always store uninitialized const variables in the read-only data section. - + @item -msingle-float @itemx -mdouble-float The @samp{-msingle-float} switch tells gcc to assume that the floating @@ -6664,7 +6664,7 @@ AMD chips as opposed to the Intel ones. @item -march=@var{cpu type} Generate instructions for the machine type @var{cpu type}. The choices -for @var{cpu type} are the same as for @samp{-mcpu}. Moreover, +for @var{cpu type} are the same as for @samp{-mcpu}. Moreover, specifying @samp{-march=@var{cpu type}} implies @samp{-mcpu=@var{cpu type}}. @item -m386 @@ -6731,7 +6731,7 @@ impossible to reach with 12 byte long doubles in the array accesses. @strong{Warning:} if you use the @samp{-m128bit-long-double} switch, the structures and arrays containing @code{long double} will change their size as well as function calling convention for function taking @code{long double} -will be modified. +will be modified. @item -m96bit-long-double @itemx -m96bit-long-double @@ -6747,7 +6747,7 @@ These options are meaningful only on System V Release 3. @item -mno-wide-multiply @itemx -mwide-multiply Control whether GCC uses the @code{mul} and @code{imul} that produce -64 bit results in @code{eax:edx} from 32 bit operands to do @code{long +64-bit results in @code{eax:edx} from 32-bit operands to do @code{long long} multiplies and 32-bit division by constants. @item -mrtd @@ -6820,7 +6820,7 @@ Streaming SIMD Extension (SSE) data type @code{__m128} suffers similar penalties if it is not 16 byte aligned. To ensure proper alignment of this values on the stack, the stack boundary -must be as aligned as that required by any value stored on the stack. +must be as aligned as that required by any value stored on the stack. Further, every function must be generated such that it keeps the stack aligned. Thus calling a function compiled with a higher preferred stack boundary from a function compiled with a lower preferred stack @@ -6849,10 +6849,10 @@ increase in code size. This switch implies -mno-push-args. @item -mthreads @kindex -mthreads -Support thread-safe exception handling on @samp{Mingw32}. Code that relies -on thread-safe exception handling must compile and link all code with the -@samp{-mthreads} option. When compiling, @samp{-mthreads} defines -@samp{-D_MT}; when linking, it links in a special thread helper library +Support thread-safe exception handling on @samp{Mingw32}. Code that relies +on thread-safe exception handling must compile and link all code with the +@samp{-mthreads} option. When compiling, @samp{-mthreads} defines +@samp{-D_MT}; when linking, it links in a special thread helper library @samp{-lmingwthrd} which cleans up per thread exception handling data. @item -mno-align-stringops @@ -6887,7 +6887,7 @@ other way around. PA 2.0 support currently requires gas snapshot 19990413 or later. The next release of binutils (current is 2.9.1) will probably contain PA 2.0 -support. +support. @item -mpa-risc-1-0 @itemx -mpa-risc-1-1 @@ -6940,8 +6940,8 @@ Enable the use of assembler directives only GAS understands. @item -mschedule=@var{cpu type} Schedule code according to the constraints for the machine type -@var{cpu type}. The choices for @var{cpu type} are @samp{700} -@samp{7100}, @samp{7100LC}, @samp{7200}, and @samp{8000}. Refer to +@var{cpu type}. The choices for @var{cpu type} are @samp{700} +@samp{7100}, @samp{7100LC}, @samp{7200}, and @samp{8000}. Refer to @file{/usr/lib/sched.models} on an HP-UX system to determine the proper scheduling option for your machine. @@ -7120,8 +7120,8 @@ IEEE @var{inexact flag}. Turning on this option causes the generated code to implement fully-compliant IEEE math. The option is a shorthand for @samp{-D_IEEE_FP -D_IEEE_FP_INEXACT} plus the three following: @samp{-mieee-conformant}, -@samp{-mfp-trap-mode=sui}, -and @samp{-mtrap-precision=i}. +@samp{-mfp-trap-mode=sui}, +and @samp{-mtrap-precision=i}. On some Alpha implementations the resulting code may execute significantly slower than the code generated by default. Since there is very little code that depends on the @var{inexact flag}, you should @@ -7383,7 +7383,7 @@ Compile code for the processor in big endian mode. Compile code for the processor in little endian mode. @item -mdalign -Align doubles at 64 bit boundaries. Note that this changes the calling +Align doubles at 64-bit boundaries. Note that this changes the calling conventions, and thus some functions from the standard C library will not work unless you recompile it first with -mdalign. @@ -7485,7 +7485,7 @@ memory access. @item -mbk @itemx -mno-bk Allow (disallow) allocation of general integer operands into the block -count register BK. +count register BK. @item -mdb @itemx -mno-db @@ -7625,7 +7625,7 @@ area can hold up to 64 kilobytes. @item -mzda=@var{n} Put static or global variables whose size is @var{n} bytes or less into the first 32 kilobytes of memory. - + @item -mv850 Specify that the target processor is the V850. @@ -7840,7 +7840,7 @@ Change only the low 8 bits of the stack pointer. @cindex MCore options These are the @samp{-m} options defined for the Motorola M*Core -processors. +processors. @table @gcctabopt @@ -8582,7 +8582,7 @@ with @samp{-q}. The output from @code{protoize} or @code{unprotoize} replaces the original source file. The original file is renamed to a name ending -with @samp{.save} (for DOS, the saved filename ends in @samp{.sav} +with @samp{.save} (for DOS, the saved filename ends in @samp{.sav} without the original @samp{.c} suffix). If the @samp{.save} (@samp{.sav} for DOS) file already exists, then the source file is simply discarded. @@ -8618,7 +8618,7 @@ the @var{compilation-options}, they are ignored. @item -C Rename files to end in @samp{.C} (@samp{.cc} for DOS-based file -systems) instead of @samp{.c}. This is convenient if you are converting +systems) instead of @samp{.c}. This is convenient if you are converting a C program to C++. This option applies only to @code{protoize}. @item -g @@ -8687,4 +8687,3 @@ exist, because otherwise they won't get converted. @xref{Protoize Caveats}, for more information on how to use @code{protoize} successfully. - diff --git a/gcc/tm.texi b/gcc/tm.texi index bf4c1a7..7d0242e 100644 --- a/gcc/tm.texi +++ b/gcc/tm.texi @@ -740,7 +740,7 @@ If a target needs per-function specific data it should define the type @code{INIT_EXPANDERS}. This macro should be used to initialise some or all of the function pointers @code{init_machine_status}, @code{free_machine_status} and @code{mark_machine_status}. These -pointers are explained below. +pointers are explained below. One typical use of per-function, target specific data is to create an RTX to hold the register containing the function's return address. This @@ -752,7 +752,7 @@ all of the per-function information. Thus when processing of a nested function began the old per-function data had to be pushed onto a stack, and when the processing was finished, it had to be popped off the stack. GCC used to provide function pointers called -@code{save_machine_status} and @code{restore_machine_status} to handle +@code{save_machine_status} and @code{restore_machine_status} to handle the saving and restoring of the target specific information. Since the single data area approach is no longer used, these pointers are no longer supported. @@ -1250,7 +1250,7 @@ If @code{DEFAULT_VTABLE_THUNKS} is 0, GCC uses the traditional implementation by default. The ``thunk'' implementation is more efficient (especially if you have provided an implementation of @code{ASM_OUTPUT_MI_THUNK}, see @ref{Function Entry}), but is not binary -compatible with code compiled using the traditional implementation. +compatible with code compiled using the traditional implementation. If you are writing a new port, define @code{DEFAULT_VTABLE_THUNKS} to 1. If you do not define this macro, the default for @samp{-fvtable-thunk} is 0. @@ -1569,7 +1569,7 @@ Zero or more C statements that may conditionally modify five variables Before the macro is called @code{fixed_regs}, @code{call_used_regs} @code{reg_class_contents} and @code{reg_names} have been initialized from @code{FIXED_REGISTERS}, @code{CALL_USED_REGISTERS}, -@code{REG_CLASS_CONTENTS} and @code{REGISTER_NAMES}, respectively, +@code{REG_CLASS_CONTENTS} and @code{REGISTER_NAMES}, respectively, @code{global_regs} has been cleared, and any @samp{-ffixed-@var{reg}}, @samp{-fcall-used-@var{reg}} and @samp{-fcall-saved-@var{reg}} command options have been applied. @@ -1788,7 +1788,7 @@ This macro takes 4 parameters: @code{XMODE} - The mode of xregno. @code{OFFSET} - The byte offset. @code{YMODE} - The mode of a top level SUBREG (or what may become one). -The default function can be found in rtlanal.c, function +The default function can be found in rtlanal.c, function @code{subreg_regno_offset}. Normally this does not need to be defined. @end table @@ -2491,7 +2491,7 @@ debugging information like that provided by DWARF 2. @item ARG_POINTER_CFA_OFFSET (@var{fundecl}) A C expression whose value is an integer giving the offset, in bytes, from the argument pointer to the canonical frame address (cfa). The -final value should coincide with that calculated by +final value should coincide with that calculated by @code{INCOMING_FRAME_SP_OFFSET}. Which is unfortunately not usable during virtual register instantiation. @@ -2527,7 +2527,7 @@ to store a stack adjustment to be applied before function return. This is used to unwind the stack to an exception handler's call frame. It will be assigned zero on code paths that return normally. -Typically this is a call-clobbered hard register that is otherwise +Typically this is a call-clobbered hard register that is otherwise untouched by the epilogue, but could also be a stack slot. You must define this macro if you want to support call frame exception @@ -2536,12 +2536,12 @@ handling like that provided by DWARF 2. @findex EH_RETURN_HANDLER_RTX @item EH_RETURN_HANDLER_RTX A C expression whose value is RTL representing a location in which -to store the address of an exception handler to which we should +to store the address of an exception handler to which we should return. It will not be assigned on code paths that return normally. Typically this is the location in the call frame at which the normal -return address is stored. For targets that return by popping an -address off the stack, this might be a memory address just below +return address is stored. For targets that return by popping an +address off the stack, this might be a memory address just below the @emph{target} call frame rather than inside the current call frame. @code{EH_RETURN_STACKADJ_RTX} will have already been assigned, so it may be used to calculate the location of the target call frame. @@ -2592,8 +2592,8 @@ will use the third approach. @findex STACK_CHECK_BUILTIN @item STACK_CHECK_BUILTIN A nonzero value if stack checking is done by the configuration files in a -machine-dependent manner. You should define this macro if stack checking -is require by the ABI of your machine or if you would like to have to stack +machine-dependent manner. You should define this macro if stack checking +is require by the ABI of your machine or if you would like to have to stack checking in some more efficient way than GCC's portable approach. The default value of this macro is zero. @@ -2606,7 +2606,7 @@ default value of 4096 is suitable for most systems. @findex STACK_CHECK_PROBE_LOAD @item STACK_CHECK_PROBE_LOAD -A integer which is nonzero if GCC should perform the stack probe +A integer which is nonzero if GCC should perform the stack probe as a load instruction and zero if GCC should use a store instruction. The default is zero, which is the most efficient choice on most systems. @@ -3047,7 +3047,7 @@ register in which to pass this part of the argument, and the mode of the register RTX indicates how large this part of the argument is. The second operand of the @code{expr_list} is a @code{const_int} which gives the offset in bytes into the entire argument of where this part starts. -As a special exception the first @code{expr_list} in the @code{parallel} +As a special exception the first @code{expr_list} in the @code{parallel} RTX may have a first operand of zero. This indicates that the entire argument is also stored on the stack. @@ -3222,8 +3222,8 @@ constant size shorter than an @code{int}, and upward otherwise. @findex PAD_VARARGS_DOWN @item PAD_VARARGS_DOWN -If defined, a C expression which determines whether the default -implementation of va_arg will attempt to pad down before reading the +If defined, a C expression which determines whether the default +implementation of va_arg will attempt to pad down before reading the next argument, if that argument is smaller than its aligned space as controlled by @code{PARM_BOUNDARY}. If this macro is not defined, all such arguments are padded down if @code{BYTES_BIG_ENDIAN} is true. @@ -3246,7 +3246,7 @@ stack. @findex LOAD_ARGS_REVERSED @item LOAD_ARGS_REVERSED If defined, the order in which arguments are loaded into their -respective argument registers is reversed so that the last +respective argument registers is reversed so that the last argument is loaded first. This macro only affects arguments passed in registers. @@ -3459,7 +3459,7 @@ must live across calls. @item DEFAULT_CALLER_SAVES Define this macro if function calls on the target machine do not preserve any registers; in other words, if @code{CALL_USED_REGISTERS} has 1 -for all registers. When defined, this macro enables @samp{-fcaller-saves} +for all registers. When defined, this macro enables @samp{-fcaller-saves} by default for all optimization levels. It has no effect for optimization levels 2 and higher, where @samp{-fcaller-saves} is the default. @@ -3938,12 +3938,12 @@ return 0. @findex FUNCTION_OK_FOR_SIBCALL @item FUNCTION_OK_FOR_SIBCALL (@var{decl}) A C expression that evaluates to true if it is ok to perform a sibling -call to @var{decl}. +call to @var{decl}. It is not uncommon for limitations of calling conventions to prevent tail calls to functions outside the current unit of translation, or during PIC compilation. Use this macro to enforce these restrictions, -as the @code{sibcall} md pattern can not fail, or fall over to a +as the @code{sibcall} md pattern can not fail, or fall over to a ``normal'' call. @end table @@ -4700,7 +4700,7 @@ A C compound statement that attempts to replace @var{x}, which is an address that needs reloading, with a valid memory address for an operand of mode @var{mode}. @var{win} will be a C statement label elsewhere in the code. It is not necessary to define this macro, but it might be useful for -performance reasons. +performance reasons. For example, on the i386, it is sometimes possible to use a single reload register instead of two by reloading a sum of two pseudo @@ -4841,7 +4841,7 @@ two places, the @file{md} file and in @code{NOTICE_UPDATE_CC}. @findex EXTRA_CC_MODES @item EXTRA_CC_MODES -A list of additional modes for condition code values in registers +A list of additional modes for condition code values in registers (@pxref{Jump Patterns}). This macro should expand to a sequence of calls of the macro @code{CC} separated by white space. @code{CC} takes two arguments. The first is the enumeration name of the mode, which @@ -4994,7 +4994,7 @@ calculation is used for any RTL for which this macro does not return a value. This macro is optional; do not define it if the default cost assumptions -are adequate for the target machine. +are adequate for the target machine. @findex ADDRESS_COST @item ADDRESS_COST (@var{address}) @@ -5379,7 +5379,7 @@ data section. @findex JUMP_TABLES_IN_TEXT_SECTION @item JUMP_TABLES_IN_TEXT_SECTION -Define this macro to be an expression with a non-zero value if jump +Define this macro to be an expression with a non-zero value if jump tables (for @code{tablejump} insns) should be output in the text section, along with the assembler instructions. Otherwise, the readonly data section is used. @@ -5697,8 +5697,8 @@ default is @code{"\t.byte\t"}. @item UNALIGNED_SHORT_ASM_OP @itemx UNALIGNED_INT_ASM_OP @itemx UNALIGNED_DOUBLE_INT_ASM_OP -A C string constant, including spacing, giving the pseudo-op to use -to assemble 16, 32, and 64 bit integers respectively @emph{without} +A C string constant, including spacing, giving the pseudo-op to use +to assemble 16-, 32-, and 64-bit integers respectively @emph{without} adding implicit padding or alignment. These macros are required if DWARF 2 frame unwind is used. On ELF systems, these will default to @code{.2byte}, @code{.4byte}, and @code{.8byte}.@refill @@ -6819,7 +6819,7 @@ If this macro is not defined, nothing special is output at the end of the jump-table. @end table -@node Exception Region Output +@node Exception Region Output @subsection Assembler Commands for Exception Regions @c prevent bad page break with this line @@ -6936,7 +6936,7 @@ implementation. @findex LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP @item LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP -The maximum number of bytes to skip when applying +The maximum number of bytes to skip when applying @code{LABEL_ALIGN_AFTER_BARRIER}. This works only if @code{ASM_OUTPUT_MAX_SKIP_ALIGN} is defined. @@ -7693,7 +7693,7 @@ return an integer value not larger than the corresponding element in NUM_MODES_FOR_MODE_SWITCHING, to denote the mode that @var{entity} must be switched into prior to the execution of INSN. -@findex NORMAL_MODE +@findex NORMAL_MODE @item NORMAL_MODE (@var{entity}) If this macro is defined, it is evaluated for every @var{entity} that needs mode switching. It should evaluate to an integer, which is a mode that @@ -7753,9 +7753,9 @@ declaration will be generated in @file{insn-codes.h}. @item SPECIAL_MODE_PREDICATES @findex SPECIAL_MODE_PREDICATES Define this if you have special predicates that know special things -about modes. Genrecog will warn about certain forms of +about modes. Genrecog will warn about certain forms of @code{match_operand} without a mode; if the operand predicate is -listed in @code{SPECIAL_MODE_PREDICATES}, the warning will be +listed in @code{SPECIAL_MODE_PREDICATES}, the warning will be suppressed. Here is an example from the IA-32 port (@code{ext_register_operand} @@ -7777,7 +7777,7 @@ elements of a jump-table should have. Optional: return the preferred mode for an @code{addr_diff_vec} when the minimum and maximum offset are known. If you define this, it enables extra code in branch shortening to deal with @code{addr_diff_vec}. -To make this work, you also have to define INSN_ALIGN and +To make this work, you also have to define INSN_ALIGN and make the alignment for @code{addr_diff_vec} explicit. The @var{body} argument is provided so that the offset_unsigned and scale flags can be updated. |