bug-gnupress
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-gnupress] Mods to gcc.008.txt (#3)


From: Paul A. Crable
Subject: [Bug-gnupress] Mods to gcc.008.txt (#3)
Date: Sat, 7 Jun 2003 20:39:29 -0700

These are the modifications to sections 3.17.23 to 3.17.25 of
gcc.008.txt.

---------------------------------------

Replace

"-mlong-calls
"-mno-long-calls
"Treat all calls as being far away (near). If calls are assumed to be
far
away, the compiler will always load the functions address up into a
register, and call indirect through the pointer."

with

"-mlong-calls
"-mno-long-calls
    "Treat all calls as being far (-mlong-calls)
    or near (-mno-long-calls). If -mlong-calls is
    set, the compiler will always load the
    function's address into a register and then
    and call indirect through the pointer.  If
    neither is specified, then ???????????????? is
    set by default."

Replace

"-mno-ep
"-mep
"Do not optimize (do optimize) basic blocks that use the same index
pointer 4 or more times to copy pointer into the ep register, and use
the shorter sld and sst instructions. The `-mep' option is on by
default
if you optimize."

with

"-mno-ep
"-mep
    "Optimize (-mep) or do not optimize (-mno-ep)
    basic blocks.  Optimize basic blocks that use
    the same index pointer more than three times
    by copying the pointer into the EP register
    and then using the shorter SLD and SST
    instructions.  If neither is specified, then
    ???????????????? is set by default."

NOTE:  This statement is unclear so I have removed it:  "The `-mep'
option is on by default if you optimize."

Replace:

"-mno-prolog-function
"-mprolog-function
"Do not use (do use) external functions to save and restore registers
at the prolog and epilog of a function. The external functions are
slower, but use less code space if more than one function saves the
same number of registers. The `-mprolog-function' option is on by
default if you optimize."

with:

"-mno-prolog-function
"-mprolog-function
    "Use (-mprolog-function) or do not use (-mno-
    prolog-function) external functions to save
    and to restore registers at the prolog and
    epilog of a function.  External functions are
    slower but consume less memory if more than
    one function saves the same number of
    registers.  If neither is specified, then
    ???????????????? is set by default."

NOTE:  This statement is unclear so I have removed it:  "The
`-mprolog-function' option is on by default if you optimize."

Replace

"-mspace

"Try to make the code as small as possible. At present, this just
turns
on the `-mep' and `-mprolog-function' options."

with:

"-mspace
    "Set both the `-mep' and `-mprolog-function'
    options, which together will yield the
    smallest code."

Replace

"-mtda=n

"Put static or global variables whose size is n bytes or less into
the tiny
data area that register ep points to. The tiny data area can hold up
to
256 bytes in total (128 bytes for byte references)."

with

"-mtda=n
    "Put static or global variables whose size is
    n bytes or fewer into the tiny data area to
    which register EP points. The tiny data area
    can hold up to 256 bytes (128 bytes for byte
    references). If -mtda is unspecified, then
    ?????????????????????????"

Replace

"-msda=n
"Put static or global variables whose size is n bytes or less into
the small
data area that register gp points to. The small data area can hold up
to 64 kilobytes."

with

"-msda=n
    "Put static or global variables whose size is
    n bytes or fewer into the small data area to
    which register GP points.  The small data area
    can hold up to 64 kilobytes.  If -msda is
    unspecified, then ???????????????????????"

Replace

"-mzda=n
"Put static or global variables whose size is n bytes or less into
the rst
32 kilobytes of memory."

with

"-mzda=n
    "Put static or global variables whose size is
    n bytes or fewer into the first 32 kilobytes
    of memory.  If -mzda is unspecified, then
    ?????????????????????????"

Replace

"-mv850
"Specify that the target processor is the V850."

with

"-mv850
    "Specify that the target processor is the
    V850.  If -mv850 is not specified, then
    ????????????????"

Replace

"-mbig-switch
"Generate code suitable for big switch tables. Use this option only
if
the assembler/linker complain about out of range branches within a
switch table."

with

"-mbig-switch
    "Generate code suitable for big switch tables.
    Use this option only if the assembler or
    linker complain that branches are out of range
    within a switch table.  If -mbig-switch is
    unspecified, then ??????????????????"

Replace

"-mapp-regs
"This option will cause r2 and r5 to be used in the code generated by
the compiler. This setting is the default."

with

"-mapp-regs
    "Use R2 and R5.  This option is set by
    default."

Replace

"-mv850e
"Specify that the target processor is the V850E. The preprocessor
con­
stant `__v850e__' will be dened if this option is used.
If neither `-mv850' nor `-mv850e' are dened then a default target
proces­
sor will be chosen and the relevant `__v850*__' preprocessor constant
will be dened.
"The preprocessor constants `__v850' and `__v851__' are always
dened,
regardless of which processor variant is the target."

with

"-mv850e
    "Specify that the target processor is the
    V850E. The preprocessor constant `__v850e__'
    will be defined if this option is used. If
    neither `-mv850' nor `-mv850e' are defined,
    then GCC will chose a default target processor
    and define the relevant `__v850*__'
    preprocessor constant.

    "The preprocessor constants `__v850' and
    `__v851__' are always defined, regardless of
    which processor variant is the target."

Replace

"-mdisable-callt
"This option will suppress generation of the CALLT instruction
for the v850e avors of the v850 architecture. The default is
`-mno-disable-callt' which allows the CALLT instruction to be used."

with

"-mdisable-callt
"-mno-disable-callt
    "Suppress (-mno-disable-callt) or allow (-
    mdisable-callt) generating the CALLT
    instruction for the v850e flavors of the v850
    architecture.  If neither is specified, then
    `-mno-disable-callt' is set by default,
    allowing the CALLT instruction to be used.

Replace

"-EL
"Compile code for little endian mode. This is the default.

"-EB
"Compile code for big endian mode.

with

"-EL
"-EB
    "Compile code for little (-EL) or big (-EB)
    endian mode. If neither is specified, then -EL
    is set by default."

Replace

"-mmangle-cpu
"Prepend the name of the cpu to all public symbol names. In multiple­
processor systems, there are many ARC variants with different in­
struction and register set characteristics. This ag prevents code
com­
piled for one cpu to be linked with code compiled for another. No
facility exists for handling variants that are ìalmost identicalî.
This
is an all or nothing option."

with

"-mmangle-cpu
    "Prepend the name of the cpu to all public
    symbol names. Many ARC variants with different
    instruction and register set characteristics
    exist in multiple processor systems. This flag
    prevents code compiled for one cpu to be
    linked with code compiled for another.
    Unfortunately, no facility exists for handling
    variants that are almost identical. This is an
    all-or-nothing option."

Replace

"-mcpu=cpu
"Compile code for ARC variant cpu. Which variants are supported
depend on the conguration. All variants support `-mcpu=base', this
is the default."

with

"-mcpu=cpu
    "Compile code for ARC variant cpu. Which
    variants are supported depend on the
    configuration. All variants support `-
    mcpu=base', which is the default if -mcpu is
    not specified.  Acceptable values for cpu are
    ????????????????. If an unacceptable value is
    specified for cpu, then
    ????????????????????????"

NOTE: What is "the configuration"?

Replace

"-mtext=text-section
"-mdata=data-section
"-mrodata=readonly-data-section
"Put functions, data, and readonly data in text­section,
data­section, and
readonly­data­section respectively by default. This can be overridden
with the section attribute. See Section 5.33 [Variable Attributes],
page 201."

with

"-mtext=text-section
"-mdata=data-section
"-mrodata=readonly-data-section
    "Put functions, data, and read-only data in
    text­section, data­section, and
    readonly­data­section respectively.  This can
    be overridden with the section attribute, for
    which see section 5.33 [Variable Attributes],
    on page 201. The default values for text-
    section, data-section, and readonly-data-
    section are ???????????, ?????????????, and
    ????????????? respectively"

Replace

"-m32032
"Generate output for a 32032. This is the default when the compiler
is configured for 32032- and 32016-based systems."

with

"-m32032
    "Generate output for a 32032. This is the
    default when the compiler is configured for
    32032- and 32016-based systems."

Replace

"-m32332
"-m32332
"Generate output for a 32332. This is the default when the compiler
is
congured for 32332­based systems."

with

"-m32332
    "Generate output for a 32332. This is the
    default when the compiler is configured for
    32332­based systems."

Replace

"-m32381
"Generate output containing 32381 instructions for oating point.
This
also implies `-m32081'. The 32381 is only compatible with the 32332
and 32532 cpus. This is the default for the pc532­netbsd
conguration."

with

"-m32381
    "Generate output containing 32381 instructions
    for floating point processing.  When this
    option is specified, then -m32081 is also
    specified by default.  The 32381 is only
    compatible with the 32332 and 32532 cpu's.
    This is set by default in the pc532­netbsd
    configuration."

Replace

"-mmulti-add
"Try and generate multiply­add oating point instructions polyF and
dotF. This option is only available if the `-m32381' option is in
effect.
Using these instructions requires changes to register allocation
which
generally has a negative impact on performance. This option should
only be enabled when compiling code particularly likely to make
heavy use of multiply­add instructions."

"-mnomulti-add
"Do not try and generate multiply­add oating point instructions
polyF
and dotF. This is the default on all platforms."

with

"-mmulti-add
"-mnomulti-add
    "Generate (-mmulti-add) or do not generate (-
    mnomulti-add) output that includes the
    multiply­add foating point instructions polyF
    and dotF.  In using these instructions, GCC
    must change register allocation in a manner
    that adversely affects performance.  Use -
    mmulti-add only when compiling code
    particularly likely to make heavy use of
    multiply­add instructions.  -mmulti-add is
    recognized only if the `-m32381' option is in
    effect. If neither option is specified, then -
    mnomulti-add is set by default"

    ???????????????? The preceeding option is not
    well defined but I have done the best I could.

Replace

"-msoft-float
"Generate output containing library calls for oating point. Warning:
the requisite libraries may not be available."

with

"-msoft-float
    "Generate output containing calls to software
    for floating point operations.  Be sure the
    software libraries are available when the
    program is linked."

Replace

"-mieee-compare
"-mno-ieee-compare
"Control whether or not the compiler uses IEEE oating point compar­
isons. These handle correctly the case where the result of a compar­
ison is unordered. Warning: the requisite kernel support may not be
available."

with

"-mieee-compare
"-mno-ieee-compare
    "Use (-mieee-compare) or do not use (-mno-
    ieee-compare) IEEE floating point comparisons.
    IEEE floating point comparisons properly
    handle unordered comparisons.  Warning:
    before setting -mieee-compare insure that the
    requisite kernel support is available.  If
    neither option is specified, then
    ??????????????? is set by default".

Replace

"-mnobitfield
"Do not use the bit­eld instructions. On some machines it is faster
to
use shifting and masking operations. This is the default for the
pc532.

"-mbitfield
"Do use the bit­eld instructions. This is the default for all
platforms
except the pc532.

with

"-mbitfield
"-mnobitfield
    "Use (-mbitfield) or do not use (-mnobitfield)
    use the bit­field instructions.  On some
    machines shifting and masking operations may
    be faster than bit-field operations.  If
    neither option is specified, -mnobitfield is
    set by default for the pc532 processor, and -
    mbitfield for all other processors"

Replace

"-mrtd
"Use a different function­calling convention, in which functions that
take a xed number of arguments return pop their arguments on
return with the ret instruction.
"This calling convention is incompatible with the one normally used
on Unix, so you cannot use it if you need to call libraries compiled
with the Unix compiler.
"Also, you must provide function prototypes for all functions that
take variable numbers of arguments (including printf); otherwise
incorrect code will be generated for calls to those functions.
In addition, seriously incorrect code will result if you call a
function
with too many arguments. (Normally, extra arguments are harmlessly
ignored.)
"This option takes its name from the 680x0 rtd instruction."


with

"-mrtd
    "Use a non-standard calling convention, in
    which functions that take a fixed number of
    arguments return with the RET instruction. RET
    pops the arguments from the stack while
    returning, saving one instruction cycle.  This
    convention is incompatible with that used on
    Unix systems, so do not attempt to link to
    call libraries compiled with the Unix
    compiler.  If this option is set, provide
    prototypes for all functions that take a
    variable number of arguments (such as printf),
    and do not call a function with too many
    arguments.  This option takes its name from
    the 680x0 RTD instruction."


Replace

"-mregparam
"Use a different function­calling convention where the rst two argu­
ments are passed in registers.
This calling convention is incompatible with the one normally used
on Unix, so you cannot use it if you need to call libraries compiled
with the Unix compiler.

"-mnoregparam
"Do not pass any arguments in registers. This is the default for all
targets.

with

"-mregparam
"-mnoregparam
    "Use (-mregparam) or do not use (-mnoregparam)
    a function calling convention in which the
    first two arguments are passed in registers.
    This convention is incompatible with that used
    on Unix systems, so do not attempt to link to
    call libraries compiled with the Unix
    compiler.  If neither option is specified,
    then -mnoregparam is set by default."

Replace

"-msb
"It is OK to use the sb as an index register which is always loaded
with
zero. This is the default for the pc532­netbsd target."

"-mnosb
"The sb register is not available for use or has not been initialized
to
zero by the run time system. This is the default for all targets
except
the pc532­netbsd. It is also implied whenever `-mhimem' or `-fpic' is
set."

with

"-msb
"-mnosb
    "Use (-msb) or do not use (-mnosb) the SB as
    an index register which is always loaded with
    zero. If neither is specified, then -msb is
    set by default for the pc532­netbsd target and
    -mnosb for all other processors.  -mnosb
    automatically set whenever either `-mhimem' or
    `-fpic' is set"

Replace

"-mhimem
"Many ns32000 series addressing modes use displacements of up to
512MB. If an address is above 512MB then displacements from zero
can not be used. This option causes code to be generated which can
be loaded above 512MB. This may be useful for operating systems or
ROM code."

"-mnohimem
"Assume code will be loaded in the rst 512MB of virtual address
space. This is the default for all platforms."

with

"-mhimem
    Generate code that will only be loaded in the
    first 512 MB of virtual address space (-
    mnohimem), or that may be loaded above that
    limit (-mhimem).  Many ns32000-series
    addressing modes use displacements of up to
    512MB. If an address is above 512MB then
    displacements from zero can not be used.  -
    mhimem causes GCC to generate code which can
    be loaded above 512MB, which may be useful for
    operating systems or ROM code. If neither
    option is specified, then -mnohimem is set by
    default."

Paul A. Crable.  Portland, Oregon, USA







reply via email to

[Prev in Thread] Current Thread [Next in Thread]