xref: /netbsd-src/external/gpl3/binutils.old/dist/gas/doc/c-csky.texi (revision c42dbd0ed2e61fe6eda8590caa852ccf34719964)
1*c42dbd0eSchristos@c Copyright (C) 2012-2022 Free Software Foundation, Inc.
2867d70fcSchristos@c This is part of the GAS manual.
3867d70fcSchristos@c For copying conditions, see the file as.texinfo.
4867d70fcSchristos@c man end
5867d70fcSchristos@ifset GENERIC
6867d70fcSchristos@page
7867d70fcSchristos@node C-SKY-Dependent
8867d70fcSchristos@chapter C-SKY Dependent Features
9867d70fcSchristos@end ifset
10867d70fcSchristos@ifclear GENERIC
11867d70fcSchristos@node Machine Dependencies
12867d70fcSchristos@chapter C-SKY Dependent Features
13867d70fcSchristos@end ifclear
14867d70fcSchristos
15867d70fcSchristos@cindex C-SKY support
16867d70fcSchristos@menu
17867d70fcSchristos* C-SKY Options::              Options
18867d70fcSchristos* C-SKY Syntax::               Syntax
19867d70fcSchristos@end menu
20867d70fcSchristos
21867d70fcSchristos@node C-SKY Options
22867d70fcSchristos@section Options
23867d70fcSchristos@cindex C-SKY options
24867d70fcSchristos@cindex options for C-SKY
25867d70fcSchristos
26867d70fcSchristos@c man begin OPTIONS
27867d70fcSchristos@table @gcctabopt
28867d70fcSchristos
29867d70fcSchristos@cindex @code{march} command-line option, C-SKY
30867d70fcSchristos@item -march=@var{archname}
31867d70fcSchristosAssemble for architecture @var{archname}.  The @option{--help} option
32867d70fcSchristoslists valid values for @var{archname}.
33867d70fcSchristos
34867d70fcSchristos@cindex @code{mcpu} command-line option, C-SKY
35867d70fcSchristos@item -mcpu=@var{cpuname}
36867d70fcSchristosAssemble for architecture @var{cpuname}.  The @option{--help} option
37867d70fcSchristoslists valid values for @var{cpuname}.
38867d70fcSchristos
39867d70fcSchristos@cindex @code{EL} command-line option, C-SKY
40867d70fcSchristos@cindex @code{mlittle-endian} command-line option, C-SKY
41867d70fcSchristos@item -EL
42867d70fcSchristos@itemx -mlittle-endian
43867d70fcSchristosGenerate little-endian output.
44867d70fcSchristos
45867d70fcSchristos@cindex @code{EB} command-line option, C-SKY
46867d70fcSchristos@cindex @code{mbig-endian} command-line option, C-SKY
47867d70fcSchristos@item -EB
48867d70fcSchristos@itemx -mbig-endian
49867d70fcSchristosGenerate big-endian output.
50867d70fcSchristos
51867d70fcSchristos@cindex @code{fpic} command-line option, C-SKY
52867d70fcSchristos@cindex @code{pic} command-line option, C-SKY
53867d70fcSchristos@item -fpic
54867d70fcSchristos@itemx -pic
55867d70fcSchristosGenerate position-independent code.
56867d70fcSchristos
57867d70fcSchristos@cindex @code{mljump} command-line option, C-SKY
58867d70fcSchristos@cindex @code{mno-ljump} command-line option, C-SKY
59867d70fcSchristos@item -mljump
60867d70fcSchristos@itemx -mno-ljump
61867d70fcSchristosEnable/disable transformation of the short branch instructions
62867d70fcSchristos@code{jbf}, @code{jbt}, and @code{jbr} to @code{jmpi}.
63867d70fcSchristosThis option is for V2 processors only.
64867d70fcSchristosIt is ignored on CK801 and CK802 targets, which do not support the @code{jmpi}
65867d70fcSchristosinstruction, and is enabled by default for other processors.
66867d70fcSchristos
67867d70fcSchristos@cindex @code{mbranch-stub} command-line option, C-SKY
68867d70fcSchristos@cindex @code{mno-branch-stub} command-line option, C-SKY
69867d70fcSchristos@item -mbranch-stub
70867d70fcSchristos@itemx -mno-branch-stub
71867d70fcSchristosPass through @code{R_CKCORE_PCREL_IMM26BY2} relocations for @code{bsr}
72867d70fcSchristosinstructions to the linker.
73867d70fcSchristos
74867d70fcSchristosThis option is only available for bare-metal C-SKY V2 ELF targets,
75867d70fcSchristoswhere it is enabled by default.  It cannot be used in code that will be
76867d70fcSchristosdynamically linked against shared libraries.
77867d70fcSchristos
78867d70fcSchristos@cindex @code{force2bsr} command-line option, C-SKY
79867d70fcSchristos@cindex @code{mforce2bsr} command-line option, C-SKY
80867d70fcSchristos@cindex @code{no-force2bsr} command-line option, C-SKY
81867d70fcSchristos@cindex @code{mno-force2bsr} command-line option, C-SKY
82867d70fcSchristos@item -force2bsr
83867d70fcSchristos@itemx -mforce2bsr
84867d70fcSchristos@itemx -no-force2bsr
85867d70fcSchristos@itemx -mno-force2bsr
86867d70fcSchristosEnable/disable transformation of @code{jbsr} instructions to @code{bsr}.
87867d70fcSchristosThis option is always enabled (and @option{-mno-force2bsr} is ignored)
88867d70fcSchristosfor CK801/CK802 targets.  It is also always enabled when
89867d70fcSchristos@option{-mbranch-stub} is in effect.
90867d70fcSchristos
91867d70fcSchristos@cindex @code{jsri2bsr} command-line option, C-SKY
92867d70fcSchristos@cindex @code{mjsri2bsr} command-line option, C-SKY
93867d70fcSchristos@cindex @code{no-jsri2bsr} command-line option, C-SKY
94867d70fcSchristos@cindex @code{mno-jsri2bsr} command-line option, C-SKY
95867d70fcSchristos@item -jsri2bsr
96867d70fcSchristos@itemx -mjsri2bsr
97867d70fcSchristos@itemx -no-jsri2bsr
98867d70fcSchristos@itemx -mno-jsri2bsr
99867d70fcSchristosEnable/disable transformation of @code{jsri} instructions to @code{bsr}.
100867d70fcSchristosThis option is enabled by default.
101867d70fcSchristos
102867d70fcSchristos@cindex @code{mnolrw} command-line option, C-SKY
103867d70fcSchristos@cindex @code{mno-lrw} command-line option, C-SKY
104867d70fcSchristos@item -mnolrw
105867d70fcSchristos@itemx -mno-lrw
106867d70fcSchristosEnable/disable transformation of @code{lrw} instructions into a
107867d70fcSchristos@code{movih}/@code{ori} pair.
108867d70fcSchristos
109867d70fcSchristos@cindex @code{melrw} command-line option, C-SKY
110867d70fcSchristos@cindex @code{mno-elrw} command-line option, C-SKY
111867d70fcSchristos@item -melrw
112867d70fcSchristos@itemx -mno-elrw
113867d70fcSchristosEnable/disable extended @code{lrw} instructions.
114867d70fcSchristosThis option is enabled by default for CK800-series processors.
115867d70fcSchristos
116867d70fcSchristos@cindex @code{mlaf} command-line option, C-SKY
117867d70fcSchristos@cindex @code{mliterals-after-func} command-line option, C-SKY
118867d70fcSchristos@cindex @code{mno-laf} command-line option, C-SKY
119867d70fcSchristos@cindex @code{mno-literals-after-func} command-line option, C-SKY
120867d70fcSchristos@item -mlaf
121867d70fcSchristos@itemx -mliterals-after-func
122867d70fcSchristos@itemx -mno-laf
123867d70fcSchristos@itemx -mno-literals-after-func
124867d70fcSchristosEnable/disable placement of literal pools after each function.
125867d70fcSchristos
126867d70fcSchristos@cindex @code{mlabr} command-line option, C-SKY
127867d70fcSchristos@cindex @code{mliterals-after-br} command-line option, C-SKY
128867d70fcSchristos@cindex @code{mno-labr} command-line option, C-SKY
129867d70fcSchristos@cindex @code{mnoliterals-after-br} command-line option, C-SKY
130867d70fcSchristos@item -mlabr
131867d70fcSchristos@itemx -mliterals-after-br
132867d70fcSchristos@itemx -mno-labr
133867d70fcSchristos@itemx -mnoliterals-after-br
134867d70fcSchristosEnable/disable placement of literal pools after unconditional branches.
135867d70fcSchristosThis option is enabled by default.
136867d70fcSchristos
137867d70fcSchristos@cindex @code{mistack} command-line option, C-SKY
138867d70fcSchristos@cindex @code{mno-istack} command-line option, C-SKY
139867d70fcSchristos@item -mistack
140867d70fcSchristos@itemx -mno-istack
141867d70fcSchristosEnable/disable interrupt stack instructions.  This option is enabled by
142867d70fcSchristosdefault on CK801, CK802, and CK802 processors.
143867d70fcSchristos
144867d70fcSchristos@end table
145867d70fcSchristos
146867d70fcSchristosThe following options explicitly enable certain optional instructions.
147867d70fcSchristosThese features are also enabled implicitly by using @code{-mcpu=} to specify
148867d70fcSchristosa processor that supports it.
149867d70fcSchristos
150867d70fcSchristos@table @gcctabopt
151867d70fcSchristos@cindex @code{mhard-float} command-line option, C-SKY
152867d70fcSchristos@item -mhard-float
153867d70fcSchristosEnable hard float instructions.
154867d70fcSchristos
155867d70fcSchristos@cindex @code{mmp} command-line option, C-SKY
156867d70fcSchristos@item -mmp
157867d70fcSchristosEnable multiprocessor instructions.
158867d70fcSchristos
159867d70fcSchristos@cindex @code{mcp} command-line option, C-SKY
160867d70fcSchristos@item -mcp
161867d70fcSchristosEnable coprocessor instructions.
162867d70fcSchristos
163867d70fcSchristos@cindex @code{mcache} command-line option, C-SKY
164867d70fcSchristos@item -mcache
165867d70fcSchristosEnable cache prefetch instruction.
166867d70fcSchristos
167867d70fcSchristos@cindex @code{msecurity} command-line option, C-SKY
168867d70fcSchristos@item -msecurity
169867d70fcSchristosEnable C-SKY security instructions.
170867d70fcSchristos
171867d70fcSchristos@cindex @code{mtrust} command-line option, C-SKY
172867d70fcSchristos@item -mtrust
173867d70fcSchristosEnable C-SKY trust instructions.
174867d70fcSchristos
175867d70fcSchristos@cindex @code{mdsp} command-line option, C-SKY
176867d70fcSchristos@item -mdsp
177867d70fcSchristosEnable DSP instructions.
178867d70fcSchristos
179867d70fcSchristos@cindex @code{medsp} command-line option, C-SKY
180867d70fcSchristos@item -medsp
181867d70fcSchristosEnable enhanced DSP instructions.
182867d70fcSchristos
183867d70fcSchristos@cindex @code{mvdsp} command-line option, C-SKY
184867d70fcSchristos@item -mvdsp
185867d70fcSchristosEnable vector DSP instructions.
186867d70fcSchristos
187867d70fcSchristos@end table
188867d70fcSchristos@c man end
189867d70fcSchristos
190867d70fcSchristos@node C-SKY Syntax
191867d70fcSchristos@section Syntax
192867d70fcSchristos
193867d70fcSchristos@code{@value{AS}} implements the standard C-SKY assembler syntax
194867d70fcSchristosdocumented in the
195867d70fcSchristos@cite{C-SKY V2 CPU Applications Binary Interface Standards Manual}.
196