MicroBlaze Options - Using the GNU Compiler Collection (GCC)
Description: Using the GNU Compiler Collection (GCC)

Next: MIPS Options, Previous: MeP Options, Up: Submodel Options

#### 3.17.25 MicroBlaze Options

`-msoft-float`
  Use software emulation for floating point (default).
`-mhard-float`
  Use hardware floating-point instructions.
`-mmemcpy`
  Do not optimize block moves, use `memcpy`.
`-mno-clearbss`
  This option is deprecated. Use `-fno-zero-initialized-in-bss` instead.
`-mcpu=`cpu-type
  Use features of, and schedule code for, the given CPU. Supported values are in the format ‘`vX.YY.Z`’, where X is a major version, YY is the minor version, and Z is compatibility code. Example values are ‘`v3.00.a`’, ‘`v4.00.b`’, ‘`v5.00.a`’, ‘`v5.00.b`’, ‘`v5.00.b`’, ‘`v6.00.a`’.
`-mxl-soft-mul`
  Use software multiply emulation (default).
`-mxl-soft-div`
  Use software emulation for divides (default).
`-mxl-barrel-shift`
  Use the hardware barrel shifter.
`-mxl-pattern-compare`
  Use pattern compare instructions.
`-msmall-divides`
  Use table lookup optimization for small signed integer divisions.
`-mxl-stack-check`
  This option is deprecated. Use `-fstack-check` instead.
`-mxl-gp-opt`
  Use GP-relative `.sdata`/`.sbss` sections.
`-mxl-multiply-high`
  Use multiply high instructions for high part of 32x32 multiply.
`-mxl-float-convert`
  Use hardware floating-point conversion instructions.
`-mxl-float-sqrt`
  Use hardware floating-point square root instruction.
`-mbig-endian`
  Generate code for a big-endian target.
`-mlittle-endian`
  Generate code for a little-endian target.
`-mxl-reorder`
  Use reorder instructions (swap and byte reversed load/store).
`-mxl-mode-`app-model
  Select application model app-model. Valid models are
  ‘`executable`’
    normal executable (default), uses startup code `crt0.o`.
  ‘`xmdstub`’
    for use with Xilinx Microprocessor Debugger (XMD) based software intrusive debug agent called xmdstub. This uses startup file `crt1.o` and sets the start address of the program to 0x800.
  ‘`bootstrap`’
    for applications that are loaded using a bootloader. This model uses startup file `crt2.o` which does not contain a processor reset vector handler. This is suitable for transferring control on a processor reset to the bootloader rather than the application.
  ‘`novectors`’
    for applications that do not require any of the MicroBlaze vectors. This option may be useful for applications running within a monitoring application. This model uses `crt3.o` as a startup file.

  Option `-xl-mode-app-model` is a deprecated alias for `-mxl-mode-app-model`.