| 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. |
| 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}. |