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