Next: , Previous: TILEPro Options, Up: Submodel Options


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.