gcc: V850 Options

1 
1 3.18.51 V850 Options
1 --------------------
1 
1 These '-m' options are defined for V850 implementations:
1 
1 '-mlong-calls'
1 '-mno-long-calls'
1      Treat all calls as being far away (near).  If calls are assumed to
1      be far away, the compiler always loads the function's address into
1      a register, and calls indirect through the pointer.
1 
1 '-mno-ep'
1 '-mep'
1      Do not optimize (do optimize) basic blocks that use the same index
1      pointer 4 or more times to copy pointer into the 'ep' register, and
1      use the shorter 'sld' and 'sst' instructions.  The '-mep' option is
1      on by default if you optimize.
1 
1 '-mno-prolog-function'
1 '-mprolog-function'
1      Do not use (do use) external functions to save and restore
1      registers at the prologue and epilogue of a function.  The external
1      functions are slower, but use less code space if more than one
1      function saves the same number of registers.  The
1      '-mprolog-function' option is on by default if you optimize.
1 
1 '-mspace'
1      Try to make the code as small as possible.  At present, this just
1      turns on the '-mep' and '-mprolog-function' options.
1 
1 '-mtda=N'
1      Put static or global variables whose size is N bytes or less into
1      the tiny data area that register 'ep' points to.  The tiny data
1      area can hold up to 256 bytes in total (128 bytes for byte
1      references).
1 
1 '-msda=N'
1      Put static or global variables whose size is N bytes or less into
1      the small data area that register 'gp' points to.  The small data
1      area can hold up to 64 kilobytes.
1 
1 '-mzda=N'
1      Put static or global variables whose size is N bytes or less into
1      the first 32 kilobytes of memory.
1 
1 '-mv850'
1      Specify that the target processor is the V850.
1 
1 '-mv850e3v5'
1      Specify that the target processor is the V850E3V5.  The
1      preprocessor constant '__v850e3v5__' is defined if this option is
1      used.
1 
1 '-mv850e2v4'
1      Specify that the target processor is the V850E3V5.  This is an
1      alias for the '-mv850e3v5' option.
1 
1 '-mv850e2v3'
1      Specify that the target processor is the V850E2V3.  The
1      preprocessor constant '__v850e2v3__' is defined if this option is
1      used.
1 
1 '-mv850e2'
1      Specify that the target processor is the V850E2.  The preprocessor
1      constant '__v850e2__' is defined if this option is used.
1 
1 '-mv850e1'
1      Specify that the target processor is the V850E1.  The preprocessor
1      constants '__v850e1__' and '__v850e__' are defined if this option
1      is used.
1 
1 '-mv850es'
1      Specify that the target processor is the V850ES. This is an alias
1      for the '-mv850e1' option.
1 
1 '-mv850e'
1      Specify that the target processor is the V850E.  The preprocessor
1      constant '__v850e__' is defined if this option is used.
1 
1      If neither '-mv850' nor '-mv850e' nor '-mv850e1' nor '-mv850e2' nor
1      '-mv850e2v3' nor '-mv850e3v5' are defined then a default target
1      processor is chosen and the relevant '__v850*__' preprocessor
1      constant is defined.
1 
1      The preprocessor constants '__v850' and '__v851__' are always
1      defined, regardless of which processor variant is the target.
1 
1 '-mdisable-callt'
1 '-mno-disable-callt'
1      This option suppresses generation of the 'CALLT' instruction for
1      the v850e, v850e1, v850e2, v850e2v3 and v850e3v5 flavors of the
1      v850 architecture.
1 
1      This option is enabled by default when the RH850 ABI is in use (see
1      '-mrh850-abi'), and disabled by default when the GCC ABI is in use.
1      If 'CALLT' instructions are being generated then the C preprocessor
1      symbol '__V850_CALLT__' is defined.
1 
1 '-mrelax'
1 '-mno-relax'
1      Pass on (or do not pass on) the '-mrelax' command-line option to
1      the assembler.
1 
1 '-mlong-jumps'
1 '-mno-long-jumps'
1      Disable (or re-enable) the generation of PC-relative jump
1      instructions.
1 
1 '-msoft-float'
1 '-mhard-float'
1      Disable (or re-enable) the generation of hardware floating point
1      instructions.  This option is only significant when the target
1      architecture is 'V850E2V3' or higher.  If hardware floating point
1      instructions are being generated then the C preprocessor symbol
1      '__FPU_OK__' is defined, otherwise the symbol '__NO_FPU__' is
1      defined.
1 
1 '-mloop'
1      Enables the use of the e3v5 LOOP instruction.  The use of this
1      instruction is not enabled by default when the e3v5 architecture is
1      selected because its use is still experimental.
1 
1 '-mrh850-abi'
1 '-mghs'
1      Enables support for the RH850 version of the V850 ABI. This is the
1      default.  With this version of the ABI the following rules apply:
1 
1         * Integer sized structures and unions are returned via a memory
1           pointer rather than a register.
1 
1         * Large structures and unions (more than 8 bytes in size) are
1           passed by value.
1 
1         * Functions are aligned to 16-bit boundaries.
1 
1         * The '-m8byte-align' command-line option is supported.
1 
1         * The '-mdisable-callt' command-line option is enabled by
1           default.  The '-mno-disable-callt' command-line option is not
1           supported.
1 
1      When this version of the ABI is enabled the C preprocessor symbol
1      '__V850_RH850_ABI__' is defined.
1 
1 '-mgcc-abi'
1      Enables support for the old GCC version of the V850 ABI. With this
1      version of the ABI the following rules apply:
1 
1         * Integer sized structures and unions are returned in register
1           'r10'.
1 
1         * Large structures and unions (more than 8 bytes in size) are
1           passed by reference.
1 
1         * Functions are aligned to 32-bit boundaries, unless optimizing
1           for size.
1 
1         * The '-m8byte-align' command-line option is not supported.
1 
1         * The '-mdisable-callt' command-line option is supported but not
1           enabled by default.
1 
1      When this version of the ABI is enabled the C preprocessor symbol
1      '__V850_GCC_ABI__' is defined.
1 
1 '-m8byte-align'
1 '-mno-8byte-align'
1      Enables support for 'double' and 'long long' types to be aligned on
1      8-byte boundaries.  The default is to restrict the alignment of all
1      objects to at most 4-bytes.  When '-m8byte-align' is in effect the
1      C preprocessor symbol '__V850_8BYTE_ALIGN__' is defined.
1 
1 '-mbig-switch'
1      Generate code suitable for big switch tables.  Use this option only
1      if the assembler/linker complain about out of range branches within
1      a switch table.
1 
1 '-mapp-regs'
1      This option causes r2 and r5 to be used in the code generated by
1      the compiler.  This setting is the default.
1 
1 '-mno-app-regs'
1      This option causes r2 and r5 to be treated as fixed registers.
1