On this page
3.17.25 MeP Options
-
-mabsdiff
-
Enables the
abs
instruction, 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
ave
instruction, which computes the average of two registers. -mbased=
n-
Variables of size n bytes or smaller are 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. -
-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
, orfar
. -
-mclip
-
Enables the
clip
instruction. 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-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 isdefault
. -
-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
.near
section. -
-mdiv
-
Enables the
div
anddivu
instructions. -
-meb
- Generate big-endian code.
-
-mel
- Generate little-endian code.
-
-mio-volatile
-
Tells the compiler that any variable marked with the
io
attribute is to be considered volatile. -
-ml
-
Causes variables to be assigned to the
.far
section by default. -
-mleadz
-
Enables the
leadz
(leading zero) instruction. -
-mm
-
Causes variables to be assigned to the
.near
section by default. -
-mminmax
-
Enables the
min
andmax
instructions. -
-mmult
- Enables the multiplication and multiply-accumulate instructions.
-
-mno-opts
-
Disables all the optional instructions enabled by
-mall-opts
. -
-mrepeat
-
Enables the
repeat
anderepeat
instructions, used for low-overhead looping. -
-ms
-
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. -
-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
.far
section. Without this option, functions default to the.near
section. -mtiny=
n-
Variables that are n bytes or smaller are 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.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-4.9.4/gcc/MeP-Options.html