OpenRISC Options (Using the GNU Compiler Collection (GCC))

#### 3.20.37 OpenRISC Options ¶

These options are defined for OpenRISC:

`-mboard=name` ¶

  Configure a board specific runtime. This is passed to the linker for newlib board library linking. The default is `or1ksim`.

`-msoft-div` ¶
`-mhard-div`

  Select software or hardware divide (`l.div`, `l.divu`) instructions. This default is hardware divide.

`-msoft-mul` ¶
`-mhard-mul`

  Select software or hardware multiply (`l.mul`, `l.muli`) instructions. This default is hardware multiply.

`-msoft-float` ¶
`-mhard-float`

  Select software or hardware for floating point operations. The default is software.

`-mdouble-float` ¶

  When `-mhard-float` is selected, enables generation of double-precision floating point instructions. By default functions from `libgcc` are used to perform double-precision floating point operations.

`-munordered-float` ¶

  When `-mhard-float` is selected, enables generation of unordered floating point compare and set flag (`lf.sfun*`) instructions. By default functions from `libgcc` are used to perform unordered floating point compare and set flag operations.

`-mcmov` ¶

  Enable generation of conditional move (`l.cmov`) instructions. By default the equivalents are generated using set and branch.

`-mror` ¶

  Enable generation of rotate right (`l.ror`) instructions. By default functions from `libgcc` are used to perform rotate right operations.

`-mrori` ¶

  Enable generation of rotate right with immediate (`l.rori`) instructions. By default functions from `libgcc` are used to perform rotate right with immediate operations.

`-msext` ¶

  Enable generation of sign extension (`l.ext*`) instructions. By default memory loads are used to perform sign extension.

`-msfimm` ¶

  Enable generation of compare and set flag with immediate (`l.sf*i`) instructions. By default extra instructions are generated to store the immediate to a register first.

`-mshftimm` ¶

  Enable generation of shift with immediate (`l.srai`, `l.srli`, `l.slli`) instructions. By default extra instructions are generated to store the immediate to a register first.

`-mcmodel=small` ¶

  Generate OpenRISC code for the small model: The GOT is limited to 64k and function call jumps are limited to 64M offsets. This is the default model.

`-mcmodel=large` ¶

  Generate OpenRISC code for the large model: The GOT may grow up to 4G in size and function call jumps can target the full 4G address space.