Density-Instructions.html 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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-2017 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 5.2, http://www.gnu.org/software/texinfo/ -->
  13. <head>
  14. <title>Using as: Density Instructions</title>
  15. <meta name="description" content="Using as: Density Instructions">
  16. <meta name="keywords" content="Using as: Density Instructions">
  17. <meta name="resource-type" content="document">
  18. <meta name="distribution" content="global">
  19. <meta name="Generator" content="makeinfo">
  20. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  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-Optimizations.html#Xtensa-Optimizations" rel="up" title="Xtensa Optimizations">
  25. <link href="Xtensa-Automatic-Alignment.html#Xtensa-Automatic-Alignment" rel="next" title="Xtensa Automatic Alignment">
  26. <link href="Xtensa-Optimizations.html#Xtensa-Optimizations" rel="prev" title="Xtensa Optimizations">
  27. <style type="text/css">
  28. <!--
  29. a.summary-letter {text-decoration: none}
  30. blockquote.smallquotation {font-size: smaller}
  31. div.display {margin-left: 3.2em}
  32. div.example {margin-left: 3.2em}
  33. div.indentedblock {margin-left: 3.2em}
  34. div.lisp {margin-left: 3.2em}
  35. div.smalldisplay {margin-left: 3.2em}
  36. div.smallexample {margin-left: 3.2em}
  37. div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
  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.nocodebreak {white-space:nowrap}
  49. span.nolinebreak {white-space:nowrap}
  50. span.roman {font-family:serif; font-weight:normal}
  51. span.sansserif {font-family:sans-serif; font-weight:normal}
  52. ul.no-bullet {list-style: none}
  53. -->
  54. </style>
  55. </head>
  56. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  57. <a name="Density-Instructions"></a>
  58. <div class="header">
  59. <p>
  60. Next: <a href="Xtensa-Automatic-Alignment.html#Xtensa-Automatic-Alignment" accesskey="n" rel="next">Xtensa Automatic Alignment</a>, Up: <a href="Xtensa-Optimizations.html#Xtensa-Optimizations" accesskey="u" rel="up">Xtensa Optimizations</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>
  61. </div>
  62. <hr>
  63. <a name="Using-Density-Instructions"></a>
  64. <h4 class="subsubsection">9.53.3.1 Using Density Instructions</h4>
  65. <a name="index-density-instructions"></a>
  66. <p>The Xtensa instruction set has a code density option that provides
  67. 16-bit versions of some of the most commonly used opcodes. Use of these
  68. opcodes can significantly reduce code size. When possible, the
  69. assembler automatically translates instructions from the core
  70. Xtensa instruction set into equivalent instructions from the Xtensa code
  71. density option. This translation can be disabled by using underscore
  72. prefixes (see <a href="Xtensa-Opcodes.html#Xtensa-Opcodes">Opcode Names</a>), by using the
  73. &lsquo;<samp>--no-transform</samp>&rsquo; command-line option (see <a href="Xtensa-Options.html#Xtensa-Options">Command
  74. Line Options</a>), or by using the <code>no-transform</code> directive
  75. (see <a href="Transform-Directive.html#Transform-Directive">transform</a>).
  76. </p>
  77. <p>It is a good idea <em>not</em> to use the density instructions directly.
  78. The assembler will automatically select dense instructions where
  79. possible. If you later need to use an Xtensa processor without the code
  80. density option, the same assembly code will then work without modification.
  81. </p>
  82. </body>
  83. </html>