home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 5 / FreshFish_July-August1994.bin / bbs / gnu / gcc-2.5.8-bin.lha / info / gcc.info-4 (.txt) < prev    next >
GNU Info File  |  1994-07-11  |  41KB  |  771 lines

  1. This is Info file gcc.info, produced by Makeinfo-1.55 from the input
  2. file gcc.texi.
  3.    This file documents the use and the internals of the GNU compiler.
  4.    Published by the Free Software Foundation 675 Massachusetts Avenue
  5. Cambridge, MA 02139 USA
  6.    Copyright (C) 1988, 1989, 1992, 1993 Free Software Foundation, Inc.
  7.    Permission is granted to make and distribute verbatim copies of this
  8. manual provided the copyright notice and this permission notice are
  9. preserved on all copies.
  10.    Permission is granted to copy and distribute modified versions of
  11. this manual under the conditions for verbatim copying, provided also
  12. that the sections entitled "GNU General Public License" and "Protect
  13. Your Freedom--Fight `Look And Feel'" are included exactly as in the
  14. original, and provided that the entire resulting derived work is
  15. distributed under the terms of a permission notice identical to this
  16.    Permission is granted to copy and distribute translations of this
  17. manual into another language, under the above conditions for modified
  18. versions, except that the sections entitled "GNU General Public
  19. License" and "Protect Your Freedom--Fight `Look And Feel'", and this
  20. permission notice, may be included in translations approved by the Free
  21. Software Foundation instead of in the original English.
  22. File: gcc.info,  Node: RS/6000 and PowerPC Options,  Next: RT Options,  Prev: M88K Options,  Up: Submodel Options
  23. IBM RS/6000 and PowerPC Options
  24. -------------------------------
  25.    These `-m' options are defined for the IBM RS/6000 and PowerPC:
  26. `-mpower'
  27. `-mno-power'
  28. `-mpower2'
  29. `-mno-power2'
  30. `-mpowerpc'
  31. `-mno-powerpc'
  32. `-mpowerpcsqr'
  33. `-mno-powerpcsqr'
  34. `-mpowerpc64'
  35. `-mno-powerpc64'
  36.      GNU CC supports two related instruction set architectures for the
  37.      RS/6000 and PowerPC.  The "POWER" instruction set are those
  38.      instructions supported by the `rios' chip set used in the original
  39.      RS/6000 systems and the "PowerPC" instruction set is the
  40.      architecture of the Motorola MPC6xx microprocessors.  The PowerPC
  41.      architecture defines 64-bit instructions, but they are not
  42.      supported by any current processors.
  43.      Neither architecture is a subset of the other.  However there is a
  44.      large common subset of instructions supported by both.  An MQ
  45.      register is included in processors supporting the POWER
  46.      architecture.
  47.      You use these options to specify which instructions are available
  48.      on the processor you are using.  The default value of these
  49.      options is determined when configuring GNU CC.  Specifying the
  50.      `-mcpu=CPU_TYPE' overrides the specification of these options.  We
  51.      recommend you use that option rather than these.
  52.      The `-mpower' option allows GNU CC to generate instructions that
  53.      are found only in the POWER architecture and to use the MQ
  54.      register.  Specifying `-mpower2' implies `-power' and also allows
  55.      GNU CC to generate instructions that are present in the POWER2
  56.      architecture but not the original POWER architecture.
  57.      The `-mpowerpc' option allows GNU CC to generate instructions that
  58.      are found only in the 32-bit subset of the PowerPC architecture.
  59.      Specifying `-mpowerpcsqr' implies `-mpowerpc' and also allows GNU
  60.      CC to use the floating point square root instructions in the
  61.      PowerPC architecture but not in its first implementation.
  62.      Likewise, specifying `-mpowerpc64' implies `-mpowerpc' and also
  63.      allows GNU CC to use the 64-bit instructions in the PowerPC
  64.      architecture.
  65.      If you specify both `-mno-power' and `-mno-powerpc', GNU CC will
  66.      use only the instructions in the common subset of both
  67.      architectures and will not use the MQ register.  Specifying both
  68.      `-mpower' and `-mpowerpc' permits GNU CC to use any instruction
  69.      from either architecture and to allow use of the MQ register;
  70.      specify this for the Motorola MPC601.
  71. `-mnew-mnemonics'
  72. `-mold-mnemonics'
  73.      Select which mnemonics to use in the generated assembler code.
  74.      `-mnew-mnemonics' requests output that uses the assembler mnemonics
  75.      defined for the PowerPC architecture, while `-mold-mnemonics'
  76.      requests the assembler mnemonics defined for the POWER
  77.      architecture.  Instructions defined in only one architecture have
  78.      only one mnemonic; GNU CC uses that mnemonic irrespective of which
  79.      of thse options is specified.
  80.      PowerPC assemblers support both the old and new mnemonics, as will
  81.      later POWER assemblers.  Current POWER assemblers only support the
  82.      old mnemonics.  Specify `-mnew-mnemonics' if you have an assembler
  83.      that supports them, otherwise specify `-mold-mnemonics'.
  84.      The default value of these options depends on how GNU CC was
  85.      configured.  Specifing `-mcpu=CPU_TYPE' sometimes overrides the
  86.      value of these option.  Unless you are building a cross-compiled,
  87.      you should normally not specify either `-mnew-mnemonics' or
  88.      `-mold-mnemonics', but should instead accept the default.
  89. `-mcpu=CPU_TYPE'
  90.      Set architecture type, register usage, choice of mnemonics, and
  91.      instruction scheduling parameters for machine type CPU_TYPE.  By
  92.      default, CPU_TYPE is the target system defined when GNU CC was
  93.      configured.  Supported values for CPU_TYPE are `rios1', `rios2',
  94.      `rsc1', `601', `603', `604', `620' and `all'.
  95.      Specifying `-mcpu=rios1' or `-mcpu=rios2' enables the `-mpower'
  96.      option and disables the `-mpowerpc' option, `-mcpu=601' enables
  97.      both the `-mpower' and `-mpowerpc' options, `-mcpu=603' and
  98.      `-mcpu=604' enable the `-mpowerpc' option and disables the
  99.      `-mpower' option, and `-mcpu=620' enables both the `-mpowerpc' and
  100.      `-mpowerpc64' options and also disables the `-mpower' option.
  101.      To generate code that will operate on all members of the RS/6000
  102.      and PowerPC family, specify `-mcpu=all'.  In that case, GNU CC will
  103.      only use instructions in the common subset and will not use the MQ
  104.      register.  The instruction scheduling parameters and choice of
  105.      mnemonics are not affected.
  106.      Specifying `-mcpu=601', `-mcpu=603', `-mcpu=604', or `-mcpu=620'
  107.      also enables the `new-mnemonics' option.
  108. `-mnormal-toc'
  109. `-mno-fp-in-toc'
  110. `-mminimal-toc'
  111.      Modify generation of the TOC (Table Of Contents), which is created
  112.      for every executable file.  The `-mnormal-toc' option is selected
  113.      by default.  In that case, GNU CC will allocate at least one TOC
  114.      entry for each unique non-automatic variable reference in your
  115.      program.  GNU CC will also place floating-point constants in the
  116.      TOC.  However, only 16K entries are available in the TOC.
  117.      If you receive a linker error message that says you have
  118.      overflowed the available TOC space, recompile your files with
  119.      either the `-mno-fp-in-toc' or `-mminimal-toc' options.
  120.      `-mno-fp-in-toc' prevents GNU CC from putting floating-point
  121.      constants in the TOC.  `-mminimal-toc' causes GNU CC to make only
  122.      one TOC entry for every file.  Using the `-minimal-toc' option
  123.      produces slightly slower and larger code than the `-mnormal-toc' or
  124.      `-mno-fp-in-toc' options.  If you use floating-point, try the
  125.      `-mno-fp-in-toc' option before you specify `-mminimal-toc'.
  126. File: gcc.info,  Node: RT Options,  Next: MIPS Options,  Prev: RS/6000 and PowerPC Options,  Up: Submodel Options
  127. IBM RT Options
  128. --------------
  129.    These `-m' options are defined for the IBM RT PC:
  130. `-min-line-mul'
  131.      Use an in-line code sequence for integer multiplies.  This is the
  132.      default.
  133. `-mcall-lib-mul'
  134.      Call `lmul$$' for integer multiples.
  135. `-mfull-fp-blocks'
  136.      Generate full-size floating point data blocks, including the
  137.      minimum amount of scratch space recommended by IBM.  This is the
  138.      default.
  139. `-mminimum-fp-blocks'
  140.      Do not include extra scratch space in floating point data blocks.
  141.      This results in smaller code, but slower execution, since scratch
  142.      space must be allocated dynamically.
  143. `-mfp-arg-in-fpregs'
  144.      Use a calling sequence incompatible with the IBM calling
  145.      convention in which floating point arguments are passed in
  146.      floating point registers.  Note that `varargs.h' and `stdargs.h'
  147.      will not work with f