gcc: MeP Options
1
1 3.18.24 MeP Options
1 -------------------
1
1 '-mabsdiff'
1 Enables the 'abs' instruction, which is the absolute difference
1 between two registers.
1
1 '-mall-opts'
1 Enables all the optional instructions--average, multiply, divide,
1 bit operations, leading zero, absolute difference, min/max, clip,
1 and saturation.
1
1 '-maverage'
1 Enables the 'ave' instruction, which computes the average of two
1 registers.
1
1 '-mbased=N'
1 Variables of size N bytes or smaller are placed in the '.based'
1 section by default. Based variables use the '$tp' register as a
1 base register, and there is a 128-byte limit to the '.based'
1 section.
1
1 '-mbitops'
1 Enables the bit operation instructions--bit test ('btstm'), set
1 ('bsetm'), clear ('bclrm'), invert ('bnotm'), and test-and-set
1 ('tas').
1
1 '-mc=NAME'
1 Selects which section constant data is placed in. NAME may be
1 'tiny', 'near', or 'far'.
1
1 '-mclip'
1 Enables the 'clip' instruction. Note that '-mclip' is not useful
1 unless you also provide '-mminmax'.
1
1 '-mconfig=NAME'
1 Selects one of the built-in core configurations. Each MeP chip has
1 one or more modules in it; each module has a core CPU and a variety
1 of coprocessors, optional instructions, and peripherals. The
1 'MeP-Integrator' tool, not part of GCC, provides these
1 configurations through this option; using this option is the same
1 as using all the corresponding command-line options. The default
1 configuration is 'default'.
1
1 '-mcop'
1 Enables the coprocessor instructions. By default, this is a 32-bit
1 coprocessor. Note that the coprocessor is normally enabled via the
1 '-mconfig=' option.
1
1 '-mcop32'
1 Enables the 32-bit coprocessor's instructions.
1
1 '-mcop64'
1 Enables the 64-bit coprocessor's instructions.
1
1 '-mivc2'
1 Enables IVC2 scheduling. IVC2 is a 64-bit VLIW coprocessor.
1
1 '-mdc'
1 Causes constant variables to be placed in the '.near' section.
1
1 '-mdiv'
1 Enables the 'div' and 'divu' instructions.
1
1 '-meb'
1 Generate big-endian code.
1
1 '-mel'
1 Generate little-endian code.
1
1 '-mio-volatile'
1 Tells the compiler that any variable marked with the 'io' attribute
1 is to be considered volatile.
1
1 '-ml'
1 Causes variables to be assigned to the '.far' section by default.
1
1 '-mleadz'
1 Enables the 'leadz' (leading zero) instruction.
1
1 '-mm'
1 Causes variables to be assigned to the '.near' section by default.
1
1 '-mminmax'
1 Enables the 'min' and 'max' instructions.
1
1 '-mmult'
1 Enables the multiplication and multiply-accumulate instructions.
1
1 '-mno-opts'
1 Disables all the optional instructions enabled by '-mall-opts'.
1
1 '-mrepeat'
1 Enables the 'repeat' and 'erepeat' instructions, used for
1 low-overhead looping.
1
1 '-ms'
1 Causes all variables to default to the '.tiny' section. Note that
1 there is a 65536-byte limit to this section. Accesses to these
1 variables use the '%gp' base register.
1
1 '-msatur'
1 Enables the saturation instructions. Note that the compiler does
1 not currently generate these itself, but this option is included
1 for compatibility with other tools, like 'as'.
1
1 '-msdram'
1 Link the SDRAM-based runtime instead of the default ROM-based
1 runtime.
1
1 '-msim'
1 Link the simulator run-time libraries.
1
1 '-msimnovec'
1 Link the simulator runtime libraries, excluding built-in support
1 for reset and exception vectors and tables.
1
1 '-mtf'
1 Causes all functions to default to the '.far' section. Without
1 this option, functions default to the '.near' section.
1
1 '-mtiny=N'
1 Variables that are N bytes or smaller are allocated to the '.tiny'
1 section. These variables use the '$gp' base register. The default
1 for this option is 4, but note that there's a 65536-byte limit to
1 the '.tiny' section.
1