arm-linux-gnueabihf-as.1 79 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079
  1. .\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
  2. .\"
  3. .\" Standard preamble:
  4. .\" ========================================================================
  5. .de Sp \" Vertical space (when we can't use .PP)
  6. .if t .sp .5v
  7. .if n .sp
  8. ..
  9. .de Vb \" Begin verbatim text
  10. .ft CW
  11. .nf
  12. .ne \\$1
  13. ..
  14. .de Ve \" End verbatim text
  15. .ft R
  16. .fi
  17. ..
  18. .\" Set up some character translations and predefined strings. \*(-- will
  19. .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
  20. .\" double quote, and \*(R" will give a right double quote. \*(C+ will
  21. .\" give a nicer C++. Capital omega is used to do unbreakable dashes and
  22. .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
  23. .\" nothing in troff, for use with C<>.
  24. .tr \(*W-
  25. .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
  26. .ie n \{\
  27. . ds -- \(*W-
  28. . ds PI pi
  29. . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
  30. . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
  31. . ds L" ""
  32. . ds R" ""
  33. . ds C` ""
  34. . ds C' ""
  35. 'br\}
  36. .el\{\
  37. . ds -- \|\(em\|
  38. . ds PI \(*p
  39. . ds L" ``
  40. . ds R" ''
  41. . ds C`
  42. . ds C'
  43. 'br\}
  44. .\"
  45. .\" Escape single quotes in literal strings from groff's Unicode transform.
  46. .ie \n(.g .ds Aq \(aq
  47. .el .ds Aq '
  48. .\"
  49. .\" If the F register is turned on, we'll generate index entries on stderr for
  50. .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
  51. .\" entries marked with X<> in POD. Of course, you'll have to process the
  52. .\" output yourself in some meaningful fashion.
  53. .\"
  54. .\" Avoid warning from groff about undefined register 'F'.
  55. .de IX
  56. ..
  57. .nr rF 0
  58. .if \n(.g .if rF .nr rF 1
  59. .if (\n(rF:(\n(.g==0)) \{
  60. . if \nF \{
  61. . de IX
  62. . tm Index:\\$1\t\\n%\t"\\$2"
  63. ..
  64. . if !\nF==2 \{
  65. . nr % 0
  66. . nr F 2
  67. . \}
  68. . \}
  69. .\}
  70. .rr rF
  71. .\"
  72. .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  73. .\" Fear. Run. Save yourself. No user-serviceable parts.
  74. . \" fudge factors for nroff and troff
  75. .if n \{\
  76. . ds #H 0
  77. . ds #V .8m
  78. . ds #F .3m
  79. . ds #[ \f1
  80. . ds #] \fP
  81. .\}
  82. .if t \{\
  83. . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
  84. . ds #V .6m
  85. . ds #F 0
  86. . ds #[ \&
  87. . ds #] \&
  88. .\}
  89. . \" simple accents for nroff and troff
  90. .if n \{\
  91. . ds ' \&
  92. . ds ` \&
  93. . ds ^ \&
  94. . ds , \&
  95. . ds ~ ~
  96. . ds /
  97. .\}
  98. .if t \{\
  99. . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
  100. . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
  101. . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
  102. . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
  103. . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
  104. . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
  105. .\}
  106. . \" troff and (daisy-wheel) nroff accents
  107. .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
  108. .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
  109. .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
  110. .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
  111. .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
  112. .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
  113. .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
  114. .ds ae a\h'-(\w'a'u*4/10)'e
  115. .ds Ae A\h'-(\w'A'u*4/10)'E
  116. . \" corrections for vroff
  117. .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
  118. .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
  119. . \" for low resolution devices (crt and lpr)
  120. .if \n(.H>23 .if \n(.V>19 \
  121. \{\
  122. . ds : e
  123. . ds 8 ss
  124. . ds o a
  125. . ds d- d\h'-1'\(ga
  126. . ds D- D\h'-1'\(hy
  127. . ds th \o'bp'
  128. . ds Th \o'LP'
  129. . ds ae ae
  130. . ds Ae AE
  131. .\}
  132. .rm #[ #] #H #V #F C
  133. .\" ========================================================================
  134. .\"
  135. .IX Title "AS 1"
  136. .TH AS 1 "2019-12-04" "binutils-2.28.2" "GNU Development Tools"
  137. .\" For nroff, turn off justification. Always turn off hyphenation; it makes
  138. .\" way too many mistakes in technical documents.
  139. .if n .ad l
  140. .nh
  141. .SH "NAME"
  142. AS \- the portable GNU assembler.
  143. .SH "SYNOPSIS"
  144. .IX Header "SYNOPSIS"
  145. as [\fB\-a\fR[\fBcdghlns\fR][=\fIfile\fR]] [\fB\-\-alternate\fR] [\fB\-D\fR]
  146. [\fB\-\-compress\-debug\-sections\fR] [\fB\-\-nocompress\-debug\-sections\fR]
  147. [\fB\-\-debug\-prefix\-map\fR \fIold\fR=\fInew\fR]
  148. [\fB\-\-defsym\fR \fIsym\fR=\fIval\fR] [\fB\-f\fR] [\fB\-g\fR] [\fB\-\-gstabs\fR]
  149. [\fB\-\-gstabs+\fR] [\fB\-\-gdwarf\-2\fR] [\fB\-\-gdwarf\-sections\fR]
  150. [\fB\-\-help\fR] [\fB\-I\fR \fIdir\fR] [\fB\-J\fR]
  151. [\fB\-K\fR] [\fB\-L\fR] [\fB\-\-listing\-lhs\-width\fR=\fI\s-1NUM\s0\fR]
  152. [\fB\-\-listing\-lhs\-width2\fR=\fI\s-1NUM\s0\fR] [\fB\-\-listing\-rhs\-width\fR=\fI\s-1NUM\s0\fR]
  153. [\fB\-\-listing\-cont\-lines\fR=\fI\s-1NUM\s0\fR] [\fB\-\-keep\-locals\fR]
  154. [\fB\-\-no\-pad\-sections\fR]
  155. [\fB\-o\fR \fIobjfile\fR] [\fB\-R\fR]
  156. [\fB\-\-hash\-size\fR=\fI\s-1NUM\s0\fR] [\fB\-\-reduce\-memory\-overheads\fR]
  157. [\fB\-\-statistics\fR]
  158. [\fB\-v\fR] [\fB\-version\fR] [\fB\-\-version\fR]
  159. [\fB\-W\fR] [\fB\-\-warn\fR] [\fB\-\-fatal\-warnings\fR] [\fB\-w\fR] [\fB\-x\fR]
  160. [\fB\-Z\fR] [\fB@\fR\fI\s-1FILE\s0\fR]
  161. [\fB\-\-sectname\-subst\fR] [\fB\-\-size\-check=[error|warning]\fR]
  162. [\fB\-\-elf\-stt\-common=[no|yes]\fR]
  163. [\fB\-\-target\-help\fR] [\fItarget-options\fR]
  164. [\fB\-\-\fR|\fIfiles\fR ...]
  165. .SH "TARGET"
  166. .IX Header "TARGET"
  167. \&\fITarget AArch64 options:\fR
  168. [\fB\-EB\fR|\fB\-EL\fR]
  169. [\fB\-mabi\fR=\fI\s-1ABI\s0\fR]
  170. .PP
  171. \&\fITarget Alpha options:\fR
  172. [\fB\-m\fR\fIcpu\fR]
  173. [\fB\-mdebug\fR | \fB\-no\-mdebug\fR]
  174. [\fB\-replace\fR | \fB\-noreplace\fR]
  175. [\fB\-relax\fR] [\fB\-g\fR] [\fB\-G\fR\fIsize\fR]
  176. [\fB\-F\fR] [\fB\-32addr\fR]
  177. .PP
  178. \&\fITarget \s-1ARC\s0 options:\fR
  179. [\fB\-mcpu=\fR\fIcpu\fR]
  180. [\fB\-mA6\fR|\fB\-mARC600\fR|\fB\-mARC601\fR|\fB\-mA7\fR|\fB\-mARC700\fR|\fB\-mEM\fR|\fB\-mHS\fR]
  181. [\fB\-mcode\-density\fR]
  182. [\fB\-mrelax\fR]
  183. [\fB\-EB\fR|\fB\-EL\fR]
  184. .PP
  185. \&\fITarget \s-1ARM\s0 options:\fR
  186. [\fB\-mcpu\fR=\fIprocessor\fR[+\fIextension\fR...]]
  187. [\fB\-march\fR=\fIarchitecture\fR[+\fIextension\fR...]]
  188. [\fB\-mfpu\fR=\fIfloating-point-format\fR]
  189. [\fB\-mfloat\-abi\fR=\fIabi\fR]
  190. [\fB\-meabi\fR=\fIver\fR]
  191. [\fB\-mthumb\fR]
  192. [\fB\-EB\fR|\fB\-EL\fR]
  193. [\fB\-mapcs\-32\fR|\fB\-mapcs\-26\fR|\fB\-mapcs\-float\fR|
  194. \fB\-mapcs\-reentrant\fR]
  195. [\fB\-mthumb\-interwork\fR] [\fB\-k\fR]
  196. .PP
  197. \&\fITarget Blackfin options:\fR
  198. [\fB\-mcpu\fR=\fIprocessor\fR[\-\fIsirevision\fR]]
  199. [\fB\-mfdpic\fR]
  200. [\fB\-mno\-fdpic\fR]
  201. [\fB\-mnopic\fR]
  202. .PP
  203. \&\fITarget \s-1CRIS\s0 options:\fR
  204. [\fB\-\-underscore\fR | \fB\-\-no\-underscore\fR]
  205. [\fB\-\-pic\fR] [\fB\-N\fR]
  206. [\fB\-\-emulation=criself\fR | \fB\-\-emulation=crisaout\fR]
  207. [\fB\-\-march=v0_v10\fR | \fB\-\-march=v10\fR | \fB\-\-march=v32\fR | \fB\-\-march=common_v10_v32\fR]
  208. .PP
  209. \&\fITarget D10V options:\fR
  210. [\fB\-O\fR]
  211. .PP
  212. \&\fITarget D30V options:\fR
  213. [\fB\-O\fR|\fB\-n\fR|\fB\-N\fR]
  214. .PP
  215. \&\fITarget \s-1EPIPHANY\s0 options:\fR
  216. [\fB\-mepiphany\fR|\fB\-mepiphany16\fR]
  217. .PP
  218. \&\fITarget H8/300 options:\fR
  219. [\-h\-tick\-hex]
  220. .PP
  221. \&\fITarget i386 options:\fR
  222. [\fB\-\-32\fR|\fB\-\-x32\fR|\fB\-\-64\fR] [\fB\-n\fR]
  223. [\fB\-march\fR=\fI\s-1CPU\s0\fR[+\fI\s-1EXTENSION\s0\fR...]] [\fB\-mtune\fR=\fI\s-1CPU\s0\fR]
  224. .PP
  225. \&\fITarget i960 options:\fR
  226. [\fB\-ACA\fR|\fB\-ACA_A\fR|\fB\-ACB\fR|\fB\-ACC\fR|\fB\-AKA\fR|\fB\-AKB\fR|
  227. \fB\-AKC\fR|\fB\-AMC\fR]
  228. [\fB\-b\fR] [\fB\-no\-relax\fR]
  229. .PP
  230. \&\fITarget \s-1IA\-64\s0 options:\fR
  231. [\fB\-mconstant\-gp\fR|\fB\-mauto\-pic\fR]
  232. [\fB\-milp32\fR|\fB\-milp64\fR|\fB\-mlp64\fR|\fB\-mp64\fR]
  233. [\fB\-mle\fR|\fBmbe\fR]
  234. [\fB\-mtune=itanium1\fR|\fB\-mtune=itanium2\fR]
  235. [\fB\-munwind\-check=warning\fR|\fB\-munwind\-check=error\fR]
  236. [\fB\-mhint.b=ok\fR|\fB\-mhint.b=warning\fR|\fB\-mhint.b=error\fR]
  237. [\fB\-x\fR|\fB\-xexplicit\fR] [\fB\-xauto\fR] [\fB\-xdebug\fR]
  238. .PP
  239. \&\fITarget \s-1IP2K\s0 options:\fR
  240. [\fB\-mip2022\fR|\fB\-mip2022ext\fR]
  241. .PP
  242. \&\fITarget M32C options:\fR
  243. [\fB\-m32c\fR|\fB\-m16c\fR] [\-relax] [\-h\-tick\-hex]
  244. .PP
  245. \&\fITarget M32R options:\fR
  246. [\fB\-\-m32rx\fR|\fB\-\-[no\-]warn\-explicit\-parallel\-conflicts\fR|
  247. \fB\-\-W[n]p\fR]
  248. .PP
  249. \&\fITarget M680X0 options:\fR
  250. [\fB\-l\fR] [\fB\-m68000\fR|\fB\-m68010\fR|\fB\-m68020\fR|...]
  251. .PP
  252. \&\fITarget M68HC11 options:\fR
  253. [\fB\-m68hc11\fR|\fB\-m68hc12\fR|\fB\-m68hcs12\fR|\fB\-mm9s12x\fR|\fB\-mm9s12xg\fR]
  254. [\fB\-mshort\fR|\fB\-mlong\fR]
  255. [\fB\-mshort\-double\fR|\fB\-mlong\-double\fR]
  256. [\fB\-\-force\-long\-branches\fR] [\fB\-\-short\-branches\fR]
  257. [\fB\-\-strict\-direct\-mode\fR] [\fB\-\-print\-insn\-syntax\fR]
  258. [\fB\-\-print\-opcodes\fR] [\fB\-\-generate\-example\fR]
  259. .PP
  260. \&\fITarget \s-1MCORE\s0 options:\fR
  261. [\fB\-jsri2bsr\fR] [\fB\-sifilter\fR] [\fB\-relax\fR]
  262. [\fB\-mcpu=[210|340]\fR]
  263. .PP
  264. \&\fITarget Meta options:\fR
  265. [\fB\-mcpu=\fR\fIcpu\fR] [\fB\-mfpu=\fR\fIcpu\fR] [\fB\-mdsp=\fR\fIcpu\fR]
  266. \&\fITarget \s-1MICROBLAZE\s0 options:\fR
  267. .PP
  268. \&\fITarget \s-1MIPS\s0 options:\fR
  269. [\fB\-nocpp\fR] [\fB\-EL\fR] [\fB\-EB\fR] [\fB\-O\fR[\fIoptimization level\fR]]
  270. [\fB\-g\fR[\fIdebug level\fR]] [\fB\-G\fR \fInum\fR] [\fB\-KPIC\fR] [\fB\-call_shared\fR]
  271. [\fB\-non_shared\fR] [\fB\-xgot\fR [\fB\-mvxworks\-pic\fR]
  272. [\fB\-mabi\fR=\fI\s-1ABI\s0\fR] [\fB\-32\fR] [\fB\-n32\fR] [\fB\-64\fR] [\fB\-mfp32\fR] [\fB\-mgp32\fR]
  273. [\fB\-mfp64\fR] [\fB\-mgp64\fR] [\fB\-mfpxx\fR]
  274. [\fB\-modd\-spreg\fR] [\fB\-mno\-odd\-spreg\fR]
  275. [\fB\-march\fR=\fI\s-1CPU\s0\fR] [\fB\-mtune\fR=\fI\s-1CPU\s0\fR] [\fB\-mips1\fR] [\fB\-mips2\fR]
  276. [\fB\-mips3\fR] [\fB\-mips4\fR] [\fB\-mips5\fR] [\fB\-mips32\fR] [\fB\-mips32r2\fR]
  277. [\fB\-mips32r3\fR] [\fB\-mips32r5\fR] [\fB\-mips32r6\fR] [\fB\-mips64\fR] [\fB\-mips64r2\fR]
  278. [\fB\-mips64r3\fR] [\fB\-mips64r5\fR] [\fB\-mips64r6\fR]
  279. [\fB\-construct\-floats\fR] [\fB\-no\-construct\-floats\fR]
  280. [\fB\-mignore\-branch\-isa\fR] [\fB\-mno\-ignore\-branch\-isa\fR]
  281. [\fB\-mnan=\fR\fIencoding\fR]
  282. [\fB\-trap\fR] [\fB\-no\-break\fR] [\fB\-break\fR] [\fB\-no\-trap\fR]
  283. [\fB\-mips16\fR] [\fB\-no\-mips16\fR]
  284. [\fB\-mmicromips\fR] [\fB\-mno\-micromips\fR]
  285. [\fB\-msmartmips\fR] [\fB\-mno\-smartmips\fR]
  286. [\fB\-mips3d\fR] [\fB\-no\-mips3d\fR]
  287. [\fB\-mdmx\fR] [\fB\-no\-mdmx\fR]
  288. [\fB\-mdsp\fR] [\fB\-mno\-dsp\fR]
  289. [\fB\-mdspr2\fR] [\fB\-mno\-dspr2\fR]
  290. [\fB\-mdspr3\fR] [\fB\-mno\-dspr3\fR]
  291. [\fB\-mmsa\fR] [\fB\-mno\-msa\fR]
  292. [\fB\-mxpa\fR] [\fB\-mno\-xpa\fR]
  293. [\fB\-mmt\fR] [\fB\-mno\-mt\fR]
  294. [\fB\-mmcu\fR] [\fB\-mno\-mcu\fR]
  295. [\fB\-minsn32\fR] [\fB\-mno\-insn32\fR]
  296. [\fB\-mfix7000\fR] [\fB\-mno\-fix7000\fR]
  297. [\fB\-mfix\-rm7000\fR] [\fB\-mno\-fix\-rm7000\fR]
  298. [\fB\-mfix\-vr4120\fR] [\fB\-mno\-fix\-vr4120\fR]
  299. [\fB\-mfix\-vr4130\fR] [\fB\-mno\-fix\-vr4130\fR]
  300. [\fB\-mdebug\fR] [\fB\-no\-mdebug\fR]
  301. [\fB\-mpdr\fR] [\fB\-mno\-pdr\fR]
  302. .PP
  303. \&\fITarget \s-1MMIX\s0 options:\fR
  304. [\fB\-\-fixed\-special\-register\-names\fR] [\fB\-\-globalize\-symbols\fR]
  305. [\fB\-\-gnu\-syntax\fR] [\fB\-\-relax\fR] [\fB\-\-no\-predefined\-symbols\fR]
  306. [\fB\-\-no\-expand\fR] [\fB\-\-no\-merge\-gregs\fR] [\fB\-x\fR]
  307. [\fB\-\-linker\-allocated\-gregs\fR]
  308. .PP
  309. \&\fITarget Nios \s-1II\s0 options:\fR
  310. [\fB\-relax\-all\fR] [\fB\-relax\-section\fR] [\fB\-no\-relax\fR]
  311. [\fB\-EB\fR] [\fB\-EL\fR]
  312. .PP
  313. \&\fITarget \s-1NDS32\s0 options:\fR
  314. [\fB\-EL\fR] [\fB\-EB\fR] [\fB\-O\fR] [\fB\-Os\fR] [\fB\-mcpu=\fR\fIcpu\fR]
  315. [\fB\-misa=\fR\fIisa\fR] [\fB\-mabi=\fR\fIabi\fR] [\fB\-mall\-ext\fR]
  316. [\fB\-m[no\-]16\-bit\fR] [\fB\-m[no\-]perf\-ext\fR] [\fB\-m[no\-]perf2\-ext\fR]
  317. [\fB\-m[no\-]string\-ext\fR] [\fB\-m[no\-]dsp\-ext\fR] [\fB\-m[no\-]mac\fR] [\fB\-m[no\-]div\fR]
  318. [\fB\-m[no\-]audio\-isa\-ext\fR] [\fB\-m[no\-]fpu\-sp\-ext\fR] [\fB\-m[no\-]fpu\-dp\-ext\fR]
  319. [\fB\-m[no\-]fpu\-fma\fR] [\fB\-mfpu\-freg=\fR\fI\s-1FREG\s0\fR] [\fB\-mreduced\-regs\fR]
  320. [\fB\-mfull\-regs\fR] [\fB\-m[no\-]dx\-regs\fR] [\fB\-mpic\fR] [\fB\-mno\-relax\fR]
  321. [\fB\-mb2bb\fR]
  322. .PP
  323. \&\fITarget \s-1PDP11\s0 options:\fR
  324. [\fB\-mpic\fR|\fB\-mno\-pic\fR] [\fB\-mall\fR] [\fB\-mno\-extensions\fR]
  325. [\fB\-m\fR\fIextension\fR|\fB\-mno\-\fR\fIextension\fR]
  326. [\fB\-m\fR\fIcpu\fR] [\fB\-m\fR\fImachine\fR]
  327. .PP
  328. \&\fITarget picoJava options:\fR
  329. [\fB\-mb\fR|\fB\-me\fR]
  330. .PP
  331. \&\fITarget PowerPC options:\fR
  332. [\fB\-a32\fR|\fB\-a64\fR]
  333. [\fB\-mpwrx\fR|\fB\-mpwr2\fR|\fB\-mpwr\fR|\fB\-m601\fR|\fB\-mppc\fR|\fB\-mppc32\fR|\fB\-m603\fR|\fB\-m604\fR|\fB\-m403\fR|\fB\-m405\fR|
  334. \fB\-m440\fR|\fB\-m464\fR|\fB\-m476\fR|\fB\-m7400\fR|\fB\-m7410\fR|\fB\-m7450\fR|\fB\-m7455\fR|\fB\-m750cl\fR|\fB\-mppc64\fR|
  335. \fB\-m620\fR|\fB\-me500\fR|\fB\-e500x2\fR|\fB\-me500mc\fR|\fB\-me500mc64\fR|\fB\-me5500\fR|\fB\-me6500\fR|\fB\-mppc64bridge\fR|
  336. \fB\-mbooke\fR|\fB\-mpower4\fR|\fB\-mpwr4\fR|\fB\-mpower5\fR|\fB\-mpwr5\fR|\fB\-mpwr5x\fR|\fB\-mpower6\fR|\fB\-mpwr6\fR|
  337. \fB\-mpower7\fR|\fB\-mpwr7\fR|\fB\-mpower8\fR|\fB\-mpwr8\fR|\fB\-mpower9\fR|\fB\-mpwr9\fR\fB\-ma2\fR|
  338. \fB\-mcell\fR|\fB\-mspe\fR|\fB\-mtitan\fR|\fB\-me300\fR|\fB\-mcom\fR]
  339. [\fB\-many\fR] [\fB\-maltivec\fR|\fB\-mvsx\fR|\fB\-mhtm\fR|\fB\-mvle\fR]
  340. [\fB\-mregnames\fR|\fB\-mno\-regnames\fR]
  341. [\fB\-mrelocatable\fR|\fB\-mrelocatable\-lib\fR|\fB\-K \s-1PIC\s0\fR] [\fB\-memb\fR]
  342. [\fB\-mlittle\fR|\fB\-mlittle\-endian\fR|\fB\-le\fR|\fB\-mbig\fR|\fB\-mbig\-endian\fR|\fB\-be\fR]
  343. [\fB\-msolaris\fR|\fB\-mno\-solaris\fR]
  344. [\fB\-nops=\fR\fIcount\fR]
  345. .PP
  346. \&\fITarget \s-1RL78\s0 options:\fR
  347. [\fB\-mg10\fR]
  348. [\fB\-m32bit\-doubles\fR|\fB\-m64bit\-doubles\fR]
  349. .PP
  350. \&\fITarget \s-1RX\s0 options:\fR
  351. [\fB\-mlittle\-endian\fR|\fB\-mbig\-endian\fR]
  352. [\fB\-m32bit\-doubles\fR|\fB\-m64bit\-doubles\fR]
  353. [\fB\-muse\-conventional\-section\-names\fR]
  354. [\fB\-msmall\-data\-limit\fR]
  355. [\fB\-mpid\fR]
  356. [\fB\-mrelax\fR]
  357. [\fB\-mint\-register=\fR\fInumber\fR]
  358. [\fB\-mgcc\-abi\fR|\fB\-mrx\-abi\fR]
  359. .PP
  360. \&\fITarget RISC-V options:\fR
  361. [\fB\-march\fR=\fI\s-1ISA\s0\fR]
  362. [\fB\-mabi\fR=\fI\s-1ABI\s0\fR]
  363. .PP
  364. \&\fITarget s390 options:\fR
  365. [\fB\-m31\fR|\fB\-m64\fR] [\fB\-mesa\fR|\fB\-mzarch\fR] [\fB\-march\fR=\fI\s-1CPU\s0\fR]
  366. [\fB\-mregnames\fR|\fB\-mno\-regnames\fR]
  367. [\fB\-mwarn\-areg\-zero\fR]
  368. .PP
  369. \&\fITarget \s-1SCORE\s0 options:\fR
  370. [\fB\-EB\fR][\fB\-EL\fR][\fB\-FIXDD\fR][\fB\-NWARN\fR]
  371. [\fB\-SCORE5\fR][\fB\-SCORE5U\fR][\fB\-SCORE7\fR][\fB\-SCORE3\fR]
  372. [\fB\-march=score7\fR][\fB\-march=score3\fR]
  373. [\fB\-USE_R1\fR][\fB\-KPIC\fR][\fB\-O0\fR][\fB\-G\fR \fInum\fR][\fB\-V\fR]
  374. .PP
  375. \&\fITarget \s-1SPARC\s0 options:\fR
  376. [\fB\-Av6\fR|\fB\-Av7\fR|\fB\-Av8\fR|\fB\-Aleon\fR|\fB\-Asparclet\fR|\fB\-Asparclite\fR
  377. \fB\-Av8plus\fR|\fB\-Av8plusa\fR|\fB\-Av8plusb\fR|\fB\-Av8plusc\fR|\fB\-Av8plusd\fR
  378. \fB\-Av8plusv\fR|\fB\-Av8plusm\fR|\fB\-Av9\fR|\fB\-Av9a\fR|\fB\-Av9b\fR|\fB\-Av9c\fR
  379. \fB\-Av9d\fR|\fB\-Av9e\fR|\fB\-Av9v\fR|\fB\-Av9m\fR|\fB\-Asparc\fR|\fB\-Asparcvis\fR
  380. \fB\-Asparcvis2\fR|\fB\-Asparcfmaf\fR|\fB\-Asparcima\fR|\fB\-Asparcvis3\fR
  381. \fB\-Asparcvisr\fR|\fB\-Asparc5\fR]
  382. [\fB\-xarch=v8plus\fR|\fB\-xarch=v8plusa\fR]|\fB\-xarch=v8plusb\fR|\fB\-xarch=v8plusc\fR
  383. \fB\-xarch=v8plusd\fR|\fB\-xarch=v8plusv\fR|\fB\-xarch=v8plusm\fR|\fB\-xarch=v9\fR
  384. \fB\-xarch=v9a\fR|\fB\-xarch=v9b\fR|\fB\-xarch=v9c\fR|\fB\-xarch=v9d\fR|\fB\-xarch=v9e\fR
  385. \fB\-xarch=v9v\fR|\fB\-xarch=v9m\fR|\fB\-xarch=sparc\fR|\fB\-xarch=sparcvis\fR
  386. \fB\-xarch=sparcvis2\fR|\fB\-xarch=sparcfmaf\fR|\fB\-xarch=sparcima\fR
  387. \fB\-xarch=sparcvis3\fR|\fB\-xarch=sparcvisr\fR|\fB\-xarch=sparc5\fR
  388. \fB\-bump\fR]
  389. [\fB\-32\fR|\fB\-64\fR]
  390. [\fB\-\-enforce\-aligned\-data\fR][\fB\-\-dcti\-couples\-detect\fR]
  391. .PP
  392. \&\fITarget \s-1TIC54X\s0 options:\fR
  393. [\fB\-mcpu=54[123589]\fR|\fB\-mcpu=54[56]lp\fR] [\fB\-mfar\-mode\fR|\fB\-mf\fR]
  394. [\fB\-merrors\-to\-file\fR \fI<filename>\fR|\fB\-me\fR \fI<filename>\fR]
  395. .PP
  396. \&\fITarget \s-1TIC6X\s0 options:\fR
  397. [\fB\-march=\fR\fIarch\fR] [\fB\-mbig\-endian\fR|\fB\-mlittle\-endian\fR]
  398. [\fB\-mdsbt\fR|\fB\-mno\-dsbt\fR] [\fB\-mpid=no\fR|\fB\-mpid=near\fR|\fB\-mpid=far\fR]
  399. [\fB\-mpic\fR|\fB\-mno\-pic\fR]
  400. .PP
  401. \&\fITarget TILE-Gx options:\fR
  402. [\fB\-m32\fR|\fB\-m64\fR][\fB\-EB\fR][\fB\-EL\fR]
  403. .PP
  404. \&\fITarget Visium options:\fR
  405. [\fB\-mtune=\fR\fIarch\fR]
  406. .PP
  407. \&\fITarget Xtensa options:\fR
  408. [\fB\-\-[no\-]text\-section\-literals\fR] [\fB\-\-[no\-]auto\-litpools\fR]
  409. [\fB\-\-[no\-]absolute\-literals\fR]
  410. [\fB\-\-[no\-]target\-align\fR] [\fB\-\-[no\-]longcalls\fR]
  411. [\fB\-\-[no\-]transform\fR]
  412. [\fB\-\-rename\-section\fR \fIoldname\fR=\fInewname\fR]
  413. [\fB\-\-[no\-]trampolines\fR]
  414. .PP
  415. \&\fITarget Z80 options:\fR
  416. [\fB\-z80\fR] [\fB\-r800\fR]
  417. [ \fB\-ignore\-undocumented\-instructions\fR] [\fB\-Wnud\fR]
  418. [ \fB\-ignore\-unportable\-instructions\fR] [\fB\-Wnup\fR]
  419. [ \fB\-warn\-undocumented\-instructions\fR] [\fB\-Wud\fR]
  420. [ \fB\-warn\-unportable\-instructions\fR] [\fB\-Wup\fR]
  421. [ \fB\-forbid\-undocumented\-instructions\fR] [\fB\-Fud\fR]
  422. [ \fB\-forbid\-unportable\-instructions\fR] [\fB\-Fup\fR]
  423. .SH "DESCRIPTION"
  424. .IX Header "DESCRIPTION"
  425. \&\s-1GNU \s0\fBas\fR is really a family of assemblers.
  426. If you use (or have used) the \s-1GNU\s0 assembler on one architecture, you
  427. should find a fairly similar environment when you use it on another
  428. architecture. Each version has much in common with the others,
  429. including object file formats, most assembler directives (often called
  430. \&\fIpseudo-ops\fR) and assembler syntax.
  431. .PP
  432. \&\fBas\fR is primarily intended to assemble the output of the
  433. \&\s-1GNU C\s0 compiler \f(CW\*(C`gcc\*(C'\fR for use by the linker
  434. \&\f(CW\*(C`ld\*(C'\fR. Nevertheless, we've tried to make \fBas\fR
  435. assemble correctly everything that other assemblers for the same
  436. machine would assemble.
  437. Any exceptions are documented explicitly.
  438. This doesn't mean \fBas\fR always uses the same syntax as another
  439. assembler for the same architecture; for example, we know of several
  440. incompatible versions of 680x0 assembly language syntax.
  441. .PP
  442. Each time you run \fBas\fR it assembles exactly one source
  443. program. The source program is made up of one or more files.
  444. (The standard input is also a file.)
  445. .PP
  446. You give \fBas\fR a command line that has zero or more input file
  447. names. The input files are read (from left file name to right). A
  448. command line argument (in any position) that has no special meaning
  449. is taken to be an input file name.
  450. .PP
  451. If you give \fBas\fR no file names it attempts to read one input file
  452. from the \fBas\fR standard input, which is normally your terminal. You
  453. may have to type \fBctl-D\fR to tell \fBas\fR there is no more program
  454. to assemble.
  455. .PP
  456. Use \fB\-\-\fR if you need to explicitly name the standard input file
  457. in your command line.
  458. .PP
  459. If the source is empty, \fBas\fR produces a small, empty object
  460. file.
  461. .PP
  462. \&\fBas\fR may write warnings and error messages to the standard error
  463. file (usually your terminal). This should not happen when a compiler
  464. runs \fBas\fR automatically. Warnings report an assumption made so
  465. that \fBas\fR could keep assembling a flawed program; errors report a
  466. grave problem that stops the assembly.
  467. .PP
  468. If you are invoking \fBas\fR via the \s-1GNU C\s0 compiler,
  469. you can use the \fB\-Wa\fR option to pass arguments through to the assembler.
  470. The assembler arguments must be separated from each other (and the \fB\-Wa\fR)
  471. by commas. For example:
  472. .PP
  473. .Vb 1
  474. \& gcc \-c \-g \-O \-Wa,\-alh,\-L file.c
  475. .Ve
  476. .PP
  477. This passes two options to the assembler: \fB\-alh\fR (emit a listing to
  478. standard output with high-level and assembly source) and \fB\-L\fR (retain
  479. local symbols in the symbol table).
  480. .PP
  481. Usually you do not need to use this \fB\-Wa\fR mechanism, since many compiler
  482. command-line options are automatically passed to the assembler by the compiler.
  483. (You can call the \s-1GNU\s0 compiler driver with the \fB\-v\fR option to see
  484. precisely what options it passes to each compilation pass, including the
  485. assembler.)
  486. .SH "OPTIONS"
  487. .IX Header "OPTIONS"
  488. .IP "\fB@\fR\fIfile\fR" 4
  489. .IX Item "@file"
  490. Read command-line options from \fIfile\fR. The options read are
  491. inserted in place of the original @\fIfile\fR option. If \fIfile\fR
  492. does not exist, or cannot be read, then the option will be treated
  493. literally, and not removed.
  494. .Sp
  495. Options in \fIfile\fR are separated by whitespace. A whitespace
  496. character may be included in an option by surrounding the entire
  497. option in either single or double quotes. Any character (including a
  498. backslash) may be included by prefixing the character to be included
  499. with a backslash. The \fIfile\fR may itself contain additional
  500. @\fIfile\fR options; any such options will be processed recursively.
  501. .IP "\fB\-a[cdghlmns]\fR" 4
  502. .IX Item "-a[cdghlmns]"
  503. Turn on listings, in any of a variety of ways:
  504. .RS 4
  505. .IP "\fB\-ac\fR" 4
  506. .IX Item "-ac"
  507. omit false conditionals
  508. .IP "\fB\-ad\fR" 4
  509. .IX Item "-ad"
  510. omit debugging directives
  511. .IP "\fB\-ag\fR" 4
  512. .IX Item "-ag"
  513. include general information, like as version and options passed
  514. .IP "\fB\-ah\fR" 4
  515. .IX Item "-ah"
  516. include high-level source
  517. .IP "\fB\-al\fR" 4
  518. .IX Item "-al"
  519. include assembly
  520. .IP "\fB\-am\fR" 4
  521. .IX Item "-am"
  522. include macro expansions
  523. .IP "\fB\-an\fR" 4
  524. .IX Item "-an"
  525. omit forms processing
  526. .IP "\fB\-as\fR" 4
  527. .IX Item "-as"
  528. include symbols
  529. .IP "\fB=file\fR" 4
  530. .IX Item "=file"
  531. set the name of the listing file
  532. .RE
  533. .RS 4
  534. .Sp
  535. You may combine these options; for example, use \fB\-aln\fR for assembly
  536. listing without forms processing. The \fB=file\fR option, if used, must be
  537. the last one. By itself, \fB\-a\fR defaults to \fB\-ahls\fR.
  538. .RE
  539. .IP "\fB\-\-alternate\fR" 4
  540. .IX Item "--alternate"
  541. Begin in alternate macro mode.
  542. .IP "\fB\-\-compress\-debug\-sections\fR" 4
  543. .IX Item "--compress-debug-sections"
  544. Compress \s-1DWARF\s0 debug sections using zlib with \s-1SHF_COMPRESSED\s0 from the
  545. \&\s-1ELF ABI. \s0 The resulting object file may not be compatible with older
  546. linkers and object file utilities. Note if compression would make a
  547. given section \fIlarger\fR then it is not compressed.
  548. .IP "\fB\-\-compress\-debug\-sections=none\fR" 4
  549. .IX Item "--compress-debug-sections=none"
  550. .PD 0
  551. .IP "\fB\-\-compress\-debug\-sections=zlib\fR" 4
  552. .IX Item "--compress-debug-sections=zlib"
  553. .IP "\fB\-\-compress\-debug\-sections=zlib\-gnu\fR" 4
  554. .IX Item "--compress-debug-sections=zlib-gnu"
  555. .IP "\fB\-\-compress\-debug\-sections=zlib\-gabi\fR" 4
  556. .IX Item "--compress-debug-sections=zlib-gabi"
  557. .PD
  558. These options control how \s-1DWARF\s0 debug sections are compressed.
  559. \&\fB\-\-compress\-debug\-sections=none\fR is equivalent to
  560. \&\fB\-\-nocompress\-debug\-sections\fR.
  561. \&\fB\-\-compress\-debug\-sections=zlib\fR and
  562. \&\fB\-\-compress\-debug\-sections=zlib\-gabi\fR are equivalent to
  563. \&\fB\-\-compress\-debug\-sections\fR.
  564. \&\fB\-\-compress\-debug\-sections=zlib\-gnu\fR compresses \s-1DWARF\s0 debug
  565. sections using zlib. The debug sections are renamed to begin with
  566. \&\fB.zdebug\fR. Note if compression would make a given section
  567. \&\fIlarger\fR then it is not compressed nor renamed.
  568. .IP "\fB\-\-nocompress\-debug\-sections\fR" 4
  569. .IX Item "--nocompress-debug-sections"
  570. Do not compress \s-1DWARF\s0 debug sections. This is usually the default for all
  571. targets except the x86/x86_64, but a configure time option can be used to
  572. override this.
  573. .IP "\fB\-D\fR" 4
  574. .IX Item "-D"
  575. Ignored. This option is accepted for script compatibility with calls to
  576. other assemblers.
  577. .IP "\fB\-\-debug\-prefix\-map\fR \fIold\fR\fB=\fR\fInew\fR" 4
  578. .IX Item "--debug-prefix-map old=new"
  579. When assembling files in directory \fI\fIold\fI\fR, record debugging
  580. information describing them as in \fI\fInew\fI\fR instead.
  581. .IP "\fB\-\-defsym\fR \fIsym\fR\fB=\fR\fIvalue\fR" 4
  582. .IX Item "--defsym sym=value"
  583. Define the symbol \fIsym\fR to be \fIvalue\fR before assembling the input file.
  584. \&\fIvalue\fR must be an integer constant. As in C, a leading \fB0x\fR
  585. indicates a hexadecimal value, and a leading \fB0\fR indicates an octal
  586. value. The value of the symbol can be overridden inside a source file via the
  587. use of a \f(CW\*(C`.set\*(C'\fR pseudo-op.
  588. .IP "\fB\-f\fR" 4
  589. .IX Item "-f"
  590. \&\*(L"fast\*(R"\-\-\-skip whitespace and comment preprocessing (assume source is
  591. compiler output).
  592. .IP "\fB\-g\fR" 4
  593. .IX Item "-g"
  594. .PD 0
  595. .IP "\fB\-\-gen\-debug\fR" 4
  596. .IX Item "--gen-debug"
  597. .PD
  598. Generate debugging information for each assembler source line using whichever
  599. debug format is preferred by the target. This currently means either \s-1STABS,
  600. ECOFF\s0 or \s-1DWARF2.\s0
  601. .IP "\fB\-\-gstabs\fR" 4
  602. .IX Item "--gstabs"
  603. Generate stabs debugging information for each assembler line. This
  604. may help debugging assembler code, if the debugger can handle it.
  605. .IP "\fB\-\-gstabs+\fR" 4
  606. .IX Item "--gstabs+"
  607. Generate stabs debugging information for each assembler line, with \s-1GNU\s0
  608. extensions that probably only gdb can handle, and that could make other
  609. debuggers crash or refuse to read your program. This
  610. may help debugging assembler code. Currently the only \s-1GNU\s0 extension is
  611. the location of the current working directory at assembling time.
  612. .IP "\fB\-\-gdwarf\-2\fR" 4
  613. .IX Item "--gdwarf-2"
  614. Generate \s-1DWARF2\s0 debugging information for each assembler line. This
  615. may help debugging assembler code, if the debugger can handle it. Note\-\-\-this
  616. option is only supported by some targets, not all of them.
  617. .IP "\fB\-\-gdwarf\-sections\fR" 4
  618. .IX Item "--gdwarf-sections"
  619. Instead of creating a .debug_line section, create a series of
  620. \&.debug_line.\fIfoo\fR sections where \fIfoo\fR is the name of the
  621. corresponding code section. For example a code section called \fI.text.func\fR
  622. will have its dwarf line number information placed into a section called
  623. \&\fI.debug_line.text.func\fR. If the code section is just called \fI.text\fR
  624. then debug line section will still be called just \fI.debug_line\fR without any
  625. suffix.
  626. .IP "\fB\-\-size\-check=error\fR" 4
  627. .IX Item "--size-check=error"
  628. .PD 0
  629. .IP "\fB\-\-size\-check=warning\fR" 4
  630. .IX Item "--size-check=warning"
  631. .PD
  632. Issue an error or warning for invalid \s-1ELF \s0.size directive.
  633. .IP "\fB\-\-elf\-stt\-common=no\fR" 4
  634. .IX Item "--elf-stt-common=no"
  635. .PD 0
  636. .IP "\fB\-\-elf\-stt\-common=yes\fR" 4
  637. .IX Item "--elf-stt-common=yes"
  638. .PD
  639. These options control whether the \s-1ELF\s0 assembler should generate common
  640. symbols with the \f(CW\*(C`STT_COMMON\*(C'\fR type. The default can be controlled
  641. by a configure option \fB\-\-enable\-elf\-stt\-common\fR.
  642. .IP "\fB\-\-help\fR" 4
  643. .IX Item "--help"
  644. Print a summary of the command line options and exit.
  645. .IP "\fB\-\-target\-help\fR" 4
  646. .IX Item "--target-help"
  647. Print a summary of all target specific options and exit.
  648. .IP "\fB\-I\fR \fIdir\fR" 4
  649. .IX Item "-I dir"
  650. Add directory \fIdir\fR to the search list for \f(CW\*(C`.include\*(C'\fR directives.
  651. .IP "\fB\-J\fR" 4
  652. .IX Item "-J"
  653. Don't warn about signed overflow.
  654. .IP "\fB\-K\fR" 4
  655. .IX Item "-K"
  656. Issue warnings when difference tables altered for long displacements.
  657. .IP "\fB\-L\fR" 4
  658. .IX Item "-L"
  659. .PD 0
  660. .IP "\fB\-\-keep\-locals\fR" 4
  661. .IX Item "--keep-locals"
  662. .PD
  663. Keep (in the symbol table) local symbols. These symbols start with
  664. system-specific local label prefixes, typically \fB.L\fR for \s-1ELF\s0 systems
  665. or \fBL\fR for traditional a.out systems.
  666. .IP "\fB\-\-listing\-lhs\-width=\fR\fInumber\fR" 4
  667. .IX Item "--listing-lhs-width=number"
  668. Set the maximum width, in words, of the output data column for an assembler
  669. listing to \fInumber\fR.
  670. .IP "\fB\-\-listing\-lhs\-width2=\fR\fInumber\fR" 4
  671. .IX Item "--listing-lhs-width2=number"
  672. Set the maximum width, in words, of the output data column for continuation
  673. lines in an assembler listing to \fInumber\fR.
  674. .IP "\fB\-\-listing\-rhs\-width=\fR\fInumber\fR" 4
  675. .IX Item "--listing-rhs-width=number"
  676. Set the maximum width of an input source line, as displayed in a listing, to
  677. \&\fInumber\fR bytes.
  678. .IP "\fB\-\-listing\-cont\-lines=\fR\fInumber\fR" 4
  679. .IX Item "--listing-cont-lines=number"
  680. Set the maximum number of lines printed in a listing for a single line of input
  681. to \fInumber\fR + 1.
  682. .IP "\fB\-\-no\-pad\-sections\fR" 4
  683. .IX Item "--no-pad-sections"
  684. Stop the assembler for padding the ends of output sections to the alignment
  685. of that section. The default is to pad the sections, but this can waste space
  686. which might be needed on targets which have tight memory constraints.
  687. .IP "\fB\-o\fR \fIobjfile\fR" 4
  688. .IX Item "-o objfile"
  689. Name the object-file output from \fBas\fR \fIobjfile\fR.
  690. .IP "\fB\-R\fR" 4
  691. .IX Item "-R"
  692. Fold the data section into the text section.
  693. .IP "\fB\-\-hash\-size=\fR\fInumber\fR" 4
  694. .IX Item "--hash-size=number"
  695. Set the default size of \s-1GAS\s0's hash tables to a prime number close to
  696. \&\fInumber\fR. Increasing this value can reduce the length of time it takes the
  697. assembler to perform its tasks, at the expense of increasing the assembler's
  698. memory requirements. Similarly reducing this value can reduce the memory
  699. requirements at the expense of speed.
  700. .IP "\fB\-\-reduce\-memory\-overheads\fR" 4
  701. .IX Item "--reduce-memory-overheads"
  702. This option reduces \s-1GAS\s0's memory requirements, at the expense of making the
  703. assembly processes slower. Currently this switch is a synonym for
  704. \&\fB\-\-hash\-size=4051\fR, but in the future it may have other effects as well.
  705. .IP "\fB\-\-sectname\-subst\fR" 4
  706. .IX Item "--sectname-subst"
  707. Honor substitution sequences in section names.
  708. .IP "\fB\-\-statistics\fR" 4
  709. .IX Item "--statistics"
  710. Print the maximum space (in bytes) and total time (in seconds) used by
  711. assembly.
  712. .IP "\fB\-\-strip\-local\-absolute\fR" 4
  713. .IX Item "--strip-local-absolute"
  714. Remove local absolute symbols from the outgoing symbol table.
  715. .IP "\fB\-v\fR" 4
  716. .IX Item "-v"
  717. .PD 0
  718. .IP "\fB\-version\fR" 4
  719. .IX Item "-version"
  720. .PD
  721. Print the \fBas\fR version.
  722. .IP "\fB\-\-version\fR" 4
  723. .IX Item "--version"
  724. Print the \fBas\fR version and exit.
  725. .IP "\fB\-W\fR" 4
  726. .IX Item "-W"
  727. .PD 0
  728. .IP "\fB\-\-no\-warn\fR" 4
  729. .IX Item "--no-warn"
  730. .PD
  731. Suppress warning messages.
  732. .IP "\fB\-\-fatal\-warnings\fR" 4
  733. .IX Item "--fatal-warnings"
  734. Treat warnings as errors.
  735. .IP "\fB\-\-warn\fR" 4
  736. .IX Item "--warn"
  737. Don't suppress warning messages or treat them as errors.
  738. .IP "\fB\-w\fR" 4
  739. .IX Item "-w"
  740. Ignored.
  741. .IP "\fB\-x\fR" 4
  742. .IX Item "-x"
  743. Ignored.
  744. .IP "\fB\-Z\fR" 4
  745. .IX Item "-Z"
  746. Generate an object file even after errors.
  747. .IP "\fB\-\- |\fR \fIfiles\fR \fB...\fR" 4
  748. .IX Item "-- | files ..."
  749. Standard input, or source files to assemble.
  750. .PP
  751. The following options are available when as is configured for the
  752. 64\-bit mode of the \s-1ARM\s0 Architecture (AArch64).
  753. .IP "\fB\-EB\fR" 4
  754. .IX Item "-EB"
  755. This option specifies that the output generated by the assembler should
  756. be marked as being encoded for a big-endian processor.
  757. .IP "\fB\-EL\fR" 4
  758. .IX Item "-EL"
  759. This option specifies that the output generated by the assembler should
  760. be marked as being encoded for a little-endian processor.
  761. .IP "\fB\-mabi=\fR\fIabi\fR" 4
  762. .IX Item "-mabi=abi"
  763. Specify which \s-1ABI\s0 the source code uses. The recognized arguments
  764. are: \f(CW\*(C`ilp32\*(C'\fR and \f(CW\*(C`lp64\*(C'\fR, which decides the generated object
  765. file in \s-1ELF32\s0 and \s-1ELF64\s0 format respectively. The default is \f(CW\*(C`lp64\*(C'\fR.
  766. .IP "\fB\-mcpu=\fR\fIprocessor\fR\fB[+\fR\fIextension\fR\fB...]\fR" 4
  767. .IX Item "-mcpu=processor[+extension...]"
  768. This option specifies the target processor. The assembler will issue an error
  769. message if an attempt is made to assemble an instruction which will not execute
  770. on the target processor. The following processor names are recognized:
  771. \&\f(CW\*(C`cortex\-a35\*(C'\fR,
  772. \&\f(CW\*(C`cortex\-a53\*(C'\fR,
  773. \&\f(CW\*(C`cortex\-a57\*(C'\fR,
  774. \&\f(CW\*(C`cortex\-a72\*(C'\fR,
  775. \&\f(CW\*(C`cortex\-a73\*(C'\fR,
  776. \&\f(CW\*(C`exynos\-m1\*(C'\fR,
  777. \&\f(CW\*(C`falkor\*(C'\fR,
  778. \&\f(CW\*(C`qdf24xx\*(C'\fR,
  779. \&\f(CW\*(C`thunderx\*(C'\fR,
  780. \&\f(CW\*(C`vulcan\*(C'\fR,
  781. \&\f(CW\*(C`xgene1\*(C'\fR
  782. and
  783. \&\f(CW\*(C`xgene2\*(C'\fR.
  784. The special name \f(CW\*(C`all\*(C'\fR may be used to allow the assembler to accept
  785. instructions valid for any supported processor, including all optional
  786. extensions.
  787. .Sp
  788. In addition to the basic instruction set, the assembler can be told to
  789. accept, or restrict, various extension mnemonics that extend the
  790. processor.
  791. .Sp
  792. If some implementations of a particular processor can have an
  793. extension, then then those extensions are automatically enabled.
  794. Consequently, you will not normally have to specify any additional
  795. extensions.
  796. .IP "\fB\-march=\fR\fIarchitecture\fR\fB[+\fR\fIextension\fR\fB...]\fR" 4
  797. .IX Item "-march=architecture[+extension...]"
  798. This option specifies the target architecture. The assembler will
  799. issue an error message if an attempt is made to assemble an
  800. instruction which will not execute on the target architecture. The
  801. following architecture names are recognized: \f(CW\*(C`armv8\-a\*(C'\fR,
  802. \&\f(CW\*(C`armv8.1\-a\*(C'\fR, \f(CW\*(C`armv8.2\-a\*(C'\fR and \f(CW\*(C`armv8.3\-a\*(C'\fR.
  803. .Sp
  804. If both \fB\-mcpu\fR and \fB\-march\fR are specified, the
  805. assembler will use the setting for \fB\-mcpu\fR. If neither are
  806. specified, the assembler will default to \fB\-mcpu=all\fR.
  807. .Sp
  808. The architecture option can be extended with the same instruction set
  809. extension options as the \fB\-mcpu\fR option. Unlike
  810. \&\fB\-mcpu\fR, extensions are not always enabled by default,
  811. .IP "\fB\-mverbose\-error\fR" 4
  812. .IX Item "-mverbose-error"
  813. This option enables verbose error messages for AArch64 gas. This option
  814. is enabled by default.
  815. .IP "\fB\-mno\-verbose\-error\fR" 4
  816. .IX Item "-mno-verbose-error"
  817. This option disables verbose error messages in AArch64 gas.
  818. .PP
  819. The following options are available when as is configured for an Alpha
  820. processor.
  821. .IP "\fB\-m\fR\fIcpu\fR" 4
  822. .IX Item "-mcpu"
  823. This option specifies the target processor. If an attempt is made to
  824. assemble an instruction which will not execute on the target processor,
  825. the assembler may either expand the instruction as a macro or issue an
  826. error message. This option is equivalent to the \f(CW\*(C`.arch\*(C'\fR directive.
  827. .Sp
  828. The following processor names are recognized:
  829. \&\f(CW21064\fR,
  830. \&\f(CW\*(C`21064a\*(C'\fR,
  831. \&\f(CW21066\fR,
  832. \&\f(CW21068\fR,
  833. \&\f(CW21164\fR,
  834. \&\f(CW\*(C`21164a\*(C'\fR,
  835. \&\f(CW\*(C`21164pc\*(C'\fR,
  836. \&\f(CW21264\fR,
  837. \&\f(CW\*(C`21264a\*(C'\fR,
  838. \&\f(CW\*(C`21264b\*(C'\fR,
  839. \&\f(CW\*(C`ev4\*(C'\fR,
  840. \&\f(CW\*(C`ev5\*(C'\fR,
  841. \&\f(CW\*(C`lca45\*(C'\fR,
  842. \&\f(CW\*(C`ev5\*(C'\fR,
  843. \&\f(CW\*(C`ev56\*(C'\fR,
  844. \&\f(CW\*(C`pca56\*(C'\fR,
  845. \&\f(CW\*(C`ev6\*(C'\fR,
  846. \&\f(CW\*(C`ev67\*(C'\fR,
  847. \&\f(CW\*(C`ev68\*(C'\fR.
  848. The special name \f(CW\*(C`all\*(C'\fR may be used to allow the assembler to accept
  849. instructions valid for any Alpha processor.
  850. .Sp
  851. In order to support existing practice in \s-1OSF/1\s0 with respect to \f(CW\*(C`.arch\*(C'\fR,
  852. and existing practice within \fB\s-1MILO\s0\fR (the Linux \s-1ARC\s0 bootloader), the
  853. numbered processor names (e.g. 21064) enable the processor-specific PALcode
  854. instructions, while the \*(L"electro-vlasic\*(R" names (e.g. \f(CW\*(C`ev4\*(C'\fR) do not.
  855. .IP "\fB\-mdebug\fR" 4
  856. .IX Item "-mdebug"
  857. .PD 0
  858. .IP "\fB\-no\-mdebug\fR" 4
  859. .IX Item "-no-mdebug"
  860. .PD
  861. Enables or disables the generation of \f(CW\*(C`.mdebug\*(C'\fR encapsulation for
  862. stabs directives and procedure descriptors. The default is to automatically
  863. enable \f(CW\*(C`.mdebug\*(C'\fR when the first stabs directive is seen.
  864. .IP "\fB\-relax\fR" 4
  865. .IX Item "-relax"
  866. This option forces all relocations to be put into the object file, instead
  867. of saving space and resolving some relocations at assembly time. Note that
  868. this option does not propagate all symbol arithmetic into the object file,
  869. because not all symbol arithmetic can be represented. However, the option
  870. can still be useful in specific applications.
  871. .IP "\fB\-replace\fR" 4
  872. .IX Item "-replace"
  873. .PD 0
  874. .IP "\fB\-noreplace\fR" 4
  875. .IX Item "-noreplace"
  876. .PD
  877. Enables or disables the optimization of procedure calls, both at assemblage
  878. and at link time. These options are only available for \s-1VMS\s0 targets and
  879. \&\f(CW\*(C`\-replace\*(C'\fR is the default. See section 1.4.1 of the OpenVMS Linker
  880. Utility Manual.
  881. .IP "\fB\-g\fR" 4
  882. .IX Item "-g"
  883. This option is used when the compiler generates debug information. When
  884. \&\fBgcc\fR is using \fBmips-tfile\fR to generate debug
  885. information for \s-1ECOFF,\s0 local labels must be passed through to the object
  886. file. Otherwise this option has no effect.
  887. .IP "\fB\-G\fR\fIsize\fR" 4
  888. .IX Item "-Gsize"
  889. A local common symbol larger than \fIsize\fR is placed in \f(CW\*(C`.bss\*(C'\fR,
  890. while smaller symbols are placed in \f(CW\*(C`.sbss\*(C'\fR.
  891. .IP "\fB\-F\fR" 4
  892. .IX Item "-F"
  893. .PD 0
  894. .IP "\fB\-32addr\fR" 4
  895. .IX Item "-32addr"
  896. .PD
  897. These options are ignored for backward compatibility.
  898. .PP
  899. The following options are available when as is configured for an \s-1ARC\s0
  900. processor.
  901. .IP "\fB\-mcpu=\fR\fIcpu\fR" 4
  902. .IX Item "-mcpu=cpu"
  903. This option selects the core processor variant.
  904. .IP "\fB\-EB | \-EL\fR" 4
  905. .IX Item "-EB | -EL"
  906. Select either big-endian (\-EB) or little-endian (\-EL) output.
  907. .IP "\fB\-mcode\-density\fR" 4
  908. .IX Item "-mcode-density"
  909. Enable Code Density extenssion instructions.
  910. .PP
  911. The following options are available when as is configured for the \s-1ARM\s0
  912. processor family.
  913. .IP "\fB\-mcpu=\fR\fIprocessor\fR\fB[+\fR\fIextension\fR\fB...]\fR" 4
  914. .IX Item "-mcpu=processor[+extension...]"
  915. Specify which \s-1ARM\s0 processor variant is the target.
  916. .IP "\fB\-march=\fR\fIarchitecture\fR\fB[+\fR\fIextension\fR\fB...]\fR" 4
  917. .IX Item "-march=architecture[+extension...]"
  918. Specify which \s-1ARM\s0 architecture variant is used by the target.
  919. .IP "\fB\-mfpu=\fR\fIfloating-point-format\fR" 4
  920. .IX Item "-mfpu=floating-point-format"
  921. Select which Floating Point architecture is the target.
  922. .IP "\fB\-mfloat\-abi=\fR\fIabi\fR" 4
  923. .IX Item "-mfloat-abi=abi"
  924. Select which floating point \s-1ABI\s0 is in use.
  925. .IP "\fB\-mthumb\fR" 4
  926. .IX Item "-mthumb"
  927. Enable Thumb only instruction decoding.
  928. .IP "\fB\-mapcs\-32 | \-mapcs\-26 | \-mapcs\-float | \-mapcs\-reentrant\fR" 4
  929. .IX Item "-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant"
  930. Select which procedure calling convention is in use.
  931. .IP "\fB\-EB | \-EL\fR" 4
  932. .IX Item "-EB | -EL"
  933. Select either big-endian (\-EB) or little-endian (\-EL) output.
  934. .IP "\fB\-mthumb\-interwork\fR" 4
  935. .IX Item "-mthumb-interwork"
  936. Specify that the code has been generated with interworking between Thumb and
  937. \&\s-1ARM\s0 code in mind.
  938. .IP "\fB\-mccs\fR" 4
  939. .IX Item "-mccs"
  940. Turns on CodeComposer Studio assembly syntax compatibility mode.
  941. .IP "\fB\-k\fR" 4
  942. .IX Item "-k"
  943. Specify that \s-1PIC\s0 code has been generated.
  944. .PP
  945. The following options are available when as is configured for
  946. the Blackfin processor family.
  947. .IP "\fB\-mcpu=\fR\fIprocessor\fR[\fB\-\fR\fIsirevision\fR]" 4
  948. .IX Item "-mcpu=processor[-sirevision]"
  949. This option specifies the target processor. The optional \fIsirevision\fR
  950. is not used in assembler. It's here such that \s-1GCC\s0 can easily pass down its
  951. \&\f(CW\*(C`\-mcpu=\*(C'\fR option. The assembler will issue an
  952. error message if an attempt is made to assemble an instruction which
  953. will not execute on the target processor. The following processor names are
  954. recognized:
  955. \&\f(CW\*(C`bf504\*(C'\fR,
  956. \&\f(CW\*(C`bf506\*(C'\fR,
  957. \&\f(CW\*(C`bf512\*(C'\fR,
  958. \&\f(CW\*(C`bf514\*(C'\fR,
  959. \&\f(CW\*(C`bf516\*(C'\fR,
  960. \&\f(CW\*(C`bf518\*(C'\fR,
  961. \&\f(CW\*(C`bf522\*(C'\fR,
  962. \&\f(CW\*(C`bf523\*(C'\fR,
  963. \&\f(CW\*(C`bf524\*(C'\fR,
  964. \&\f(CW\*(C`bf525\*(C'\fR,
  965. \&\f(CW\*(C`bf526\*(C'\fR,
  966. \&\f(CW\*(C`bf527\*(C'\fR,
  967. \&\f(CW\*(C`bf531\*(C'\fR,
  968. \&\f(CW\*(C`bf532\*(C'\fR,
  969. \&\f(CW\*(C`bf533\*(C'\fR,
  970. \&\f(CW\*(C`bf534\*(C'\fR,
  971. \&\f(CW\*(C`bf535\*(C'\fR (not implemented yet),
  972. \&\f(CW\*(C`bf536\*(C'\fR,
  973. \&\f(CW\*(C`bf537\*(C'\fR,
  974. \&\f(CW\*(C`bf538\*(C'\fR,
  975. \&\f(CW\*(C`bf539\*(C'\fR,
  976. \&\f(CW\*(C`bf542\*(C'\fR,
  977. \&\f(CW\*(C`bf542m\*(C'\fR,
  978. \&\f(CW\*(C`bf544\*(C'\fR,
  979. \&\f(CW\*(C`bf544m\*(C'\fR,
  980. \&\f(CW\*(C`bf547\*(C'\fR,
  981. \&\f(CW\*(C`bf547m\*(C'\fR,
  982. \&\f(CW\*(C`bf548\*(C'\fR,
  983. \&\f(CW\*(C`bf548m\*(C'\fR,
  984. \&\f(CW\*(C`bf549\*(C'\fR,
  985. \&\f(CW\*(C`bf549m\*(C'\fR,
  986. \&\f(CW\*(C`bf561\*(C'\fR,
  987. and
  988. \&\f(CW\*(C`bf592\*(C'\fR.
  989. .IP "\fB\-mfdpic\fR" 4
  990. .IX Item "-mfdpic"
  991. Assemble for the \s-1FDPIC ABI.\s0
  992. .IP "\fB\-mno\-fdpic\fR" 4
  993. .IX Item "-mno-fdpic"
  994. .PD 0
  995. .IP "\fB\-mnopic\fR" 4
  996. .IX Item "-mnopic"
  997. .PD
  998. Disable \-mfdpic.
  999. .PP
  1000. See the info pages for documentation of the CRIS-specific options.
  1001. .PP
  1002. The following options are available when as is configured for
  1003. a D10V processor.
  1004. .IP "\fB\-O\fR" 4
  1005. .IX Item "-O"
  1006. Optimize output by parallelizing instructions.
  1007. .PP
  1008. The following options are available when as is configured for a D30V
  1009. processor.
  1010. .IP "\fB\-O\fR" 4
  1011. .IX Item "-O"
  1012. Optimize output by parallelizing instructions.
  1013. .IP "\fB\-n\fR" 4
  1014. .IX Item "-n"
  1015. Warn when nops are generated.
  1016. .IP "\fB\-N\fR" 4
  1017. .IX Item "-N"
  1018. Warn when a nop after a 32\-bit multiply instruction is generated.
  1019. .PP
  1020. The following options are available when as is configured for
  1021. an Epiphany processor.
  1022. .IP "\fB\-mepiphany\fR" 4
  1023. .IX Item "-mepiphany"
  1024. Specifies that the both 32 and 16 bit instructions are allowed. This is the
  1025. default behavior.
  1026. .IP "\fB\-mepiphany16\fR" 4
  1027. .IX Item "-mepiphany16"
  1028. Restricts the permitted instructions to just the 16 bit set.
  1029. .PP
  1030. The following options are available when as is configured for an H8/300
  1031. processor.
  1032. \&\f(CW@chapter\fR H8/300 Dependent Features
  1033. .SS "Options"
  1034. .IX Subsection "Options"
  1035. The Renesas H8/300 version of \f(CW\*(C`as\*(C'\fR has one
  1036. machine-dependent option:
  1037. .IP "\fB\-h\-tick\-hex\fR" 4
  1038. .IX Item "-h-tick-hex"
  1039. Support H'00 style hex constants in addition to 0x00 style.
  1040. .IP "\fB\-mach=\fR\fIname\fR" 4
  1041. .IX Item "-mach=name"
  1042. Sets the H8300 machine variant. The following machine names
  1043. are recognised:
  1044. \&\f(CW\*(C`h8300h\*(C'\fR,
  1045. \&\f(CW\*(C`h8300hn\*(C'\fR,
  1046. \&\f(CW\*(C`h8300s\*(C'\fR,
  1047. \&\f(CW\*(C`h8300sn\*(C'\fR,
  1048. \&\f(CW\*(C`h8300sx\*(C'\fR and
  1049. \&\f(CW\*(C`h8300sxn\*(C'\fR.
  1050. .PP
  1051. The following options are available when as is configured for
  1052. an i386 processor.
  1053. .IP "\fB\-\-32 | \-\-x32 | \-\-64\fR" 4
  1054. .IX Item "--32 | --x32 | --64"
  1055. Select the word size, either 32 bits or 64 bits. \fB\-\-32\fR
  1056. implies Intel i386 architecture, while \fB\-\-x32\fR and \fB\-\-64\fR
  1057. imply \s-1AMD\s0 x86\-64 architecture with 32\-bit or 64\-bit word-size
  1058. respectively.
  1059. .Sp
  1060. These options are only available with the \s-1ELF\s0 object file format, and
  1061. require that the necessary \s-1BFD\s0 support has been included (on a 32\-bit
  1062. platform you have to add \-\-enable\-64\-bit\-bfd to configure enable 64\-bit
  1063. usage and use x86\-64 as target platform).
  1064. .IP "\fB\-n\fR" 4
  1065. .IX Item "-n"
  1066. By default, x86 \s-1GAS\s0 replaces multiple nop instructions used for
  1067. alignment within code sections with multi-byte nop instructions such
  1068. as leal 0(%esi,1),%esi. This switch disables the optimization.
  1069. .IP "\fB\-\-divide\fR" 4
  1070. .IX Item "--divide"
  1071. On SVR4\-derived platforms, the character \fB/\fR is treated as a comment
  1072. character, which means that it cannot be used in expressions. The
  1073. \&\fB\-\-divide\fR option turns \fB/\fR into a normal character. This does
  1074. not disable \fB/\fR at the beginning of a line starting a comment, or
  1075. affect using \fB#\fR for starting a comment.
  1076. .IP "\fB\-march=\fR\fI\s-1CPU\s0\fR\fB[+\fR\fI\s-1EXTENSION\s0\fR\fB...]\fR" 4
  1077. .IX Item "-march=CPU[+EXTENSION...]"
  1078. This option specifies the target processor. The assembler will
  1079. issue an error message if an attempt is made to assemble an instruction
  1080. which will not execute on the target processor. The following
  1081. processor names are recognized:
  1082. \&\f(CW\*(C`i8086\*(C'\fR,
  1083. \&\f(CW\*(C`i186\*(C'\fR,
  1084. \&\f(CW\*(C`i286\*(C'\fR,
  1085. \&\f(CW\*(C`i386\*(C'\fR,
  1086. \&\f(CW\*(C`i486\*(C'\fR,
  1087. \&\f(CW\*(C`i586\*(C'\fR,
  1088. \&\f(CW\*(C`i686\*(C'\fR,
  1089. \&\f(CW\*(C`pentium\*(C'\fR,
  1090. \&\f(CW\*(C`pentiumpro\*(C'\fR,
  1091. \&\f(CW\*(C`pentiumii\*(C'\fR,
  1092. \&\f(CW\*(C`pentiumiii\*(C'\fR,
  1093. \&\f(CW\*(C`pentium4\*(C'\fR,
  1094. \&\f(CW\*(C`prescott\*(C'\fR,
  1095. \&\f(CW\*(C`nocona\*(C'\fR,
  1096. \&\f(CW\*(C`core\*(C'\fR,
  1097. \&\f(CW\*(C`core2\*(C'\fR,
  1098. \&\f(CW\*(C`corei7\*(C'\fR,
  1099. \&\f(CW\*(C`l1om\*(C'\fR,
  1100. \&\f(CW\*(C`k1om\*(C'\fR,
  1101. \&\f(CW\*(C`iamcu\*(C'\fR,
  1102. \&\f(CW\*(C`k6\*(C'\fR,
  1103. \&\f(CW\*(C`k6_2\*(C'\fR,
  1104. \&\f(CW\*(C`athlon\*(C'\fR,
  1105. \&\f(CW\*(C`opteron\*(C'\fR,
  1106. \&\f(CW\*(C`k8\*(C'\fR,
  1107. \&\f(CW\*(C`amdfam10\*(C'\fR,
  1108. \&\f(CW\*(C`bdver1\*(C'\fR,
  1109. \&\f(CW\*(C`bdver2\*(C'\fR,
  1110. \&\f(CW\*(C`bdver3\*(C'\fR,
  1111. \&\f(CW\*(C`bdver4\*(C'\fR,
  1112. \&\f(CW\*(C`znver1\*(C'\fR,
  1113. \&\f(CW\*(C`btver1\*(C'\fR,
  1114. \&\f(CW\*(C`btver2\*(C'\fR,
  1115. \&\f(CW\*(C`generic32\*(C'\fR and
  1116. \&\f(CW\*(C`generic64\*(C'\fR.
  1117. .Sp
  1118. In addition to the basic instruction set, the assembler can be told to
  1119. accept various extension mnemonics. For example,
  1120. \&\f(CW\*(C`\-march=i686+sse4+vmx\*(C'\fR extends \fIi686\fR with \fIsse4\fR and
  1121. \&\fIvmx\fR. The following extensions are currently supported:
  1122. \&\f(CW8087\fR,
  1123. \&\f(CW287\fR,
  1124. \&\f(CW387\fR,
  1125. \&\f(CW687\fR,
  1126. \&\f(CW\*(C`no87\*(C'\fR,
  1127. \&\f(CW\*(C`no287\*(C'\fR,
  1128. \&\f(CW\*(C`no387\*(C'\fR,
  1129. \&\f(CW\*(C`no687\*(C'\fR,
  1130. \&\f(CW\*(C`mmx\*(C'\fR,
  1131. \&\f(CW\*(C`nommx\*(C'\fR,
  1132. \&\f(CW\*(C`sse\*(C'\fR,
  1133. \&\f(CW\*(C`sse2\*(C'\fR,
  1134. \&\f(CW\*(C`sse3\*(C'\fR,
  1135. \&\f(CW\*(C`ssse3\*(C'\fR,
  1136. \&\f(CW\*(C`sse4.1\*(C'\fR,
  1137. \&\f(CW\*(C`sse4.2\*(C'\fR,
  1138. \&\f(CW\*(C`sse4\*(C'\fR,
  1139. \&\f(CW\*(C`nosse\*(C'\fR,
  1140. \&\f(CW\*(C`nosse2\*(C'\fR,
  1141. \&\f(CW\*(C`nosse3\*(C'\fR,
  1142. \&\f(CW\*(C`nossse3\*(C'\fR,
  1143. \&\f(CW\*(C`nosse4.1\*(C'\fR,
  1144. \&\f(CW\*(C`nosse4.2\*(C'\fR,
  1145. \&\f(CW\*(C`nosse4\*(C'\fR,
  1146. \&\f(CW\*(C`avx\*(C'\fR,
  1147. \&\f(CW\*(C`avx2\*(C'\fR,
  1148. \&\f(CW\*(C`noavx\*(C'\fR,
  1149. \&\f(CW\*(C`noavx2\*(C'\fR,
  1150. \&\f(CW\*(C`adx\*(C'\fR,
  1151. \&\f(CW\*(C`rdseed\*(C'\fR,
  1152. \&\f(CW\*(C`prfchw\*(C'\fR,
  1153. \&\f(CW\*(C`smap\*(C'\fR,
  1154. \&\f(CW\*(C`mpx\*(C'\fR,
  1155. \&\f(CW\*(C`sha\*(C'\fR,
  1156. \&\f(CW\*(C`rdpid\*(C'\fR,
  1157. \&\f(CW\*(C`ptwrite\*(C'\fR,
  1158. \&\f(CW\*(C`prefetchwt1\*(C'\fR,
  1159. \&\f(CW\*(C`clflushopt\*(C'\fR,
  1160. \&\f(CW\*(C`se1\*(C'\fR,
  1161. \&\f(CW\*(C`clwb\*(C'\fR,
  1162. \&\f(CW\*(C`avx512f\*(C'\fR,
  1163. \&\f(CW\*(C`avx512cd\*(C'\fR,
  1164. \&\f(CW\*(C`avx512er\*(C'\fR,
  1165. \&\f(CW\*(C`avx512pf\*(C'\fR,
  1166. \&\f(CW\*(C`avx512vl\*(C'\fR,
  1167. \&\f(CW\*(C`avx512bw\*(C'\fR,
  1168. \&\f(CW\*(C`avx512dq\*(C'\fR,
  1169. \&\f(CW\*(C`avx512ifma\*(C'\fR,
  1170. \&\f(CW\*(C`avx512vbmi\*(C'\fR,
  1171. \&\f(CW\*(C`avx512_4fmaps\*(C'\fR,
  1172. \&\f(CW\*(C`avx512_4vnniw\*(C'\fR,
  1173. \&\f(CW\*(C`avx512_vpopcntdq\*(C'\fR,
  1174. \&\f(CW\*(C`noavx512f\*(C'\fR,
  1175. \&\f(CW\*(C`noavx512cd\*(C'\fR,
  1176. \&\f(CW\*(C`noavx512er\*(C'\fR,
  1177. \&\f(CW\*(C`noavx512pf\*(C'\fR,
  1178. \&\f(CW\*(C`noavx512vl\*(C'\fR,
  1179. \&\f(CW\*(C`noavx512bw\*(C'\fR,
  1180. \&\f(CW\*(C`noavx512dq\*(C'\fR,
  1181. \&\f(CW\*(C`noavx512ifma\*(C'\fR,
  1182. \&\f(CW\*(C`noavx512vbmi\*(C'\fR,
  1183. \&\f(CW\*(C`noavx512_4fmaps\*(C'\fR,
  1184. \&\f(CW\*(C`noavx512_4vnniw\*(C'\fR,
  1185. \&\f(CW\*(C`noavx512_vpopcntdq\*(C'\fR,
  1186. \&\f(CW\*(C`vmx\*(C'\fR,
  1187. \&\f(CW\*(C`vmfunc\*(C'\fR,
  1188. \&\f(CW\*(C`smx\*(C'\fR,
  1189. \&\f(CW\*(C`xsave\*(C'\fR,
  1190. \&\f(CW\*(C`xsaveopt\*(C'\fR,
  1191. \&\f(CW\*(C`xsavec\*(C'\fR,
  1192. \&\f(CW\*(C`xsaves\*(C'\fR,
  1193. \&\f(CW\*(C`aes\*(C'\fR,
  1194. \&\f(CW\*(C`pclmul\*(C'\fR,
  1195. \&\f(CW\*(C`fsgsbase\*(C'\fR,
  1196. \&\f(CW\*(C`rdrnd\*(C'\fR,
  1197. \&\f(CW\*(C`f16c\*(C'\fR,
  1198. \&\f(CW\*(C`bmi2\*(C'\fR,
  1199. \&\f(CW\*(C`fma\*(C'\fR,
  1200. \&\f(CW\*(C`movbe\*(C'\fR,
  1201. \&\f(CW\*(C`ept\*(C'\fR,
  1202. \&\f(CW\*(C`lzcnt\*(C'\fR,
  1203. \&\f(CW\*(C`hle\*(C'\fR,
  1204. \&\f(CW\*(C`rtm\*(C'\fR,
  1205. \&\f(CW\*(C`invpcid\*(C'\fR,
  1206. \&\f(CW\*(C`clflush\*(C'\fR,
  1207. \&\f(CW\*(C`mwaitx\*(C'\fR,
  1208. \&\f(CW\*(C`clzero\*(C'\fR,
  1209. \&\f(CW\*(C`lwp\*(C'\fR,
  1210. \&\f(CW\*(C`fma4\*(C'\fR,
  1211. \&\f(CW\*(C`xop\*(C'\fR,
  1212. \&\f(CW\*(C`cx16\*(C'\fR,
  1213. \&\f(CW\*(C`syscall\*(C'\fR,
  1214. \&\f(CW\*(C`rdtscp\*(C'\fR,
  1215. \&\f(CW\*(C`3dnow\*(C'\fR,
  1216. \&\f(CW\*(C`3dnowa\*(C'\fR,
  1217. \&\f(CW\*(C`sse4a\*(C'\fR,
  1218. \&\f(CW\*(C`sse5\*(C'\fR,
  1219. \&\f(CW\*(C`svme\*(C'\fR,
  1220. \&\f(CW\*(C`abm\*(C'\fR and
  1221. \&\f(CW\*(C`padlock\*(C'\fR.
  1222. Note that rather than extending a basic instruction set, the extension
  1223. mnemonics starting with \f(CW\*(C`no\*(C'\fR revoke the respective functionality.
  1224. .Sp
  1225. When the \f(CW\*(C`.arch\*(C'\fR directive is used with \fB\-march\fR, the
  1226. \&\f(CW\*(C`.arch\*(C'\fR directive will take precedent.
  1227. .IP "\fB\-mtune=\fR\fI\s-1CPU\s0\fR" 4
  1228. .IX Item "-mtune=CPU"
  1229. This option specifies a processor to optimize for. When used in
  1230. conjunction with the \fB\-march\fR option, only instructions
  1231. of the processor specified by the \fB\-march\fR option will be
  1232. generated.
  1233. .Sp
  1234. Valid \fI\s-1CPU\s0\fR values are identical to the processor list of
  1235. \&\fB\-march=\fR\fI\s-1CPU\s0\fR.
  1236. .IP "\fB\-msse2avx\fR" 4
  1237. .IX Item "-msse2avx"
  1238. This option specifies that the assembler should encode \s-1SSE\s0 instructions
  1239. with \s-1VEX\s0 prefix.
  1240. .IP "\fB\-msse\-check=\fR\fInone\fR" 4
  1241. .IX Item "-msse-check=none"
  1242. .PD 0
  1243. .IP "\fB\-msse\-check=\fR\fIwarning\fR" 4
  1244. .IX Item "-msse-check=warning"
  1245. .IP "\fB\-msse\-check=\fR\fIerror\fR" 4
  1246. .IX Item "-msse-check=error"
  1247. .PD
  1248. These options control if the assembler should check \s-1SSE\s0 instructions.
  1249. \&\fB\-msse\-check=\fR\fInone\fR will make the assembler not to check \s-1SSE\s0
  1250. instructions, which is the default. \fB\-msse\-check=\fR\fIwarning\fR
  1251. will make the assembler issue a warning for any \s-1SSE\s0 instruction.
  1252. \&\fB\-msse\-check=\fR\fIerror\fR will make the assembler issue an error
  1253. for any \s-1SSE\s0 instruction.
  1254. .IP "\fB\-mavxscalar=\fR\fI128\fR" 4
  1255. .IX Item "-mavxscalar=128"
  1256. .PD 0
  1257. .IP "\fB\-mavxscalar=\fR\fI256\fR" 4
  1258. .IX Item "-mavxscalar=256"
  1259. .PD
  1260. These options control how the assembler should encode scalar \s-1AVX\s0
  1261. instructions. \fB\-mavxscalar=\fR\fI128\fR will encode scalar
  1262. \&\s-1AVX\s0 instructions with 128bit vector length, which is the default.
  1263. \&\fB\-mavxscalar=\fR\fI256\fR will encode scalar \s-1AVX\s0 instructions
  1264. with 256bit vector length.
  1265. .IP "\fB\-mevexlig=\fR\fI128\fR" 4
  1266. .IX Item "-mevexlig=128"
  1267. .PD 0
  1268. .IP "\fB\-mevexlig=\fR\fI256\fR" 4
  1269. .IX Item "-mevexlig=256"
  1270. .IP "\fB\-mevexlig=\fR\fI512\fR" 4
  1271. .IX Item "-mevexlig=512"
  1272. .PD
  1273. These options control how the assembler should encode length-ignored
  1274. (\s-1LIG\s0) \s-1EVEX\s0 instructions. \fB\-mevexlig=\fR\fI128\fR will encode \s-1LIG
  1275. EVEX\s0 instructions with 128bit vector length, which is the default.
  1276. \&\fB\-mevexlig=\fR\fI256\fR and \fB\-mevexlig=\fR\fI512\fR will
  1277. encode \s-1LIG EVEX\s0 instructions with 256bit and 512bit vector length,
  1278. respectively.
  1279. .IP "\fB\-mevexwig=\fR\fI0\fR" 4
  1280. .IX Item "-mevexwig=0"
  1281. .PD 0
  1282. .IP "\fB\-mevexwig=\fR\fI1\fR" 4
  1283. .IX Item "-mevexwig=1"
  1284. .PD
  1285. These options control how the assembler should encode w\-ignored (\s-1WIG\s0)
  1286. \&\s-1EVEX\s0 instructions. \fB\-mevexwig=\fR\fI0\fR will encode \s-1WIG
  1287. EVEX\s0 instructions with evex.w = 0, which is the default.
  1288. \&\fB\-mevexwig=\fR\fI1\fR will encode \s-1WIG EVEX\s0 instructions with
  1289. evex.w = 1.
  1290. .IP "\fB\-mmnemonic=\fR\fIatt\fR" 4
  1291. .IX Item "-mmnemonic=att"
  1292. .PD 0
  1293. .IP "\fB\-mmnemonic=\fR\fIintel\fR" 4
  1294. .IX Item "-mmnemonic=intel"
  1295. .PD
  1296. This option specifies instruction mnemonic for matching instructions.
  1297. The \f(CW\*(C`.att_mnemonic\*(C'\fR and \f(CW\*(C`.intel_mnemonic\*(C'\fR directives will
  1298. take precedent.
  1299. .IP "\fB\-msyntax=\fR\fIatt\fR" 4
  1300. .IX Item "-msyntax=att"
  1301. .PD 0
  1302. .IP "\fB\-msyntax=\fR\fIintel\fR" 4
  1303. .IX Item "-msyntax=intel"
  1304. .PD
  1305. This option specifies instruction syntax when processing instructions.
  1306. The \f(CW\*(C`.att_syntax\*(C'\fR and \f(CW\*(C`.intel_syntax\*(C'\fR directives will
  1307. take precedent.
  1308. .IP "\fB\-mnaked\-reg\fR" 4
  1309. .IX Item "-mnaked-reg"
  1310. This opetion specifies that registers don't require a \fB%\fR prefix.
  1311. The \f(CW\*(C`.att_syntax\*(C'\fR and \f(CW\*(C`.intel_syntax\*(C'\fR directives will take precedent.
  1312. .IP "\fB\-madd\-bnd\-prefix\fR" 4
  1313. .IX Item "-madd-bnd-prefix"
  1314. This option forces the assembler to add \s-1BND\s0 prefix to all branches, even
  1315. if such prefix was not explicitly specified in the source code.
  1316. .IP "\fB\-mno\-shared\fR" 4
  1317. .IX Item "-mno-shared"
  1318. On \s-1ELF\s0 target, the assembler normally optimizes out non-PLT relocations
  1319. against defined non-weak global branch targets with default visibility.
  1320. The \fB\-mshared\fR option tells the assembler to generate code which
  1321. may go into a shared library where all non-weak global branch targets
  1322. with default visibility can be preempted. The resulting code is
  1323. slightly bigger. This option only affects the handling of branch
  1324. instructions.
  1325. .IP "\fB\-mbig\-obj\fR" 4
  1326. .IX Item "-mbig-obj"
  1327. On x86\-64 \s-1PE/COFF\s0 target this option forces the use of big object file
  1328. format, which allows more than 32768 sections.
  1329. .IP "\fB\-momit\-lock\-prefix=\fR\fIno\fR" 4
  1330. .IX Item "-momit-lock-prefix=no"
  1331. .PD 0
  1332. .IP "\fB\-momit\-lock\-prefix=\fR\fIyes\fR" 4
  1333. .IX Item "-momit-lock-prefix=yes"
  1334. .PD
  1335. These options control how the assembler should encode lock prefix.
  1336. This option is intended as a workaround for processors, that fail on
  1337. lock prefix. This option can only be safely used with single-core,
  1338. single-thread computers
  1339. \&\fB\-momit\-lock\-prefix=\fR\fIyes\fR will omit all lock prefixes.
  1340. \&\fB\-momit\-lock\-prefix=\fR\fIno\fR will encode lock prefix as usual,
  1341. which is the default.
  1342. .IP "\fB\-mfence\-as\-lock\-add=\fR\fIno\fR" 4
  1343. .IX Item "-mfence-as-lock-add=no"
  1344. .PD 0
  1345. .IP "\fB\-mfence\-as\-lock\-add=\fR\fIyes\fR" 4
  1346. .IX Item "-mfence-as-lock-add=yes"
  1347. .PD
  1348. These options control how the assembler should encode lfence, mfence and
  1349. sfence.
  1350. \&\fB\-mfence\-as\-lock\-add=\fR\fIyes\fR will encode lfence, mfence and
  1351. sfence as \fBlock addl \f(CB$0x0\fB, (%rsp)\fR in 64\-bit mode and
  1352. \&\fBlock addl \f(CB$0x0\fB, (%esp)\fR in 32\-bit mode.
  1353. \&\fB\-mfence\-as\-lock\-add=\fR\fIno\fR will encode lfence, mfence and
  1354. sfence as usual, which is the default.
  1355. .IP "\fB\-mrelax\-relocations=\fR\fIno\fR" 4
  1356. .IX Item "-mrelax-relocations=no"
  1357. .PD 0
  1358. .IP "\fB\-mrelax\-relocations=\fR\fIyes\fR" 4
  1359. .IX Item "-mrelax-relocations=yes"
  1360. .PD
  1361. These options control whether the assembler should generate relax
  1362. relocations, R_386_GOT32X, in 32\-bit mode, or R_X86_64_GOTPCRELX and
  1363. R_X86_64_REX_GOTPCRELX, in 64\-bit mode.
  1364. \&\fB\-mrelax\-relocations=\fR\fIyes\fR will generate relax relocations.
  1365. \&\fB\-mrelax\-relocations=\fR\fIno\fR will not generate relax
  1366. relocations. The default can be controlled by a configure option
  1367. \&\fB\-\-enable\-x86\-relax\-relocations\fR.
  1368. .IP "\fB\-mevexrcig=\fR\fIrne\fR" 4
  1369. .IX Item "-mevexrcig=rne"
  1370. .PD 0
  1371. .IP "\fB\-mevexrcig=\fR\fIrd\fR" 4
  1372. .IX Item "-mevexrcig=rd"
  1373. .IP "\fB\-mevexrcig=\fR\fIru\fR" 4
  1374. .IX Item "-mevexrcig=ru"
  1375. .IP "\fB\-mevexrcig=\fR\fIrz\fR" 4
  1376. .IX Item "-mevexrcig=rz"
  1377. .PD
  1378. These options control how the assembler should encode SAE-only
  1379. \&\s-1EVEX\s0 instructions. \fB\-mevexrcig=\fR\fIrne\fR will encode \s-1RC\s0 bits
  1380. of \s-1EVEX\s0 instruction with 00, which is the default.
  1381. \&\fB\-mevexrcig=\fR\fIrd\fR, \fB\-mevexrcig=\fR\fIru\fR
  1382. and \fB\-mevexrcig=\fR\fIrz\fR will encode SAE-only \s-1EVEX\s0 instructions
  1383. with 01, 10 and 11 \s-1RC\s0 bits, respectively.
  1384. .IP "\fB\-mamd64\fR" 4
  1385. .IX Item "-mamd64"
  1386. .PD 0
  1387. .IP "\fB\-mintel64\fR" 4
  1388. .IX Item "-mintel64"
  1389. .PD
  1390. This option specifies that the assembler should accept only \s-1AMD64\s0 or
  1391. Intel64 \s-1ISA\s0 in 64\-bit mode. The default is to accept both.
  1392. .PP
  1393. The following options are available when as is configured for the
  1394. Intel 80960 processor.
  1395. .IP "\fB\-ACA | \-ACA_A | \-ACB | \-ACC | \-AKA | \-AKB | \-AKC | \-AMC\fR" 4
  1396. .IX Item "-ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC"
  1397. Specify which variant of the 960 architecture is the target.
  1398. .IP "\fB\-b\fR" 4
  1399. .IX Item "-b"
  1400. Add code to collect statistics about branches taken.
  1401. .IP "\fB\-no\-relax\fR" 4
  1402. .IX Item "-no-relax"
  1403. Do not alter compare-and-branch instructions for long displacements;
  1404. error if necessary.
  1405. .PP
  1406. The following options are available when as is configured for the
  1407. Ubicom \s-1IP2K\s0 series.
  1408. .IP "\fB\-mip2022ext\fR" 4
  1409. .IX Item "-mip2022ext"
  1410. Specifies that the extended \s-1IP2022\s0 instructions are allowed.
  1411. .IP "\fB\-mip2022\fR" 4
  1412. .IX Item "-mip2022"
  1413. Restores the default behaviour, which restricts the permitted instructions to
  1414. just the basic \s-1IP2022\s0 ones.
  1415. .PP
  1416. The following options are available when as is configured for the
  1417. Renesas M32C and M16C processors.
  1418. .IP "\fB\-m32c\fR" 4
  1419. .IX Item "-m32c"
  1420. Assemble M32C instructions.
  1421. .IP "\fB\-m16c\fR" 4
  1422. .IX Item "-m16c"
  1423. Assemble M16C instructions (the default).
  1424. .IP "\fB\-relax\fR" 4
  1425. .IX Item "-relax"
  1426. Enable support for link-time relaxations.
  1427. .IP "\fB\-h\-tick\-hex\fR" 4
  1428. .IX Item "-h-tick-hex"
  1429. Support H'00 style hex constants in addition to 0x00 style.
  1430. .PP
  1431. The following options are available when as is configured for the
  1432. Renesas M32R (formerly Mitsubishi M32R) series.
  1433. .IP "\fB\-\-m32rx\fR" 4
  1434. .IX Item "--m32rx"
  1435. Specify which processor in the M32R family is the target. The default
  1436. is normally the M32R, but this option changes it to the M32RX.
  1437. .IP "\fB\-\-warn\-explicit\-parallel\-conflicts or \-\-Wp\fR" 4
  1438. .IX Item "--warn-explicit-parallel-conflicts or --Wp"
  1439. Produce warning messages when questionable parallel constructs are
  1440. encountered.
  1441. .IP "\fB\-\-no\-warn\-explicit\-parallel\-conflicts or \-\-Wnp\fR" 4
  1442. .IX Item "--no-warn-explicit-parallel-conflicts or --Wnp"
  1443. Do not produce warning messages when questionable parallel constructs are
  1444. encountered.
  1445. .PP
  1446. The following options are available when as is configured for the
  1447. Motorola 68000 series.
  1448. .IP "\fB\-l\fR" 4
  1449. .IX Item "-l"
  1450. Shorten references to undefined symbols, to one word instead of two.
  1451. .IP "\fB\-m68000 | \-m68008 | \-m68010 | \-m68020 | \-m68030\fR" 4
  1452. .IX Item "-m68000 | -m68008 | -m68010 | -m68020 | -m68030"
  1453. .PD 0
  1454. .IP "\fB| \-m68040 | \-m68060 | \-m68302 | \-m68331 | \-m68332\fR" 4
  1455. .IX Item "| -m68040 | -m68060 | -m68302 | -m68331 | -m68332"
  1456. .IP "\fB| \-m68333 | \-m68340 | \-mcpu32 | \-m5200\fR" 4
  1457. .IX Item "| -m68333 | -m68340 | -mcpu32 | -m5200"
  1458. .PD
  1459. Specify what processor in the 68000 family is the target. The default
  1460. is normally the 68020, but this can be changed at configuration time.
  1461. .IP "\fB\-m68881 | \-m68882 | \-mno\-68881 | \-mno\-68882\fR" 4
  1462. .IX Item "-m68881 | -m68882 | -mno-68881 | -mno-68882"
  1463. The target machine does (or does not) have a floating-point coprocessor.
  1464. The default is to assume a coprocessor for 68020, 68030, and cpu32. Although
  1465. the basic 68000 is not compatible with the 68881, a combination of the
  1466. two can be specified, since it's possible to do emulation of the
  1467. coprocessor instructions with the main processor.
  1468. .IP "\fB\-m68851 | \-mno\-68851\fR" 4
  1469. .IX Item "-m68851 | -mno-68851"
  1470. The target machine does (or does not) have a memory-management
  1471. unit coprocessor. The default is to assume an \s-1MMU\s0 for 68020 and up.
  1472. .PP
  1473. The following options are available when as is configured for an
  1474. Altera Nios \s-1II\s0 processor.
  1475. .IP "\fB\-relax\-section\fR" 4
  1476. .IX Item "-relax-section"
  1477. Replace identified out-of-range branches with PC-relative \f(CW\*(C`jmp\*(C'\fR
  1478. sequences when possible. The generated code sequences are suitable
  1479. for use in position-independent code, but there is a practical limit
  1480. on the extended branch range because of the length of the sequences.
  1481. This option is the default.
  1482. .IP "\fB\-relax\-all\fR" 4
  1483. .IX Item "-relax-all"
  1484. Replace branch instructions not determinable to be in range
  1485. and all call instructions with \f(CW\*(C`jmp\*(C'\fR and \f(CW\*(C`callr\*(C'\fR sequences
  1486. (respectively). This option generates absolute relocations against the
  1487. target symbols and is not appropriate for position-independent code.
  1488. .IP "\fB\-no\-relax\fR" 4
  1489. .IX Item "-no-relax"
  1490. Do not replace any branches or calls.
  1491. .IP "\fB\-EB\fR" 4
  1492. .IX Item "-EB"
  1493. Generate big-endian output.
  1494. .IP "\fB\-EL\fR" 4
  1495. .IX Item "-EL"
  1496. Generate little-endian output. This is the default.
  1497. .IP "\fB\-march=\fR\fIarchitecture\fR" 4
  1498. .IX Item "-march=architecture"
  1499. This option specifies the target architecture. The assembler issues
  1500. an error message if an attempt is made to assemble an instruction which
  1501. will not execute on the target architecture. The following architecture
  1502. names are recognized:
  1503. \&\f(CW\*(C`r1\*(C'\fR,
  1504. \&\f(CW\*(C`r2\*(C'\fR.
  1505. The default is \f(CW\*(C`r1\*(C'\fR.
  1506. .PP
  1507. The following options are available when as is configured for a
  1508. Meta processor.
  1509. .ie n .IP """\-mcpu=metac11""" 4
  1510. .el .IP "\f(CW\-mcpu=metac11\fR" 4
  1511. .IX Item "-mcpu=metac11"
  1512. Generate code for Meta 1.1.
  1513. .ie n .IP """\-mcpu=metac12""" 4
  1514. .el .IP "\f(CW\-mcpu=metac12\fR" 4
  1515. .IX Item "-mcpu=metac12"
  1516. Generate code for Meta 1.2.
  1517. .ie n .IP """\-mcpu=metac21""" 4
  1518. .el .IP "\f(CW\-mcpu=metac21\fR" 4
  1519. .IX Item "-mcpu=metac21"
  1520. Generate code for Meta 2.1.
  1521. .ie n .IP """\-mfpu=metac21""" 4
  1522. .el .IP "\f(CW\-mfpu=metac21\fR" 4
  1523. .IX Item "-mfpu=metac21"
  1524. Allow code to use \s-1FPU\s0 hardware of Meta 2.1.
  1525. .PP
  1526. See the info pages for documentation of the MMIX-specific options.
  1527. .PP
  1528. The following options are available when as is configured for a
  1529. \&\s-1NDS32\s0 processor.
  1530. .ie n .IP """\-O1""" 4
  1531. .el .IP "\f(CW\-O1\fR" 4
  1532. .IX Item "-O1"
  1533. Optimize for performance.
  1534. .ie n .IP """\-Os""" 4
  1535. .el .IP "\f(CW\-Os\fR" 4
  1536. .IX Item "-Os"
  1537. Optimize for space.
  1538. .ie n .IP """\-EL""" 4
  1539. .el .IP "\f(CW\-EL\fR" 4
  1540. .IX Item "-EL"
  1541. Produce little endian data output.
  1542. .ie n .IP """\-EB""" 4
  1543. .el .IP "\f(CW\-EB\fR" 4
  1544. .IX Item "-EB"
  1545. Produce little endian data output.
  1546. .ie n .IP """\-mpic""" 4
  1547. .el .IP "\f(CW\-mpic\fR" 4
  1548. .IX Item "-mpic"
  1549. Generate \s-1PIC.\s0
  1550. .ie n .IP """\-mno\-fp\-as\-gp\-relax""" 4
  1551. .el .IP "\f(CW\-mno\-fp\-as\-gp\-relax\fR" 4
  1552. .IX Item "-mno-fp-as-gp-relax"
  1553. Suppress fp-as-gp relaxation for this file.
  1554. .ie n .IP """\-mb2bb\-relax""" 4
  1555. .el .IP "\f(CW\-mb2bb\-relax\fR" 4
  1556. .IX Item "-mb2bb-relax"
  1557. Back-to-back branch optimization.
  1558. .ie n .IP """\-mno\-all\-relax""" 4
  1559. .el .IP "\f(CW\-mno\-all\-relax\fR" 4
  1560. .IX Item "-mno-all-relax"
  1561. Suppress all relaxation for this file.
  1562. .ie n .IP """\-march=<arch name>""" 4
  1563. .el .IP "\f(CW\-march=<arch name>\fR" 4
  1564. .IX Item "-march=<arch name>"
  1565. Assemble for architecture <arch name> which could be v3, v3j, v3m, v3f,
  1566. v3s, v2, v2j, v2f, v2s.
  1567. .ie n .IP """\-mbaseline=<baseline>""" 4
  1568. .el .IP "\f(CW\-mbaseline=<baseline>\fR" 4
  1569. .IX Item "-mbaseline=<baseline>"
  1570. Assemble for baseline <baseline> which could be v2, v3, v3m.
  1571. .ie n .IP """\-mfpu\-freg=\f(CIFREG\f(CW""" 4
  1572. .el .IP "\f(CW\-mfpu\-freg=\f(CIFREG\f(CW\fR" 4
  1573. .IX Item "-mfpu-freg=FREG"
  1574. Specify a \s-1FPU\s0 configuration.
  1575. .RS 4
  1576. .ie n .IP """0 8 SP / 4 DP registers""" 4
  1577. .el .IP "\f(CW0 8 SP / 4 DP registers\fR" 4
  1578. .IX Item "0 8 SP / 4 DP registers"
  1579. .PD 0
  1580. .ie n .IP """1 16 SP / 8 DP registers""" 4
  1581. .el .IP "\f(CW1 16 SP / 8 DP registers\fR" 4
  1582. .IX Item "1 16 SP / 8 DP registers"
  1583. .ie n .IP """2 32 SP / 16 DP registers""" 4
  1584. .el .IP "\f(CW2 32 SP / 16 DP registers\fR" 4
  1585. .IX Item "2 32 SP / 16 DP registers"
  1586. .ie n .IP """3 32 SP / 32 DP registers""" 4
  1587. .el .IP "\f(CW3 32 SP / 32 DP registers\fR" 4
  1588. .IX Item "3 32 SP / 32 DP registers"
  1589. .RE
  1590. .RS 4
  1591. .RE
  1592. .ie n .IP """\-mabi=\f(CIabi\f(CW""" 4
  1593. .el .IP "\f(CW\-mabi=\f(CIabi\f(CW\fR" 4
  1594. .IX Item "-mabi=abi"
  1595. .PD
  1596. Specify a abi version <abi> could be v1, v2, v2fp, v2fpp.
  1597. .ie n .IP """\-m[no\-]mac""" 4
  1598. .el .IP "\f(CW\-m[no\-]mac\fR" 4
  1599. .IX Item "-m[no-]mac"
  1600. Enable/Disable Multiply instructions support.
  1601. .ie n .IP """\-m[no\-]div""" 4
  1602. .el .IP "\f(CW\-m[no\-]div\fR" 4
  1603. .IX Item "-m[no-]div"
  1604. Enable/Disable Divide instructions support.
  1605. .ie n .IP """\-m[no\-]16bit\-ext""" 4
  1606. .el .IP "\f(CW\-m[no\-]16bit\-ext\fR" 4
  1607. .IX Item "-m[no-]16bit-ext"
  1608. Enable/Disable 16\-bit extension
  1609. .ie n .IP """\-m[no\-]dx\-regs""" 4
  1610. .el .IP "\f(CW\-m[no\-]dx\-regs\fR" 4
  1611. .IX Item "-m[no-]dx-regs"
  1612. Enable/Disable d0/d1 registers
  1613. .ie n .IP """\-m[no\-]perf\-ext""" 4
  1614. .el .IP "\f(CW\-m[no\-]perf\-ext\fR" 4
  1615. .IX Item "-m[no-]perf-ext"
  1616. Enable/Disable Performance extension
  1617. .ie n .IP """\-m[no\-]perf2\-ext""" 4
  1618. .el .IP "\f(CW\-m[no\-]perf2\-ext\fR" 4
  1619. .IX Item "-m[no-]perf2-ext"
  1620. Enable/Disable Performance extension 2
  1621. .ie n .IP """\-m[no\-]string\-ext""" 4
  1622. .el .IP "\f(CW\-m[no\-]string\-ext\fR" 4
  1623. .IX Item "-m[no-]string-ext"
  1624. Enable/Disable String extension
  1625. .ie n .IP """\-m[no\-]reduced\-regs""" 4
  1626. .el .IP "\f(CW\-m[no\-]reduced\-regs\fR" 4
  1627. .IX Item "-m[no-]reduced-regs"
  1628. Enable/Disable Reduced Register configuration (\s-1GPR16\s0) option
  1629. .ie n .IP """\-m[no\-]audio\-isa\-ext""" 4
  1630. .el .IP "\f(CW\-m[no\-]audio\-isa\-ext\fR" 4
  1631. .IX Item "-m[no-]audio-isa-ext"
  1632. Enable/Disable \s-1AUDIO ISA\s0 extension
  1633. .ie n .IP """\-m[no\-]fpu\-sp\-ext""" 4
  1634. .el .IP "\f(CW\-m[no\-]fpu\-sp\-ext\fR" 4
  1635. .IX Item "-m[no-]fpu-sp-ext"
  1636. Enable/Disable \s-1FPU SP\s0 extension
  1637. .ie n .IP """\-m[no\-]fpu\-dp\-ext""" 4
  1638. .el .IP "\f(CW\-m[no\-]fpu\-dp\-ext\fR" 4
  1639. .IX Item "-m[no-]fpu-dp-ext"
  1640. Enable/Disable \s-1FPU DP\s0 extension
  1641. .ie n .IP """\-m[no\-]fpu\-fma""" 4
  1642. .el .IP "\f(CW\-m[no\-]fpu\-fma\fR" 4
  1643. .IX Item "-m[no-]fpu-fma"
  1644. Enable/Disable \s-1FPU\s0 fused-multiply-add instructions
  1645. .ie n .IP """\-mall\-ext""" 4
  1646. .el .IP "\f(CW\-mall\-ext\fR" 4
  1647. .IX Item "-mall-ext"
  1648. Turn on all extensions and instructions support
  1649. .PP
  1650. The following options are available when as is configured for a
  1651. PowerPC processor.
  1652. .IP "\fB\-a32\fR" 4
  1653. .IX Item "-a32"
  1654. Generate \s-1ELF32\s0 or \s-1XCOFF32.\s0
  1655. .IP "\fB\-a64\fR" 4
  1656. .IX Item "-a64"
  1657. Generate \s-1ELF64\s0 or \s-1XCOFF64.\s0
  1658. .IP "\fB\-K \s-1PIC\s0\fR" 4
  1659. .IX Item "-K PIC"
  1660. Set \s-1EF_PPC_RELOCATABLE_LIB\s0 in \s-1ELF\s0 flags.
  1661. .IP "\fB\-mpwrx | \-mpwr2\fR" 4
  1662. .IX Item "-mpwrx | -mpwr2"
  1663. Generate code for \s-1POWER/2 \s0(\s-1RIOS2\s0).
  1664. .IP "\fB\-mpwr\fR" 4
  1665. .IX Item "-mpwr"
  1666. Generate code for \s-1POWER \s0(\s-1RIOS1\s0)
  1667. .IP "\fB\-m601\fR" 4
  1668. .IX Item "-m601"
  1669. Generate code for PowerPC 601.
  1670. .IP "\fB\-mppc, \-mppc32, \-m603, \-m604\fR" 4
  1671. .IX Item "-mppc, -mppc32, -m603, -m604"
  1672. Generate code for PowerPC 603/604.
  1673. .IP "\fB\-m403, \-m405\fR" 4
  1674. .IX Item "-m403, -m405"
  1675. Generate code for PowerPC 403/405.
  1676. .IP "\fB\-m440\fR" 4
  1677. .IX Item "-m440"
  1678. Generate code for PowerPC 440. BookE and some 405 instructions.
  1679. .IP "\fB\-m464\fR" 4
  1680. .IX Item "-m464"
  1681. Generate code for PowerPC 464.
  1682. .IP "\fB\-m476\fR" 4
  1683. .IX Item "-m476"
  1684. Generate code for PowerPC 476.
  1685. .IP "\fB\-m7400, \-m7410, \-m7450, \-m7455\fR" 4
  1686. .IX Item "-m7400, -m7410, -m7450, -m7455"
  1687. Generate code for PowerPC 7400/7410/7450/7455.
  1688. .IP "\fB\-m750cl\fR" 4
  1689. .IX Item "-m750cl"
  1690. Generate code for PowerPC 750CL.
  1691. .IP "\fB\-m821, \-m850, \-m860\fR" 4
  1692. .IX Item "-m821, -m850, -m860"
  1693. Generate code for PowerPC 821/850/860.
  1694. .IP "\fB\-mppc64, \-m620\fR" 4
  1695. .IX Item "-mppc64, -m620"
  1696. Generate code for PowerPC 620/625/630.
  1697. .IP "\fB\-me500, \-me500x2\fR" 4
  1698. .IX Item "-me500, -me500x2"
  1699. Generate code for Motorola e500 core complex.
  1700. .IP "\fB\-me500mc\fR" 4
  1701. .IX Item "-me500mc"
  1702. Generate code for Freescale e500mc core complex.
  1703. .IP "\fB\-me500mc64\fR" 4
  1704. .IX Item "-me500mc64"
  1705. Generate code for Freescale e500mc64 core complex.
  1706. .IP "\fB\-me5500\fR" 4
  1707. .IX Item "-me5500"
  1708. Generate code for Freescale e5500 core complex.
  1709. .IP "\fB\-me6500\fR" 4
  1710. .IX Item "-me6500"
  1711. Generate code for Freescale e6500 core complex.
  1712. .IP "\fB\-mspe\fR" 4
  1713. .IX Item "-mspe"
  1714. Generate code for Motorola \s-1SPE\s0 instructions.
  1715. .IP "\fB\-mtitan\fR" 4
  1716. .IX Item "-mtitan"
  1717. Generate code for AppliedMicro Titan core complex.
  1718. .IP "\fB\-mppc64bridge\fR" 4
  1719. .IX Item "-mppc64bridge"
  1720. Generate code for PowerPC 64, including bridge insns.
  1721. .IP "\fB\-mbooke\fR" 4
  1722. .IX Item "-mbooke"
  1723. Generate code for 32\-bit BookE.
  1724. .IP "\fB\-ma2\fR" 4
  1725. .IX Item "-ma2"
  1726. Generate code for A2 architecture.
  1727. .IP "\fB\-me300\fR" 4
  1728. .IX Item "-me300"
  1729. Generate code for PowerPC e300 family.
  1730. .IP "\fB\-maltivec\fR" 4
  1731. .IX Item "-maltivec"
  1732. Generate code for processors with AltiVec instructions.
  1733. .IP "\fB\-mvle\fR" 4
  1734. .IX Item "-mvle"
  1735. Generate code for Freescale PowerPC \s-1VLE\s0 instructions.
  1736. .IP "\fB\-mvsx\fR" 4
  1737. .IX Item "-mvsx"
  1738. Generate code for processors with Vector-Scalar (\s-1VSX\s0) instructions.
  1739. .IP "\fB\-mhtm\fR" 4
  1740. .IX Item "-mhtm"
  1741. Generate code for processors with Hardware Transactional Memory instructions.
  1742. .IP "\fB\-mpower4, \-mpwr4\fR" 4
  1743. .IX Item "-mpower4, -mpwr4"
  1744. Generate code for Power4 architecture.
  1745. .IP "\fB\-mpower5, \-mpwr5, \-mpwr5x\fR" 4
  1746. .IX Item "-mpower5, -mpwr5, -mpwr5x"
  1747. Generate code for Power5 architecture.
  1748. .IP "\fB\-mpower6, \-mpwr6\fR" 4
  1749. .IX Item "-mpower6, -mpwr6"
  1750. Generate code for Power6 architecture.
  1751. .IP "\fB\-mpower7, \-mpwr7\fR" 4
  1752. .IX Item "-mpower7, -mpwr7"
  1753. Generate code for Power7 architecture.
  1754. .IP "\fB\-mpower8, \-mpwr8\fR" 4
  1755. .IX Item "-mpower8, -mpwr8"
  1756. Generate code for Power8 architecture.
  1757. .IP "\fB\-mpower9, \-mpwr9\fR" 4
  1758. .IX Item "-mpower9, -mpwr9"
  1759. Generate code for Power9 architecture.
  1760. .IP "\fB\-mcell\fR" 4
  1761. .IX Item "-mcell"
  1762. .PD 0
  1763. .IP "\fB\-mcell\fR" 4
  1764. .IX Item "-mcell"
  1765. .PD
  1766. Generate code for Cell Broadband Engine architecture.
  1767. .IP "\fB\-mcom\fR" 4
  1768. .IX Item "-mcom"
  1769. Generate code Power/PowerPC common instructions.
  1770. .IP "\fB\-many\fR" 4
  1771. .IX Item "-many"
  1772. Generate code for any architecture (\s-1PWR/PWRX/PPC\s0).
  1773. .IP "\fB\-mregnames\fR" 4
  1774. .IX Item "-mregnames"
  1775. Allow symbolic names for registers.
  1776. .IP "\fB\-mno\-regnames\fR" 4
  1777. .IX Item "-mno-regnames"
  1778. Do not allow symbolic names for registers.
  1779. .IP "\fB\-mrelocatable\fR" 4
  1780. .IX Item "-mrelocatable"
  1781. Support for \s-1GCC\s0's \-mrelocatable option.
  1782. .IP "\fB\-mrelocatable\-lib\fR" 4
  1783. .IX Item "-mrelocatable-lib"
  1784. Support for \s-1GCC\s0's \-mrelocatable\-lib option.
  1785. .IP "\fB\-memb\fR" 4
  1786. .IX Item "-memb"
  1787. Set \s-1PPC_EMB\s0 bit in \s-1ELF\s0 flags.
  1788. .IP "\fB\-mlittle, \-mlittle\-endian, \-le\fR" 4
  1789. .IX Item "-mlittle, -mlittle-endian, -le"
  1790. Generate code for a little endian machine.
  1791. .IP "\fB\-mbig, \-mbig\-endian, \-be\fR" 4
  1792. .IX Item "-mbig, -mbig-endian, -be"
  1793. Generate code for a big endian machine.
  1794. .IP "\fB\-msolaris\fR" 4
  1795. .IX Item "-msolaris"
  1796. Generate code for Solaris.
  1797. .IP "\fB\-mno\-solaris\fR" 4
  1798. .IX Item "-mno-solaris"
  1799. Do not generate code for Solaris.
  1800. .IP "\fB\-nops=\fR\fIcount\fR" 4
  1801. .IX Item "-nops=count"
  1802. If an alignment directive inserts more than \fIcount\fR nops, put a
  1803. branch at the beginning to skip execution of the nops.
  1804. .PP
  1805. The following options are available when as is configured for a
  1806. RISC-V processor.
  1807. .IP "\fB\-fpic\fR" 4
  1808. .IX Item "-fpic"
  1809. Generate position-independent code
  1810. .IP "\fB\-fno\-pic\fR" 4
  1811. .IX Item "-fno-pic"
  1812. Don't generate position-independent code (default)
  1813. .IP "\fB\-march=ISA\fR" 4
  1814. .IX Item "-march=ISA"
  1815. Select the base isa, as specified by \s-1ISA. \s0 For example \-march=rv32ima.
  1816. .IP "\fB\-mabi=ABI\fR" 4
  1817. .IX Item "-mabi=ABI"
  1818. Selects the \s-1ABI,\s0 which is either \*(L"ilp32\*(R" or \*(L"lp64\*(R", optionally followed
  1819. by \*(L"f\*(R", \*(L"d\*(R", or \*(L"q\*(R" to indicate single-precision, double-precision, or
  1820. quad-precision floating-point calling convention, or none to indicate
  1821. the soft-float calling convention.
  1822. .PP
  1823. See the info pages for documentation of the RX-specific options.
  1824. .PP
  1825. The following options are available when as is configured for the s390
  1826. processor family.
  1827. .IP "\fB\-m31\fR" 4
  1828. .IX Item "-m31"
  1829. .PD 0
  1830. .IP "\fB\-m64\fR" 4
  1831. .IX Item "-m64"
  1832. .PD
  1833. Select the word size, either 31/32 bits or 64 bits.
  1834. .IP "\fB\-mesa\fR" 4
  1835. .IX Item "-mesa"
  1836. .PD 0
  1837. .IP "\fB\-mzarch\fR" 4
  1838. .IX Item "-mzarch"
  1839. .PD
  1840. Select the architecture mode, either the Enterprise System
  1841. Architecture (esa) or the z/Architecture mode (zarch).
  1842. .IP "\fB\-march=\fR\fIprocessor\fR" 4
  1843. .IX Item "-march=processor"
  1844. Specify which s390 processor variant is the target, \fBg5\fR (or
  1845. \&\fBarch3\fR), \fBg6\fR, \fBz900\fR (or \fBarch5\fR), \fBz990\fR (or
  1846. \&\fBarch6\fR), \fBz9\-109\fR, \fBz9\-ec\fR (or \fBarch7\fR), \fBz10\fR (or
  1847. \&\fBarch8\fR), \fBz196\fR (or \fBarch9\fR), \fBzEC12\fR (or \fBarch10\fR),
  1848. \&\fBz13\fR (or \fBarch11\fR), or \fBz14\fR (or \fBarch12\fR).
  1849. .IP "\fB\-mregnames\fR" 4
  1850. .IX Item "-mregnames"
  1851. .PD 0
  1852. .IP "\fB\-mno\-regnames\fR" 4
  1853. .IX Item "-mno-regnames"
  1854. .PD
  1855. Allow or disallow symbolic names for registers.
  1856. .IP "\fB\-mwarn\-areg\-zero\fR" 4
  1857. .IX Item "-mwarn-areg-zero"
  1858. Warn whenever the operand for a base or index register has been specified
  1859. but evaluates to zero.
  1860. .PP
  1861. The following options are available when as is configured for a
  1862. \&\s-1TMS320C6000\s0 processor.
  1863. .IP "\fB\-march=\fR\fIarch\fR" 4
  1864. .IX Item "-march=arch"
  1865. Enable (only) instructions from architecture \fIarch\fR. By default,
  1866. all instructions are permitted.
  1867. .Sp
  1868. The following values of \fIarch\fR are accepted: \f(CW\*(C`c62x\*(C'\fR,
  1869. \&\f(CW\*(C`c64x\*(C'\fR, \f(CW\*(C`c64x+\*(C'\fR, \f(CW\*(C`c67x\*(C'\fR, \f(CW\*(C`c67x+\*(C'\fR, \f(CW\*(C`c674x\*(C'\fR.
  1870. .IP "\fB\-mdsbt\fR" 4
  1871. .IX Item "-mdsbt"
  1872. .PD 0
  1873. .IP "\fB\-mno\-dsbt\fR" 4
  1874. .IX Item "-mno-dsbt"
  1875. .PD
  1876. The \fB\-mdsbt\fR option causes the assembler to generate the
  1877. \&\f(CW\*(C`Tag_ABI_DSBT\*(C'\fR attribute with a value of 1, indicating that the
  1878. code is using \s-1DSBT\s0 addressing. The \fB\-mno\-dsbt\fR option, the
  1879. default, causes the tag to have a value of 0, indicating that the code
  1880. does not use \s-1DSBT\s0 addressing. The linker will emit a warning if
  1881. objects of different type (\s-1DSBT\s0 and non-DSBT) are linked together.
  1882. .IP "\fB\-mpid=no\fR" 4
  1883. .IX Item "-mpid=no"
  1884. .PD 0
  1885. .IP "\fB\-mpid=near\fR" 4
  1886. .IX Item "-mpid=near"
  1887. .IP "\fB\-mpid=far\fR" 4
  1888. .IX Item "-mpid=far"
  1889. .PD
  1890. The \fB\-mpid=\fR option causes the assembler to generate the
  1891. \&\f(CW\*(C`Tag_ABI_PID\*(C'\fR attribute with a value indicating the form of data
  1892. addressing used by the code. \fB\-mpid=no\fR, the default,
  1893. indicates position-dependent data addressing, \fB\-mpid=near\fR
  1894. indicates position-independent addressing with \s-1GOT\s0 accesses using near
  1895. \&\s-1DP\s0 addressing, and \fB\-mpid=far\fR indicates position-independent
  1896. addressing with \s-1GOT\s0 accesses using far \s-1DP\s0 addressing. The linker will
  1897. emit a warning if objects built with different settings of this option
  1898. are linked together.
  1899. .IP "\fB\-mpic\fR" 4
  1900. .IX Item "-mpic"
  1901. .PD 0
  1902. .IP "\fB\-mno\-pic\fR" 4
  1903. .IX Item "-mno-pic"
  1904. .PD
  1905. The \fB\-mpic\fR option causes the assembler to generate the
  1906. \&\f(CW\*(C`Tag_ABI_PIC\*(C'\fR attribute with a value of 1, indicating that the
  1907. code is using position-independent code addressing, The
  1908. \&\f(CW\*(C`\-mno\-pic\*(C'\fR option, the default, causes the tag to have a value of
  1909. 0, indicating position-dependent code addressing. The linker will
  1910. emit a warning if objects of different type (position-dependent and
  1911. position-independent) are linked together.
  1912. .IP "\fB\-mbig\-endian\fR" 4
  1913. .IX Item "-mbig-endian"
  1914. .PD 0
  1915. .IP "\fB\-mlittle\-endian\fR" 4
  1916. .IX Item "-mlittle-endian"
  1917. .PD
  1918. Generate code for the specified endianness. The default is
  1919. little-endian.
  1920. .PP
  1921. The following options are available when as is configured for a TILE-Gx
  1922. processor.
  1923. .IP "\fB\-m32 | \-m64\fR" 4
  1924. .IX Item "-m32 | -m64"
  1925. Select the word size, either 32 bits or 64 bits.
  1926. .IP "\fB\-EB | \-EL\fR" 4
  1927. .IX Item "-EB | -EL"
  1928. Select the endianness, either big-endian (\-EB) or little-endian (\-EL).
  1929. .PP
  1930. The following option is available when as is configured for a Visium
  1931. processor.
  1932. .IP "\fB\-mtune=\fR\fIarch\fR" 4
  1933. .IX Item "-mtune=arch"
  1934. This option specifies the target architecture. If an attempt is made to
  1935. assemble an instruction that will not execute on the target architecture,
  1936. the assembler will issue an error message.
  1937. .Sp
  1938. The following names are recognized:
  1939. \&\f(CW\*(C`mcm24\*(C'\fR
  1940. \&\f(CW\*(C`mcm\*(C'\fR
  1941. \&\f(CW\*(C`gr5\*(C'\fR
  1942. \&\f(CW\*(C`gr6\*(C'\fR
  1943. .PP
  1944. The following options are available when as is configured for an
  1945. Xtensa processor.
  1946. .IP "\fB\-\-text\-section\-literals | \-\-no\-text\-section\-literals\fR" 4
  1947. .IX Item "--text-section-literals | --no-text-section-literals"
  1948. Control the treatment of literal pools. The default is
  1949. \&\fB\-\-no\-text\-section\-literals\fR, which places literals in
  1950. separate sections in the output file. This allows the literal pool to be
  1951. placed in a data \s-1RAM/ROM. \s0 With \fB\-\-text\-section\-literals\fR, the
  1952. literals are interspersed in the text section in order to keep them as
  1953. close as possible to their references. This may be necessary for large
  1954. assembly files, where the literals would otherwise be out of range of the
  1955. \&\f(CW\*(C`L32R\*(C'\fR instructions in the text section. Literals are grouped into
  1956. pools following \f(CW\*(C`.literal_position\*(C'\fR directives or preceding
  1957. \&\f(CW\*(C`ENTRY\*(C'\fR instructions. These options only affect literals referenced
  1958. via PC-relative \f(CW\*(C`L32R\*(C'\fR instructions; literals for absolute mode
  1959. \&\f(CW\*(C`L32R\*(C'\fR instructions are handled separately.
  1960. .IP "\fB\-\-auto\-litpools | \-\-no\-auto\-litpools\fR" 4
  1961. .IX Item "--auto-litpools | --no-auto-litpools"
  1962. Control the treatment of literal pools. The default is
  1963. \&\fB\-\-no\-auto\-litpools\fR, which in the absence of
  1964. \&\fB\-\-text\-section\-literals\fR places literals in separate sections
  1965. in the output file. This allows the literal pool to be placed in a data
  1966. \&\s-1RAM/ROM. \s0 With \fB\-\-auto\-litpools\fR, the literals are interspersed
  1967. in the text section in order to keep them as close as possible to their
  1968. references, explicit \f(CW\*(C`.literal_position\*(C'\fR directives are not
  1969. required. This may be necessary for very large functions, where single
  1970. literal pool at the beginning of the function may not be reachable by
  1971. \&\f(CW\*(C`L32R\*(C'\fR instructions at the end. These options only affect
  1972. literals referenced via PC-relative \f(CW\*(C`L32R\*(C'\fR instructions; literals
  1973. for absolute mode \f(CW\*(C`L32R\*(C'\fR instructions are handled separately.
  1974. When used together with \fB\-\-text\-section\-literals\fR,
  1975. \&\fB\-\-auto\-litpools\fR takes precedence.
  1976. .IP "\fB\-\-absolute\-literals | \-\-no\-absolute\-literals\fR" 4
  1977. .IX Item "--absolute-literals | --no-absolute-literals"
  1978. Indicate to the assembler whether \f(CW\*(C`L32R\*(C'\fR instructions use absolute
  1979. or PC-relative addressing. If the processor includes the absolute
  1980. addressing option, the default is to use absolute \f(CW\*(C`L32R\*(C'\fR
  1981. relocations. Otherwise, only the PC-relative \f(CW\*(C`L32R\*(C'\fR relocations
  1982. can be used.
  1983. .IP "\fB\-\-target\-align | \-\-no\-target\-align\fR" 4
  1984. .IX Item "--target-align | --no-target-align"
  1985. Enable or disable automatic alignment to reduce branch penalties at some
  1986. expense in code size. This optimization is enabled by default. Note
  1987. that the assembler will always align instructions like \f(CW\*(C`LOOP\*(C'\fR that
  1988. have fixed alignment requirements.
  1989. .IP "\fB\-\-longcalls | \-\-no\-longcalls\fR" 4
  1990. .IX Item "--longcalls | --no-longcalls"
  1991. Enable or disable transformation of call instructions to allow calls
  1992. across a greater range of addresses. This option should be used when call
  1993. targets can potentially be out of range. It may degrade both code size
  1994. and performance, but the linker can generally optimize away the
  1995. unnecessary overhead when a call ends up within range. The default is
  1996. \&\fB\-\-no\-longcalls\fR.
  1997. .IP "\fB\-\-transform | \-\-no\-transform\fR" 4
  1998. .IX Item "--transform | --no-transform"
  1999. Enable or disable all assembler transformations of Xtensa instructions,
  2000. including both relaxation and optimization. The default is
  2001. \&\fB\-\-transform\fR; \fB\-\-no\-transform\fR should only be used in the
  2002. rare cases when the instructions must be exactly as specified in the
  2003. assembly source. Using \fB\-\-no\-transform\fR causes out of range
  2004. instruction operands to be errors.
  2005. .IP "\fB\-\-rename\-section\fR \fIoldname\fR\fB=\fR\fInewname\fR" 4
  2006. .IX Item "--rename-section oldname=newname"
  2007. Rename the \fIoldname\fR section to \fInewname\fR. This option can be used
  2008. multiple times to rename multiple sections.
  2009. .IP "\fB\-\-trampolines | \-\-no\-trampolines\fR" 4
  2010. .IX Item "--trampolines | --no-trampolines"
  2011. Enable or disable transformation of jump instructions to allow jumps
  2012. across a greater range of addresses. This option should be used when jump targets can
  2013. potentially be out of range. In the absence of such jumps this option
  2014. does not affect code size or performance. The default is
  2015. \&\fB\-\-trampolines\fR.
  2016. .PP
  2017. The following options are available when as is configured for
  2018. a Z80 family processor.
  2019. .IP "\fB\-z80\fR" 4
  2020. .IX Item "-z80"
  2021. Assemble for Z80 processor.
  2022. .IP "\fB\-r800\fR" 4
  2023. .IX Item "-r800"
  2024. Assemble for R800 processor.
  2025. .IP "\fB\-ignore\-undocumented\-instructions\fR" 4
  2026. .IX Item "-ignore-undocumented-instructions"
  2027. .PD 0
  2028. .IP "\fB\-Wnud\fR" 4
  2029. .IX Item "-Wnud"
  2030. .PD
  2031. Assemble undocumented Z80 instructions that also work on R800 without warning.
  2032. .IP "\fB\-ignore\-unportable\-instructions\fR" 4
  2033. .IX Item "-ignore-unportable-instructions"
  2034. .PD 0
  2035. .IP "\fB\-Wnup\fR" 4
  2036. .IX Item "-Wnup"
  2037. .PD
  2038. Assemble all undocumented Z80 instructions without warning.
  2039. .IP "\fB\-warn\-undocumented\-instructions\fR" 4
  2040. .IX Item "-warn-undocumented-instructions"
  2041. .PD 0
  2042. .IP "\fB\-Wud\fR" 4
  2043. .IX Item "-Wud"
  2044. .PD
  2045. Issue a warning for undocumented Z80 instructions that also work on R800.
  2046. .IP "\fB\-warn\-unportable\-instructions\fR" 4
  2047. .IX Item "-warn-unportable-instructions"
  2048. .PD 0
  2049. .IP "\fB\-Wup\fR" 4
  2050. .IX Item "-Wup"
  2051. .PD
  2052. Issue a warning for undocumented Z80 instructions that do not work on R800.
  2053. .IP "\fB\-forbid\-undocumented\-instructions\fR" 4
  2054. .IX Item "-forbid-undocumented-instructions"
  2055. .PD 0
  2056. .IP "\fB\-Fud\fR" 4
  2057. .IX Item "-Fud"
  2058. .PD
  2059. Treat all undocumented instructions as errors.
  2060. .IP "\fB\-forbid\-unportable\-instructions\fR" 4
  2061. .IX Item "-forbid-unportable-instructions"
  2062. .PD 0
  2063. .IP "\fB\-Fup\fR" 4
  2064. .IX Item "-Fup"
  2065. .PD
  2066. Treat undocumented Z80 instructions that do not work on R800 as errors.
  2067. .SH "SEE ALSO"
  2068. .IX Header "SEE ALSO"
  2069. \&\fIgcc\fR\|(1), \fIld\fR\|(1), and the Info entries for \fIbinutils\fR and \fIld\fR.
  2070. .SH "COPYRIGHT"
  2071. .IX Header "COPYRIGHT"
  2072. Copyright (c) 1991\-2017 Free Software Foundation, Inc.
  2073. .PP
  2074. Permission is granted to copy, distribute and/or modify this document
  2075. under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
  2076. or any later version published by the Free Software Foundation;
  2077. with no Invariant Sections, with no Front-Cover Texts, and with no
  2078. Back-Cover Texts. A copy of the license is included in the
  2079. section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".