Movatterモバイル変換


[0]ホーム

URL:


Next:, Previous:, Up:Machine-Dependent Options   [Contents][Index]


3.21.50 V850 Options

These ‘-m’ options are defined for V850 implementations:

-mlong-calls
-mno-long-calls

Treat all calls as being far away (near). If calls are assumed to befar away, the compiler always loads the function’s address into aregister, and calls indirect through the pointer.

-mno-ep
-mep

Do not optimize (do optimize) basic blocks that use the same indexpointer 4 or more times to copy pointer into theep register, anduse the shortersld andsst instructions. The-mepoption is on by default if you optimize.

-mno-prolog-function
-mprolog-function

Do not use (do use) external functions to save and restore registersat the prologue and epilogue of a function. The external functionsare slower, but use less code space if more than one function savesthe same number of registers. The-mprolog-function optionis on by default if you optimize.

-mspace

Try to make the code as small as possible. At present, this just turnson the-mep and-mprolog-function options.

-mtda=n

Put static or global variables whose size isn bytes or less intothe tiny data area that registerep points to. The tiny dataarea can hold up to 256 bytes in total (128 bytes for byte references).

-msda=n

Put static or global variables whose size isn bytes or less intothe small data area that registergp points to. The small dataarea can hold up to 64 kilobytes.

-mzda=n

Put static or global variables whose size isn bytes or less intothe first 32 kilobytes of memory.

-mv850

Specify that the target processor is the V850.

-mv850e3v5

Specify that the target processor is the V850E3V5. The preprocessorconstant__v850e3v5__ is defined if this option is used.

-mv850e2v4

Specify that the target processor is the V850E3V5. This is an alias forthe-mv850e3v5 option.

-mv850e2v3

Specify that the target processor is the V850E2V3. The preprocessorconstant__v850e2v3__ is defined if this option is used.

-mv850e2

Specify that the target processor is the V850E2. The preprocessorconstant__v850e2__ is defined if this option is used.

-mv850e1

Specify that the target processor is the V850E1. The preprocessorconstants__v850e1__ and__v850e__ are defined ifthis option is used.

-mv850es

Specify that the target processor is the V850ES. This is an alias forthe-mv850e1 option.

-mv850e

Specify that the target processor is the V850E. The preprocessorconstant__v850e__ is defined if this option is used.

If neither-mv850 nor-mv850e nor-mv850e1nor-mv850e2 nor-mv850e2v3 nor-mv850e3v5are defined then a default target processor is chosen and therelevant ‘__v850*__’ preprocessor constant is defined.

The preprocessor constants__v850 and__v851__ are alwaysdefined, regardless of which processor variant is the target.

-mdisable-callt
-mno-disable-callt

This option suppresses generation of theCALLT instruction for thev850e, v850e1, v850e2, v850e2v3 and v850e3v5 flavors of the v850architecture.

This option is enabled by default when the RH850 ABI isin use (see-mrh850-abi), and disabled by default when theGCC ABI is in use. IfCALLT instructions are being generatedthen the C preprocessor symbol__V850_CALLT__ is defined.

-mrelax
-mno-relax

Pass on (or do not pass on) the-mrelax command-line optionto the assembler.

-mlong-jumps
-mno-long-jumps

Disable (or re-enable) the generation of PC-relative jump instructions.

-msoft-float
-mhard-float

Disable (or re-enable) the generation of hardware floating pointinstructions. This option is only significant when the targetarchitecture is ‘V850E2V3’ or higher. If hardware floating pointinstructions are being generated then the C preprocessor symbol__FPU_OK__ is defined, otherwise the symbol__NO_FPU__ is defined.

-mloop

Enables the use of the e3v5 LOOP instruction. The use of thisinstruction is not enabled by default when the e3v5 architecture isselected because its use is still experimental.

-mrh850-abi
-mghs

Enables support for the RH850 version of the V850 ABI. This is thedefault. With this version of the ABI the following rules apply:

  • Integer sized structures and unions are returned via a memory pointerrather than a register.
  • Large structures and unions (more than 8 bytes in size) are passed byvalue.
  • Functions are aligned to 16-bit boundaries.
  • The-m8byte-align command-line option is supported.
  • The-mdisable-callt command-line option is enabled bydefault. The-mno-disable-callt command-line option is notsupported.

When this version of the ABI is enabled the C preprocessor symbol__V850_RH850_ABI__ is defined.

-mgcc-abi

Enables support for the old GCC version of the V850 ABI. With thisversion of the ABI the following rules apply:

  • Integer sized structures and unions are returned in registerr10.
  • Large structures and unions (more than 8 bytes in size) are passed byreference.
  • Functions are aligned to 32-bit boundaries, unless optimizing forsize.
  • The-m8byte-align command-line option is not supported.
  • The-mdisable-callt command-line option is supported but notenabled by default.

When this version of the ABI is enabled the C preprocessor symbol__V850_GCC_ABI__ is defined.

-m8byte-align
-mno-8byte-align

Enables support fordouble andlong long types to bealigned on 8-byte boundaries. The default is to restrict thealignment of all objects to at most 4-bytes. When-m8byte-align is in effect the C preprocessor symbol__V850_8BYTE_ALIGN__ is defined.

-mbig-switch
-mno-big-switch

Generate code suitable for big switch tables. Use this option only ifthe assembler/linker complain about out of range branches within a switchtable.

-mapp-regs
-mno-app-regs

-mapp-regs causes r2 and r5 to be used in the code generated bythe compiler. This setting is the default.-mno-app-regscauses r2 and r5 to be treated as fixed registers.

-msmall-sld
-mno-small-sld

Enable or disable the use of the short load instructions.

-mno-strict-align

Do not enforce strict data alignment.

-mjump-tables-in-data-section
-mno-jump-tables-in-data-section

Enable or disable placement of jump tables for switch statements inthe.data section rather than the.code section. Thedefault is-mno-jump-tables-in-data-section.


Next:VAX Options, Previous:Options for System V, Up:Machine-Dependent Options   [Contents][Index]


[8]ページ先頭

©2009-2026 Movatter.jp