These ‘-m’ options are defined for V850 implementations:
-mlong-calls-mno-long-callsTreat all calls as being far away (near). If calls are assumed to be far away, the compiler always loads the function’s address into a register, and calls indirect through the pointer.
-mno-ep-mepDo 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-functionDo 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.
-mspaceTry to make the code as small as possible. At present, this just turns on the -mep and -mprolog-function options.
-mtda=nPut 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=nPut 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=nPut static or global variables whose size is n bytes or less into the first 32 kilobytes of memory.
-mv850Specify that the target processor is the V850.
-mv850e3v5Specify that the target processor is the V850E3V5. The preprocessor constant __v850e3v5__ is defined if this option is used.
-mv850e2v4Specify that the target processor is the V850E3V5. This is an alias for the -mv850e3v5 option.
-mv850e2v3Specify that the target processor is the V850E2V3. The preprocessor constant __v850e2v3__ is defined if this option is used.
-mv850e2Specify that the target processor is the V850E2. The preprocessor constant __v850e2__ is defined if this option is used.
-mv850e1Specify that the target processor is the V850E1. The preprocessor constants __v850e1__ and __v850e__ are defined if this option is used.
-mv850esSpecify that the target processor is the V850ES. This is an alias for the -mv850e1 option.
-mv850eSpecify that the target processor is the V850E. The preprocessor constant __v850e__ is defined if this option is used.
If neither -mv850 nor -mv850e nor -mv850e1 nor -mv850e2 nor -mv850e2v3 nor -mv850e3v5 are defined then a default target processor is chosen and the relevant ‘__v850*__’ preprocessor constant is defined.
The preprocessor constants __v850 and __v851__ are always defined, regardless of which processor variant is the target.
-mdisable-callt-mno-disable-calltThis option suppresses generation of the CALLT instruction for the v850e, v850e1, v850e2, v850e2v3 and v850e3v5 flavors of the v850 architecture.
This option is enabled by default when the RH850 ABI is in use (see -mrh850-abi), and disabled by default when the GCC ABI is in use. If CALLT instructions are being generated then the C preprocessor symbol __V850_CALLT__ is defined.
-mrelax-mno-relaxPass on (or do not pass on) the -mrelax command-line option to the assembler.
-mlong-jumps-mno-long-jumpsDisable (or re-enable) the generation of PC-relative jump instructions.
-msoft-float-mhard-floatDisable (or re-enable) the generation of hardware floating point instructions. This option is only significant when the target architecture is ‘V850E2V3’ or higher. If hardware floating point instructions are being generated then the C preprocessor symbol __FPU_OK__ is defined, otherwise the symbol __NO_FPU__ is defined.
-mloopEnables the use of the e3v5 LOOP instruction. The use of this instruction is not enabled by default when the e3v5 architecture is selected because its use is still experimental.
-mrh850-abi-mghsEnables support for the RH850 version of the V850 ABI. This is the default. With this version of the ABI the following rules apply:
When this version of the ABI is enabled the C preprocessor symbol __V850_RH850_ABI__ is defined.
-mgcc-abiEnables support for the old GCC version of the V850 ABI. With this version of the ABI the following rules apply:
r10. When this version of the ABI is enabled the C preprocessor symbol __V850_GCC_ABI__ is defined.
-m8byte-align-mno-8byte-alignEnables support for double and long long types to be aligned on 8-byte boundaries. The default is to restrict the alignment of all objects to at most 4-bytes. When -m8byte-align is in effect the C preprocessor symbol __V850_8BYTE_ALIGN__ is defined.
-mbig-switchGenerate 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-regsThis option causes r2 and r5 to be used in the code generated by the compiler. This setting is the default.
-mno-app-regsThis option causes r2 and r5 to be treated as fixed registers.
Next: VAX Options, Previous: TILEPro Options, Up: Submodel Options [Contents][Index]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/V850-Options.html