Commit | Line | Data |
---|---|---|
b3adc24a | 1 | @c Copyright (C) 2012-2020 Free Software Foundation, Inc. |
b8891f8d AJ |
2 | @c This is part of the GAS manual. |
3 | @c For copying conditions, see the file as.texinfo. | |
4 | @c man end | |
5 | @ifset GENERIC | |
6 | @page | |
7 | @node C-SKY-Dependent | |
8 | @chapter C-SKY Dependent Features | |
9 | @end ifset | |
10 | @ifclear GENERIC | |
11 | @node Machine Dependencies | |
12 | @chapter C-SKY Dependent Features | |
13 | @end ifclear | |
14 | ||
15 | @cindex C-SKY support | |
16 | @menu | |
17 | * C-SKY Options:: Options | |
18 | * C-SKY Syntax:: Syntax | |
19 | @end menu | |
20 | ||
21 | @node C-SKY Options | |
22 | @section Options | |
23 | @cindex C-SKY options | |
24 | @cindex options for C-SKY | |
25 | ||
26 | @c man begin OPTIONS | |
27 | @table @gcctabopt | |
28 | ||
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}. | |
33 | ||
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}. | |
38 | ||
39 | @cindex @code{EL} command-line option, C-SKY | |
40 | @cindex @code{mlittle-endian} command-line option, C-SKY | |
41 | @item -EL | |
42 | @itemx -mlittle-endian | |
43 | Generate little-endian output. | |
44 | ||
45 | @cindex @code{EB} command-line option, C-SKY | |
46 | @cindex @code{mbig-endian} command-line option, C-SKY | |
47 | @item -EB | |
48 | @itemx -mbig-endian | |
49 | Generate big-endian output. | |
50 | ||
51 | @cindex @code{fpic} command-line option, C-SKY | |
52 | @cindex @code{pic} command-line option, C-SKY | |
53 | @item -fpic | |
54 | @itemx -pic | |
55 | Generate position-independent code. | |
56 | ||
57 | @cindex @code{mljump} command-line option, C-SKY | |
58 | @cindex @code{mno-ljump} command-line option, C-SKY | |
59 | @item -mljump | |
60 | @itemx -mno-ljump | |
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. | |
66 | ||
67 | @cindex @code{mbranch-stub} command-line option, C-SKY | |
68 | @cindex @code{mno-branch-stub} command-line option, C-SKY | |
69 | @item -mbranch-stub | |
70 | @itemx -mno-branch-stub | |
71 | Pass through @code{R_CKCORE_PCREL_IMM26BY2} relocations for @code{bsr} | |
72 | instructions to the linker. | |
73 | ||
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. | |
77 | ||
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 | |
82 | @item -force2bsr | |
83 | @itemx -mforce2bsr | |
84 | @itemx -no-force2bsr | |
85 | @itemx -mno-force2bsr | |
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. | |
90 | ||
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 | |
95 | @item -jsri2bsr | |
96 | @itemx -mjsri2bsr | |
97 | @itemx -no-jsri2bsr | |
98 | @itemx -mno-jsri2bsr | |
99 | Enable/disable transformation of @code{jsri} instructions to @code{bsr}. | |
100 | This option is enabled by default. | |
101 | ||
102 | @cindex @code{mnolrw} command-line option, C-SKY | |
103 | @cindex @code{mno-lrw} command-line option, C-SKY | |
104 | @item -mnolrw | |
105 | @itemx -mno-lrw | |
106 | Enable/disable transformation of @code{lrw} instructions into a | |
107 | @code{movih}/@code{ori} pair. | |
108 | ||
109 | @cindex @code{melrw} command-line option, C-SKY | |
110 | @cindex @code{mno-elrw} command-line option, C-SKY | |
111 | @item -melrw | |
112 | @itemx -mno-elrw | |
113 | Enable/disable extended @code{lrw} instructions. | |
114 | This option is enabled by default for CK800-series processors. | |
115 | ||
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 | |
120 | @item -mlaf | |
121 | @itemx -mliterals-after-func | |
122 | @itemx -mno-laf | |
123 | @itemx -mno-literals-after-func | |
124 | Enable/disable placement of literal pools after each function. | |
125 | ||
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 | |
130 | @item -mlabr | |
131 | @itemx -mliterals-after-br | |
132 | @itemx -mno-labr | |
133 | @itemx -mnoliterals-after-br | |
134 | Enable/disable placement of literal pools after unconditional branches. | |
135 | This option is enabled by default. | |
136 | ||
137 | @cindex @code{mistack} command-line option, C-SKY | |
138 | @cindex @code{mno-istack} command-line option, C-SKY | |
139 | @item -mistack | |
140 | @itemx -mno-istack | |
141 | Enable/disable interrupt stack instructions. This option is enabled by | |
142 | default on CK801, CK802, and CK802 processors. | |
143 | ||
144 | @end table | |
145 | ||
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. | |
149 | ||
150 | @table @gcctabopt | |
151 | @cindex @code{mhard-float} command-line option, C-SKY | |
152 | @item -mhard-float | |
153 | Enable hard float instructions. | |
154 | ||
155 | @cindex @code{mmp} command-line option, C-SKY | |
156 | @item -mmp | |
157 | Enable multiprocessor instructions. | |
158 | ||
159 | @cindex @code{mcp} command-line option, C-SKY | |
160 | @item -mcp | |
161 | Enable coprocessor instructions. | |
162 | ||
163 | @cindex @code{mcache} command-line option, C-SKY | |
164 | @item -mcache | |
165 | Enable cache prefetch instruction. | |
166 | ||
167 | @cindex @code{msecurity} command-line option, C-SKY | |
168 | @item -msecurity | |
169 | Enable C-SKY security instructions. | |
170 | ||
171 | @cindex @code{mtrust} command-line option, C-SKY | |
172 | @item -mtrust | |
173 | Enable C-SKY trust instructions. | |
174 | ||
175 | @cindex @code{mdsp} command-line option, C-SKY | |
176 | @item -mdsp | |
177 | Enable DSP instructions. | |
178 | ||
179 | @cindex @code{medsp} command-line option, C-SKY | |
180 | @item -medsp | |
181 | Enable enhanced DSP instructions. | |
182 | ||
183 | @cindex @code{mvdsp} command-line option, C-SKY | |
184 | @item -mvdsp | |
185 | Enable vector DSP instructions. | |
186 | ||
187 | @end table | |
188 | @c man end | |
189 | ||
190 | @node C-SKY Syntax | |
191 | @section Syntax | |
192 | ||
193 | @code{@value{AS}} implements the standard C-SKY assembler syntax | |
194 | documented in the | |
195 | @cite{C-SKY V2 CPU Applications Binary Interface Standards Manual}. |