Next: , Previous: System V Options, Up: Submodel Options



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

-mv850e1

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

-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 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 and v850e1 flavors of the v850 architecture. The default is -mno-disable-callt which allows the CALLT instruction to be used.