195 lines
5.9 KiB
Text
195 lines
5.9 KiB
Text
@c Copyright (C) 2012-2022 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}.
|