On this page
3.19.27 MeP Options ¶
-
-mabsdiff -
Enables the
absinstruction, which is the absolute difference between two registers. -
-mall-opts -
Enables all the optional instructions—average, multiply, divide, bit operations, leading zero, absolute difference, min/max, clip, and saturation.
-
-maverage -
Enables the
aveinstruction, which computes the average of two registers. -
-mbased=n -
Variables of size n bytes or smaller are placed in the
.basedsection by default. Based variables use the$tpregister as a base register, and there is a 128-byte limit to the.basedsection. -
-mbitops -
Enables the bit operation instructions—bit test (
btstm), set (bsetm), clear (bclrm), invert (bnotm), and test-and-set (tas). -
-mc=name -
Selects which section constant data is placed in. name may be ‘tiny’, ‘near’, or ‘far’.
-
-mclip -
Enables the
clipinstruction. Note that -mclip is not useful unless you also provide -mminmax. -
-mconfig=name -
Selects one of the built-in core configurations. Each MeP chip has one or more modules in it; each module has a core CPU and a variety of coprocessors, optional instructions, and peripherals. The
MeP-Integratortool, not part of GCC, provides these configurations through this option; using this option is the same as using all the corresponding command-line options. The default configuration is ‘default’. -
-mcop -
Enables the coprocessor instructions. By default, this is a 32-bit coprocessor. Note that the coprocessor is normally enabled via the -mconfig= option.
-
-mcop32 -
Enables the 32-bit coprocessor’s instructions.
-
-mcop64 -
Enables the 64-bit coprocessor’s instructions.
-
-mivc2 -
Enables IVC2 scheduling. IVC2 is a 64-bit VLIW coprocessor.
-
-mdc -
Causes constant variables to be placed in the
.nearsection. -
-mdiv -
Enables the
divanddivuinstructions. -
-meb -
Generate big-endian code.
-
-mel -
Generate little-endian code.
-
-mio-volatile -
Tells the compiler that any variable marked with the
ioattribute is to be considered volatile. -
-ml -
Causes variables to be assigned to the
.farsection by default. -
-mleadz -
Enables the
leadz(leading zero) instruction. -
-mm -
Causes variables to be assigned to the
.nearsection by default. -
-mminmax -
Enables the
minandmaxinstructions. -
-mmult -
Enables the multiplication and multiply-accumulate instructions.
-
-mno-opts -
Disables all the optional instructions enabled by -mall-opts.
-
-mrepeat -
Enables the
repeatanderepeatinstructions, used for low-overhead looping. -
-ms -
Causes all variables to default to the
.tinysection. Note that there is a 65536-byte limit to this section. Accesses to these variables use the%gpbase register. -
-msatur -
Enables the saturation instructions. Note that the compiler does not currently generate these itself, but this option is included for compatibility with other tools, like
as. -
-msdram -
Link the SDRAM-based runtime instead of the default ROM-based runtime.
-
-msim -
Link the simulator run-time libraries.
-
-msimnovec -
Link the simulator runtime libraries, excluding built-in support for reset and exception vectors and tables.
-
-mtf -
Causes all functions to default to the
.farsection. Without this option, functions default to the.nearsection. -
-mtiny=n -
Variables that are n bytes or smaller are allocated to the
.tinysection. These variables use the$gpbase register. The default for this option is 4, but note that there’s a 65536-byte limit to the.tinysection.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-10.5.0/gcc/MeP-Options.html