| @c Copyright (C) 2012-2021 Free Software Foundation, Inc. |
| @c This is part of the GAS manual. |
| @c For copying conditions, see the file as.texinfo. |
| @c man end |
| @ifset GENERIC |
| @page |
| @node C-SKY-Dependent |
| @chapter C-SKY Dependent Features |
| @end ifset |
| @ifclear GENERIC |
| @node Machine Dependencies |
| @chapter C-SKY Dependent Features |
| @end ifclear |
| |
| @cindex C-SKY support |
| @menu |
| * C-SKY Options:: Options |
| * C-SKY Syntax:: Syntax |
| @end menu |
| |
| @node C-SKY Options |
| @section Options |
| @cindex C-SKY options |
| @cindex options for C-SKY |
| |
| @c man begin OPTIONS |
| @table @gcctabopt |
| |
| @cindex @code{march} command-line option, C-SKY |
| @item -march=@var{archname} |
| Assemble for architecture @var{archname}. The @option{--help} option |
| lists valid values for @var{archname}. |
| |
| @cindex @code{mcpu} command-line option, C-SKY |
| @item -mcpu=@var{cpuname} |
| Assemble for architecture @var{cpuname}. The @option{--help} option |
| lists valid values for @var{cpuname}. |
| |
| @cindex @code{EL} command-line option, C-SKY |
| @cindex @code{mlittle-endian} command-line option, C-SKY |
| @item -EL |
| @itemx -mlittle-endian |
| Generate little-endian output. |
| |
| @cindex @code{EB} command-line option, C-SKY |
| @cindex @code{mbig-endian} command-line option, C-SKY |
| @item -EB |
| @itemx -mbig-endian |
| Generate big-endian output. |
| |
| @cindex @code{fpic} command-line option, C-SKY |
| @cindex @code{pic} command-line option, C-SKY |
| @item -fpic |
| @itemx -pic |
| Generate position-independent code. |
| |
| @cindex @code{mljump} command-line option, C-SKY |
| @cindex @code{mno-ljump} command-line option, C-SKY |
| @item -mljump |
| @itemx -mno-ljump |
| Enable/disable transformation of the short branch instructions |
| @code{jbf}, @code{jbt}, and @code{jbr} to @code{jmpi}. |
| This option is for V2 processors only. |
| It is ignored on CK801 and CK802 targets, which do not support the @code{jmpi} |
| instruction, and is enabled by default for other processors. |
| |
| @cindex @code{mbranch-stub} command-line option, C-SKY |
| @cindex @code{mno-branch-stub} command-line option, C-SKY |
| @item -mbranch-stub |
| @itemx -mno-branch-stub |
| Pass through @code{R_CKCORE_PCREL_IMM26BY2} relocations for @code{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. |
| |
| @cindex @code{force2bsr} command-line option, C-SKY |
| @cindex @code{mforce2bsr} command-line option, C-SKY |
| @cindex @code{no-force2bsr} command-line option, C-SKY |
| @cindex @code{mno-force2bsr} command-line option, C-SKY |
| @item -force2bsr |
| @itemx -mforce2bsr |
| @itemx -no-force2bsr |
| @itemx -mno-force2bsr |
| Enable/disable transformation of @code{jbsr} instructions to @code{bsr}. |
| This option is always enabled (and @option{-mno-force2bsr} is ignored) |
| for CK801/CK802 targets. It is also always enabled when |
| @option{-mbranch-stub} is in effect. |
| |
| @cindex @code{jsri2bsr} command-line option, C-SKY |
| @cindex @code{mjsri2bsr} command-line option, C-SKY |
| @cindex @code{no-jsri2bsr} command-line option, C-SKY |
| @cindex @code{mno-jsri2bsr} command-line option, C-SKY |
| @item -jsri2bsr |
| @itemx -mjsri2bsr |
| @itemx -no-jsri2bsr |
| @itemx -mno-jsri2bsr |
| Enable/disable transformation of @code{jsri} instructions to @code{bsr}. |
| This option is enabled by default. |
| |
| @cindex @code{mnolrw} command-line option, C-SKY |
| @cindex @code{mno-lrw} command-line option, C-SKY |
| @item -mnolrw |
| @itemx -mno-lrw |
| Enable/disable transformation of @code{lrw} instructions into a |
| @code{movih}/@code{ori} pair. |
| |
| @cindex @code{melrw} command-line option, C-SKY |
| @cindex @code{mno-elrw} command-line option, C-SKY |
| @item -melrw |
| @itemx -mno-elrw |
| Enable/disable extended @code{lrw} instructions. |
| This option is enabled by default for CK800-series processors. |
| |
| @cindex @code{mlaf} command-line option, C-SKY |
| @cindex @code{mliterals-after-func} command-line option, C-SKY |
| @cindex @code{mno-laf} command-line option, C-SKY |
| @cindex @code{mno-literals-after-func} command-line option, C-SKY |
| @item -mlaf |
| @itemx -mliterals-after-func |
| @itemx -mno-laf |
| @itemx -mno-literals-after-func |
| Enable/disable placement of literal pools after each function. |
| |
| @cindex @code{mlabr} command-line option, C-SKY |
| @cindex @code{mliterals-after-br} command-line option, C-SKY |
| @cindex @code{mno-labr} command-line option, C-SKY |
| @cindex @code{mnoliterals-after-br} command-line option, C-SKY |
| @item -mlabr |
| @itemx -mliterals-after-br |
| @itemx -mno-labr |
| @itemx -mnoliterals-after-br |
| Enable/disable placement of literal pools after unconditional branches. |
| This option is enabled by default. |
| |
| @cindex @code{mistack} command-line option, C-SKY |
| @cindex @code{mno-istack} command-line option, C-SKY |
| @item -mistack |
| @itemx -mno-istack |
| Enable/disable interrupt stack instructions. This option is enabled by |
| default on CK801, CK802, and CK802 processors. |
| |
| @end table |
| |
| The following options explicitly enable certain optional instructions. |
| These features are also enabled implicitly by using @code{-mcpu=} to specify |
| a processor that supports it. |
| |
| @table @gcctabopt |
| @cindex @code{mhard-float} command-line option, C-SKY |
| @item -mhard-float |
| Enable hard float instructions. |
| |
| @cindex @code{mmp} command-line option, C-SKY |
| @item -mmp |
| Enable multiprocessor instructions. |
| |
| @cindex @code{mcp} command-line option, C-SKY |
| @item -mcp |
| Enable coprocessor instructions. |
| |
| @cindex @code{mcache} command-line option, C-SKY |
| @item -mcache |
| Enable cache prefetch instruction. |
| |
| @cindex @code{msecurity} command-line option, C-SKY |
| @item -msecurity |
| Enable C-SKY security instructions. |
| |
| @cindex @code{mtrust} command-line option, C-SKY |
| @item -mtrust |
| Enable C-SKY trust instructions. |
| |
| @cindex @code{mdsp} command-line option, C-SKY |
| @item -mdsp |
| Enable DSP instructions. |
| |
| @cindex @code{medsp} command-line option, C-SKY |
| @item -medsp |
| Enable enhanced DSP instructions. |
| |
| @cindex @code{mvdsp} command-line option, C-SKY |
| @item -mvdsp |
| Enable vector DSP instructions. |
| |
| @end table |
| @c man end |
| |
| @node C-SKY Syntax |
| @section Syntax |
| |
| @code{@value{AS}} implements the standard C-SKY assembler syntax |
| documented in the |
| @cite{C-SKY V2 CPU Applications Binary Interface Standards Manual}. |