Next: , Previous: , Up: Submodel Options   [Contents][Index]


3.17.45 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 be far away, the compiler will always load the functions address up into a register, and call indirect through the pointer.

-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.

-mno-prolog-function
-mprolog-function

Do not use (do use) external functions to save and restore registers at the prologue and epilogue 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.

-mspace

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

-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).

-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.

-mzda=n

Put static or global variables whose size is n bytes or less into the first 32 kilobytes of memory.

-mv850

Specify that the target processor is the V850.

-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.

-mapp-regs

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

-mno-app-regs

This option will cause r2 and r5 to be treated as fixed registers.

-mv850e2v3

Specify that the target processor is the V850E2V3. The preprocessor constants ‘__v850e2v3__’ will be defined if this option is used.

-mv850e2

Specify that the target processor is the V850E2. The preprocessor constants ‘__v850e2__’ will be defined if this option is used.

-mv850e1

Specify that the target processor is the V850E1. The preprocessor constants ‘__v850e1__’ and ‘__v850e__’ will be defined if this option is used.

-mv850es

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

-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 nor -mv850e1 nor -mv850e2 nor -mv850e2v3 are defined then a default target processor will be chosen and the relevant ‘__v850*__’ preprocessor constant will be defined.

The preprocessor constants ‘__v850’ and ‘__v851__’ are always defined, regardless of which processor variant is the target.

-mdisable-callt

This option will suppress generation of the CALLT instruction for the v850e, v850e1, v850e2 and v850e2v3 flavors of the v850 architecture. The default is -mno-disable-callt which allows the CALLT instruction to be used.


Next: , Previous: , Up: Submodel Options   [Contents][Index]