-msim
-mmul=none
-mmul=g10
-mmul=g13
-mmul=g14
-mmul=rl78
none
, which uses software for both multiplication and division. This is the default. The g13
value is for the hardware multiply/divide peripheral found on the RL78/G13 (S2 core) targets. The g14
value selects the use of the multiplication and division instructions supported by the RL78/G14 (S3 core) parts. The value rl78
is an alias for g14
and the value mg10
is an alias for none
. In addition a C preprocessor macro is defined, based upon the setting of this option. Possible values are: __RL78_MUL_NONE__
, __RL78_MUL_G13__
or __RL78_MUL_G14__
.
-mcpu=g10
-mcpu=g13
-mcpu=g14
-mcpu=rl78
If this option is set it also selects the type of hardware multiply support to use, unless this is overridden by an explicit -mmul=none
option on the command line. Thus specifying -mcpu=g13
enables the use of the G13 hardware multiply peripheral and specifying -mcpu=g10
disables the use of hardware multiplications altogether.
Note, although the RL78/G14 core is the default target, specifying -mcpu=g14
or -mcpu=rl78
on the command line does change the behavior of the toolchain since it also enables G14 hardware multiply support. If these options are not specified on the command line then software multiplication routines will be used even though the code targets the RL78 core. This is for backwards compatibility with older toolchains which did not have hardware multiply and divide support.
In addition a C preprocessor macro is defined, based upon the setting of this option. Possible values are: __RL78_G10__
, __RL78_G13__
or __RL78_G14__
.
-mg10
-mg13
-mg14
-mrl78
-mcpu=
option. They are provided for backwards compatibility. -mallregs
r24..r31
are reserved for use in interrupt handlers. With this option enabled these registers can be used in ordinary functions as well. -m64bit-doubles
-m32bit-doubles
double
data type be 64 bits (-m64bit-doubles
) or 32 bits (-m32bit-doubles
) in size. The default is -m32bit-doubles
.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-6.3.0/gcc/RL78-Options.html