#### 9.10.1 Options

`-march=archname`

  Assemble for architecture archname. The `--help` option lists valid values for archname.

`-mcpu=cpuname`

  Assemble for architecture cpuname. The `--help` option lists valid values for cpuname.

`-EL`
`-mlittle-endian`

  Generate little-endian output.

`-EB`
`-mbig-endian`

  Generate big-endian output.

`-fpic`
`-pic`

  Generate position-independent code.

`-mljump`
`-mno-ljump`

  Enable/disable transformation of the short branch instructions `jbf`, `jbt`, and `jbr` to `jmpi`. This option is for V2 processors only. It is ignored on CK801 and CK802 targets, which do not support the `jmpi` instruction, and is enabled by default for other processors.

`-mbranch-stub`
`-mno-branch-stub`

  Pass through `R_CKCORE_PCREL_IMM26BY2` relocations for `bsr` instructions to the linker.

  This option is only available for bare-metal C-SKY V2 ELF targets, where it is enabled by default. It cannot be used in code that will be dynamically linked against shared libraries.

`-force2bsr`
`-mforce2bsr`
`-no-force2bsr`
`-mno-force2bsr`

  Enable/disable transformation of `jbsr` instructions to `bsr`. This option is always enabled (and `-mno-force2bsr` is ignored) for CK801/CK802 targets. It is also always enabled when `-mbranch-stub` is in effect.

`-jsri2bsr`
`-mjsri2bsr`
`-no-jsri2bsr`
`-mno-jsri2bsr`

  Enable/disable transformation of `jsri` instructions to `bsr`. This option is enabled by default.

`-mnolrw`
`-mno-lrw`

  Enable/disable transformation of `lrw` instructions into a `movih`/`ori` pair.

`-melrw`
`-mno-elrw`

  Enable/disable extended `lrw` instructions. This option is enabled by default for CK800-series processors.

`-mlaf`
`-mliterals-after-func`
`-mno-laf`
`-mno-literals-after-func`

  Enable/disable placement of literal pools after each function.

`-mlabr`
`-mliterals-after-br`
`-mno-labr`
`-mnoliterals-after-br`

  Enable/disable placement of literal pools after unconditional branches. This option is enabled by default.

`-mistack`
`-mno-istack`

  Enable/disable interrupt stack instructions. This option is enabled by default on CK801, CK802, and CK802 processors.

The following options explicitly enable certain optional instructions. These features are also enabled implicitly by using `-mcpu=` to specify a processor that supports it.

`-mhard-float`

  Enable hard float instructions.

`-mmp`

  Enable multiprocessor instructions.

`-mcp`

  Enable coprocessor instructions.

`-mcache`

  Enable cache prefetch instruction.

`-msecurity`

  Enable C-SKY security instructions.

`-mtrust`

  Enable C-SKY trust instructions.

`-mdsp`

  Enable DSP instructions.

`-medsp`

  Enable enhanced DSP instructions.

`-mvdsp`

  Enable vector DSP instructions.