These command line options are defined for RX targets:
doubledata type be 64-bits (-m64bit-doubles) or 32-bits (-m32bit-doubles) in size. The default is -m32bit-doubles. Note RX floating point hardware only works on 32-bit values, which is why the default is -m32bit-doubles.
Floating point instructions will only be generated for 32-bit floating point values however, so if the -m64bit-doubles option is in use then the FPU hardware will not be used for doubles.
Note If the -fpu option is enabled then
-funsafe-math-optimizations is also enabled automatically.
This is because the RX FPU instructions are themselves unsafe.
The only difference between RX600 and RX610 is that the
RX610 does not support the
The RX200 series does not have a hardware floating point unit
and so -nofpu is enabled by default when this type is
r13) is reserved for use pointing to this area, so it is no longer available for use by the compiler. This could result in slower and/or larger code if variables which once could have been held in
r13are now pushed onto the stack.
Note, common variables (variables which have not been initialised) and constants are not placed into the small data area as they are assigned to other sections in the output executable.
The default value is zero, which disables this feature. Note, this
feature is not enabled by default with higher optimization levels
(-O2 etc) because of the potentially detrimental effects of
r13. It is up to the programmer to
experiment and discover whether this feature is of benefit to their
The value N can be between 0 and 4. A value of 0 (the default)
or 4 means that constants of any size are allowed.
r13will be reserved for the exclusive use of fast interrupt handlers. A value of 2 reserves
r12. A value of 3 reserves
r11, and a value of 4 reserves
r10. A value of 0, the default, does not reserve any registers.
Note: The generic GCC command line -ffixed-reg
has special significance to the RX port when used with the
interrupt function attribute. This attribute indicates a
function intended to process fast interrupts. GCC will will ensure
that it only uses the registers
r13 and only provided that the normal use of the
corresponding registers have been restricted via the
-ffixed-reg or -mint-register command line