Next: , Previous: MCore Options, Up: Submodel Options

3.17.24 MeP Options

Enables the abs instruction, which is the absolute difference between two registers.
Enables all the optional instructions - average, multiply, divide, bit operations, leading zero, absolute difference, min/max, clip, and saturation.
Enables the ave instruction, which computes the average of two registers.
Variables of size n bytes or smaller will be placed in the .based section by default. Based variables use the $tp register as a base register, and there is a 128 byte limit to the .based section.
Enables the bit operation instructions - bit test (btstm), set (bsetm), clear (bclrm), invert (bnotm), and test-and-set (tas).
Selects which section constant data will be placed in. name may be tiny, near, or far.
Enables the clip instruction. Note that -mclip is not useful unless you also provide -mminmax.
Selects one of the build-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-Integrator tool, 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.
Enables the coprocessor instructions. By default, this is a 32-bit coprocessor. Note that the coprocessor is normally enabled via the -mconfig= option.
Enables the 32-bit coprocessor's instructions.
Enables the 64-bit coprocessor's instructions.
Enables IVC2 scheduling. IVC2 is a 64-bit VLIW coprocessor.
Causes constant variables to be placed in the .near section.
Enables the div and divu instructions.
Generate big-endian code.
Generate little-endian code.
Tells the compiler that any variable marked with the io attribute is to be considered volatile.
Causes variables to be assigned to the .far section by default.
Enables the leadz (leading zero) instruction.
Causes variables to be assigned to the .near section by default.
Enables the min and max instructions.
Enables the multiplication and multiply-accumulate instructions.
Disables all the optional instructions enabled by -mall-opts.
Enables the repeat and erepeat instructions, used for low-overhead looping.
Causes all variables to default to the .tiny section. Note that there is a 65536 byte limit to this section. Accesses to these variables use the %gp base register.
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.
Link the SDRAM-based runtime instead of the default ROM-based runtime.
Link the simulator runtime libraries.
Link the simulator runtime libraries, excluding built-in support for reset and exception vectors and tables.
Causes all functions to default to the .far section. Without this option, functions default to the .near section.
Variables that are n bytes or smaller will be allocated to the .tiny section. These variables use the $gp base register. The default for this option is 4, but note that there's a 65536 byte limit to the .tiny section.