1 @c Copyright (C) 2012-2019 Free Software Foundation, Inc.
2 @c This is part of the GAS manual.
3 @c For copying conditions, see the file as.texinfo.
8 @chapter C-SKY Dependent Features
11 @node Machine Dependencies
12 @chapter C-SKY Dependent Features
17 * C-SKY Options:: Options
18 * C-SKY Syntax:: Syntax
24 @cindex options for C-SKY
29 @cindex @code{march} command-line option, C-SKY
30 @item -march=@var{archname}
31 Assemble for architecture @var{archname}. The @option{--help} option
32 lists valid values for @var{archname}.
34 @cindex @code{mcpu} command-line option, C-SKY
35 @item -mcpu=@var{cpuname}
36 Assemble for architecture @var{cpuname}. The @option{--help} option
37 lists valid values for @var{cpuname}.
39 @cindex @code{EL} command-line option, C-SKY
40 @cindex @code{mlittle-endian} command-line option, C-SKY
42 @itemx -mlittle-endian
43 Generate little-endian output.
45 @cindex @code{EB} command-line option, C-SKY
46 @cindex @code{mbig-endian} command-line option, C-SKY
49 Generate big-endian output.
51 @cindex @code{fpic} command-line option, C-SKY
52 @cindex @code{pic} command-line option, C-SKY
55 Generate position-independent code.
57 @cindex @code{mljump} command-line option, C-SKY
58 @cindex @code{mno-ljump} command-line option, C-SKY
61 Enable/disable transformation of the short branch instructions
62 @code{jbf}, @code{jbt}, and @code{jbr} to @code{jmpi}.
63 This option is for V2 processors only.
64 It is ignored on CK801 and CK802 targets, which do not support the @code{jmpi}
65 instruction, and is enabled by default for other processors.
67 @cindex @code{mbranch-stub} command-line option, C-SKY
68 @cindex @code{mno-branch-stub} command-line option, C-SKY
70 @itemx -mno-branch-stub
71 Pass through @code{R_CKCORE_PCREL_IMM26BY2} relocations for @code{bsr}
72 instructions to the linker.
74 This option is only available for bare-metal C-SKY V2 ELF targets,
75 where it is enabled by default. It cannot be used in code that will be
76 dynamically linked against shared libraries.
78 @cindex @code{force2bsr} command-line option, C-SKY
79 @cindex @code{mforce2bsr} command-line option, C-SKY
80 @cindex @code{no-force2bsr} command-line option, C-SKY
81 @cindex @code{mno-force2bsr} command-line option, C-SKY
86 Enable/disable transformation of @code{jbsr} instructions to @code{bsr}.
87 This option is always enabled (and @option{-mno-force2bsr} is ignored)
88 for CK801/CK802 targets. It is also always enabled when
89 @option{-mbranch-stub} is in effect.
91 @cindex @code{jsri2bsr} command-line option, C-SKY
92 @cindex @code{mjsri2bsr} command-line option, C-SKY
93 @cindex @code{no-jsri2bsr} command-line option, C-SKY
94 @cindex @code{mno-jsri2bsr} command-line option, C-SKY
99 Enable/disable transformation of @code{jsri} instructions to @code{bsr}.
100 This option is enabled by default.
102 @cindex @code{mnolrw} command-line option, C-SKY
103 @cindex @code{mno-lrw} command-line option, C-SKY
106 Enable/disable transformation of @code{lrw} instructions into a
107 @code{movih}/@code{ori} pair.
109 @cindex @code{melrw} command-line option, C-SKY
110 @cindex @code{mno-elrw} command-line option, C-SKY
113 Enable/disable extended @code{lrw} instructions.
114 This option is enabled by default for CK800-series processors.
116 @cindex @code{mlaf} command-line option, C-SKY
117 @cindex @code{mliterals-after-func} command-line option, C-SKY
118 @cindex @code{mno-laf} command-line option, C-SKY
119 @cindex @code{mno-literals-after-func} command-line option, C-SKY
121 @itemx -mliterals-after-func
123 @itemx -mno-literals-after-func
124 Enable/disable placement of literal pools after each function.
126 @cindex @code{mlabr} command-line option, C-SKY
127 @cindex @code{mliterals-after-br} command-line option, C-SKY
128 @cindex @code{mno-labr} command-line option, C-SKY
129 @cindex @code{mnoliterals-after-br} command-line option, C-SKY
131 @itemx -mliterals-after-br
133 @itemx -mnoliterals-after-br
134 Enable/disable placement of literal pools after unconditional branches.
135 This option is enabled by default.
137 @cindex @code{mistack} command-line option, C-SKY
138 @cindex @code{mno-istack} command-line option, C-SKY
141 Enable/disable interrupt stack instructions. This option is enabled by
142 default on CK801, CK802, and CK802 processors.
146 The following options explicitly enable certain optional instructions.
147 These features are also enabled implicitly by using @code{-mcpu=} to specify
148 a processor that supports it.
151 @cindex @code{mhard-float} command-line option, C-SKY
153 Enable hard float instructions.
155 @cindex @code{mmp} command-line option, C-SKY
157 Enable multiprocessor instructions.
159 @cindex @code{mcp} command-line option, C-SKY
161 Enable coprocessor instructions.
163 @cindex @code{mcache} command-line option, C-SKY
165 Enable cache prefetch instruction.
167 @cindex @code{msecurity} command-line option, C-SKY
169 Enable C-SKY security instructions.
171 @cindex @code{mtrust} command-line option, C-SKY
173 Enable C-SKY trust instructions.
175 @cindex @code{mdsp} command-line option, C-SKY
177 Enable DSP instructions.
179 @cindex @code{medsp} command-line option, C-SKY
181 Enable enhanced DSP instructions.
183 @cindex @code{mvdsp} command-line option, C-SKY
185 Enable vector DSP instructions.
193 @code{@value{AS}} implements the standard C-SKY assembler syntax
195 @cite{C-SKY V2 CPU Applications Binary Interface Standards Manual}.