You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
5.0KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- This file documents the GNU Assembler "as".
  4. Copyright (C) 1991-2020 Free Software Foundation, Inc.
  5. Permission is granted to copy, distribute and/or modify this document
  6. under the terms of the GNU Free Documentation License, Version 1.3
  7. or any later version published by the Free Software Foundation;
  8. with no Invariant Sections, with no Front-Cover Texts, and with no
  9. Back-Cover Texts. A copy of the license is included in the
  10. section entitled "GNU Free Documentation License".
  11. -->
  12. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  13. <head>
  14. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  15. <title>Xtensa Opcodes (Using as)</title>
  16. <meta name="description" content="Xtensa Opcodes (Using as)">
  17. <meta name="keywords" content="Xtensa Opcodes (Using as)">
  18. <meta name="resource-type" content="document">
  19. <meta name="distribution" content="global">
  20. <meta name="Generator" content="makeinfo">
  21. <link href="index.html#Top" rel="start" title="Top">
  22. <link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
  23. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  24. <link href="Xtensa-Syntax.html#Xtensa-Syntax" rel="up" title="Xtensa Syntax">
  25. <link href="Xtensa-Registers.html#Xtensa-Registers" rel="next" title="Xtensa Registers">
  26. <link href="Xtensa-Syntax.html#Xtensa-Syntax" rel="prev" title="Xtensa Syntax">
  27. <style type="text/css">
  28. <!--
  29. a.summary-letter {text-decoration: none}
  30. blockquote.indentedblock {margin-right: 0em}
  31. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  32. blockquote.smallquotation {font-size: smaller}
  33. div.display {margin-left: 3.2em}
  34. div.example {margin-left: 3.2em}
  35. div.lisp {margin-left: 3.2em}
  36. div.smalldisplay {margin-left: 3.2em}
  37. div.smallexample {margin-left: 3.2em}
  38. div.smalllisp {margin-left: 3.2em}
  39. kbd {font-style: oblique}
  40. pre.display {font-family: inherit}
  41. pre.format {font-family: inherit}
  42. pre.menu-comment {font-family: serif}
  43. pre.menu-preformatted {font-family: serif}
  44. pre.smalldisplay {font-family: inherit; font-size: smaller}
  45. pre.smallexample {font-size: smaller}
  46. pre.smallformat {font-family: inherit; font-size: smaller}
  47. pre.smalllisp {font-size: smaller}
  48. span.nolinebreak {white-space: nowrap}
  49. span.roman {font-family: initial; font-weight: normal}
  50. span.sansserif {font-family: sans-serif; font-weight: normal}
  51. ul.no-bullet {list-style: none}
  52. -->
  53. </style>
  54. </head>
  55. <body lang="en">
  56. <a name="Xtensa-Opcodes"></a>
  57. <div class="header">
  58. <p>
  59. Next: <a href="Xtensa-Registers.html#Xtensa-Registers" accesskey="n" rel="next">Xtensa Registers</a>, Up: <a href="Xtensa-Syntax.html#Xtensa-Syntax" accesskey="u" rel="up">Xtensa Syntax</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
  60. </div>
  61. <hr>
  62. <a name="Opcode-Names-2"></a>
  63. <h4 class="subsubsection">9.55.2.1 Opcode Names</h4>
  64. <a name="index-Xtensa-opcode-names"></a>
  65. <a name="index-opcode-names_002c-Xtensa"></a>
  66. <p>See the <cite>Xtensa Instruction Set Architecture (ISA) Reference
  67. Manual</cite> for a complete list of opcodes and descriptions of their
  68. semantics.
  69. </p>
  70. <a name="index-_005f-opcode-prefix"></a>
  71. <p>If an opcode name is prefixed with an underscore character (&lsquo;<samp>_</samp>&rsquo;),
  72. <code>as</code> will not transform that instruction in any way. The
  73. underscore prefix disables both optimization (see <a href="Xtensa-Optimizations.html#Xtensa-Optimizations">Xtensa Optimizations</a>) and relaxation (see <a href="Xtensa-Relaxation.html#Xtensa-Relaxation">Xtensa Relaxation</a>) for that particular instruction. Only
  74. use the underscore prefix when it is essential to select the exact
  75. opcode produced by the assembler. Using this feature unnecessarily
  76. makes the code less efficient by disabling assembler optimization and
  77. less flexible by disabling relaxation.
  78. </p>
  79. <p>Note that this special handling of underscore prefixes only applies to
  80. Xtensa opcodes, not to either built-in macros or user-defined macros.
  81. When an underscore prefix is used with a macro (e.g., <code>_MOV</code>), it
  82. refers to a different macro. The assembler generally provides built-in
  83. macros both with and without the underscore prefix, where the underscore
  84. versions behave as if the underscore carries through to the instructions
  85. in the macros. For example, <code>_MOV</code> may expand to <code>_MOV.N</code>.
  86. </p>
  87. <p>The underscore prefix only applies to individual instructions, not to
  88. series of instructions. For example, if a series of instructions have
  89. underscore prefixes, the assembler will not transform the individual
  90. instructions, but it may insert other instructions between them (e.g.,
  91. to align a <code>LOOP</code> instruction). To prevent the assembler from
  92. modifying a series of instructions as a whole, use the
  93. <code>no-transform</code> directive. See <a href="Transform-Directive.html#Transform-Directive">transform</a>.
  94. </p>
  95. </body>
  96. </html>