Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

AArch64-Extensions.html 11KB

3 anos atrás
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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>AArch64 Extensions (Using as)</title>
  16. <meta name="description" content="AArch64 Extensions (Using as)">
  17. <meta name="keywords" content="AArch64 Extensions (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="AArch64_002dDependent.html#AArch64_002dDependent" rel="up" title="AArch64-Dependent">
  25. <link href="AArch64-Syntax.html#AArch64-Syntax" rel="next" title="AArch64 Syntax">
  26. <link href="AArch64-Options.html#AArch64-Options" rel="prev" title="AArch64 Options">
  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="AArch64-Extensions"></a>
  57. <div class="header">
  58. <p>
  59. Next: <a href="AArch64-Syntax.html#AArch64-Syntax" accesskey="n" rel="next">AArch64 Syntax</a>, Previous: <a href="AArch64-Options.html#AArch64-Options" accesskey="p" rel="prev">AArch64 Options</a>, Up: <a href="AArch64_002dDependent.html#AArch64_002dDependent" accesskey="u" rel="up">AArch64-Dependent</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="Architecture-Extensions"></a>
  63. <h4 class="subsection">9.1.2 Architecture Extensions</h4>
  64. <p>The table below lists the permitted architecture extensions that are
  65. supported by the assembler and the conditions under which they are
  66. automatically enabled.
  67. </p>
  68. <p>Multiple extensions may be specified, separated by a <code>+</code>.
  69. Extension mnemonics may also be removed from those the assembler
  70. accepts. This is done by prepending <code>no</code> to the option that adds
  71. the extension. Extensions that are removed must be listed after all
  72. extensions that have been added.
  73. </p>
  74. <p>Enabling an extension that requires other extensions will
  75. automatically cause those extensions to be enabled. Similarly,
  76. disabling an extension that is required by other extensions will
  77. automatically cause those extensions to be disabled.
  78. </p>
  79. <table>
  80. <thead><tr><th width="12%">Extension</th><th width="17%">Minimum Architecture</th><th width="17%">Enabled by default</th><th width="54%">Description</th></tr></thead>
  81. <tr><td width="12%"><code>i8mm</code></td><td width="17%">ARMv8.2-A</td><td width="17%">ARMv8.6-A or later</td><td width="54%">Enable Int8 Matrix Multiply extension.</td></tr>
  82. <tr><td width="12%"><code>f32mm</code></td><td width="17%">ARMv8.2-A</td><td width="17%">No</td><td width="54%">Enable F32 Matrix Multiply extension.</td></tr>
  83. <tr><td width="12%"><code>f64mm</code></td><td width="17%">ARMv8.2-A</td><td width="17%">No</td><td width="54%">Enable F64 Matrix Multiply extension.</td></tr>
  84. <tr><td width="12%"><code>bf16</code></td><td width="17%">ARMv8.2-A</td><td width="17%">ARMv8.6-A or later</td><td width="54%">Enable BFloat16 extension.</td></tr>
  85. <tr><td width="12%"><code>compnum</code></td><td width="17%">ARMv8.2-A</td><td width="17%">ARMv8.3-A or later</td><td width="54%">Enable the complex number SIMD extensions. This implies
  86. <code>fp16</code> and <code>simd</code>.</td></tr>
  87. <tr><td width="12%"><code>crc</code></td><td width="17%">ARMv8-A</td><td width="17%">ARMv8.1-A or later</td><td width="54%">Enable CRC instructions.</td></tr>
  88. <tr><td width="12%"><code>crypto</code></td><td width="17%">ARMv8-A</td><td width="17%">No</td><td width="54%">Enable cryptographic extensions. This implies <code>fp</code>, <code>simd</code>, <code>aes</code> and <code>sha2</code>.</td></tr>
  89. <tr><td width="12%"><code>aes</code></td><td width="17%">ARMv8-A</td><td width="17%">No</td><td width="54%">Enable the AES cryptographic extensions. This implies <code>fp</code> and <code>simd</code>.</td></tr>
  90. <tr><td width="12%"><code>sha2</code></td><td width="17%">ARMv8-A</td><td width="17%">No</td><td width="54%">Enable the SHA2 cryptographic extensions. This implies <code>fp</code> and <code>simd</code>.</td></tr>
  91. <tr><td width="12%"><code>sha3</code></td><td width="17%">ARMv8.2-A</td><td width="17%">No</td><td width="54%">Enable the ARMv8.2-A SHA2 and SHA3 cryptographic extensions. This implies <code>fp</code>, <code>simd</code> and <code>sha2</code>.</td></tr>
  92. <tr><td width="12%"><code>sm4</code></td><td width="17%">ARMv8.2-A</td><td width="17%">No</td><td width="54%">Enable the ARMv8.2-A SM3 and SM4 cryptographic extensions. This implies <code>fp</code> and <code>simd</code>.</td></tr>
  93. <tr><td width="12%"><code>fp</code></td><td width="17%">ARMv8-A</td><td width="17%">ARMv8-A or later</td><td width="54%">Enable floating-point extensions.</td></tr>
  94. <tr><td width="12%"><code>fp16</code></td><td width="17%">ARMv8.2-A</td><td width="17%">ARMv8.2-A or later</td><td width="54%">Enable ARMv8.2 16-bit floating-point support. This implies
  95. <code>fp</code>.</td></tr>
  96. <tr><td width="12%"><code>lor</code></td><td width="17%">ARMv8-A</td><td width="17%">ARMv8.1-A or later</td><td width="54%">Enable Limited Ordering Regions extensions.</td></tr>
  97. <tr><td width="12%"><code>lse</code></td><td width="17%">ARMv8-A</td><td width="17%">ARMv8.1-A or later</td><td width="54%">Enable Large System extensions.</td></tr>
  98. <tr><td width="12%"><code>pan</code></td><td width="17%">ARMv8-A</td><td width="17%">ARMv8.1-A or later</td><td width="54%">Enable Privileged Access Never support.</td></tr>
  99. <tr><td width="12%"><code>profile</code></td><td width="17%">ARMv8.2-A</td><td width="17%">No</td><td width="54%">Enable statistical profiling extensions.</td></tr>
  100. <tr><td width="12%"><code>ras</code></td><td width="17%">ARMv8-A</td><td width="17%">ARMv8.2-A or later</td><td width="54%">Enable the Reliability, Availability and Serviceability
  101. extension.</td></tr>
  102. <tr><td width="12%"><code>rcpc</code></td><td width="17%">ARMv8.2-A</td><td width="17%">ARMv8.3-A or later</td><td width="54%">Enable the weak release consistency extension.</td></tr>
  103. <tr><td width="12%"><code>rdma</code></td><td width="17%">ARMv8-A</td><td width="17%">ARMv8.1-A or later</td><td width="54%">Enable ARMv8.1 Advanced SIMD extensions. This implies <code>simd</code>.</td></tr>
  104. <tr><td width="12%"><code>simd</code></td><td width="17%">ARMv8-A</td><td width="17%">ARMv8-A or later</td><td width="54%">Enable Advanced SIMD extensions. This implies <code>fp</code>.</td></tr>
  105. <tr><td width="12%"><code>sve</code></td><td width="17%">ARMv8.2-A</td><td width="17%">No</td><td width="54%">Enable the Scalable Vector Extensions. This implies <code>fp16</code>,
  106. <code>simd</code> and <code>compnum</code>.</td></tr>
  107. <tr><td width="12%"><code>dotprod</code></td><td width="17%">ARMv8.2-A</td><td width="17%">ARMv8.4-A or later</td><td width="54%">Enable the Dot Product extension. This implies <code>simd</code>.</td></tr>
  108. <tr><td width="12%"><code>fp16fml</code></td><td width="17%">ARMv8.2-A</td><td width="17%">ARMv8.4-A or later</td><td width="54%">Enable ARMv8.2 16-bit floating-point multiplication variant support.
  109. This implies <code>fp16</code>.</td></tr>
  110. <tr><td width="12%"><code>sb</code></td><td width="17%">ARMv8-A</td><td width="17%">ARMv8.5-A or later</td><td width="54%">Enable the speculation barrier instruction sb.</td></tr>
  111. <tr><td width="12%"><code>predres</code></td><td width="17%">ARMv8-A</td><td width="17%">ARMv8.5-A or later</td><td width="54%">Enable the Execution and Data and Prediction instructions.</td></tr>
  112. <tr><td width="12%"><code>rng</code></td><td width="17%">ARMv8.5-A</td><td width="17%">No</td><td width="54%">Enable ARMv8.5-A random number instructions.</td></tr>
  113. <tr><td width="12%"><code>ssbs</code></td><td width="17%">ARMv8-A</td><td width="17%">ARMv8.5-A or later</td><td width="54%">Enable Speculative Store Bypassing Safe state read and write.</td></tr>
  114. <tr><td width="12%"><code>memtag</code></td><td width="17%">ARMv8.5-A</td><td width="17%">No</td><td width="54%">Enable ARMv8.5-A Memory Tagging Extensions.</td></tr>
  115. <tr><td width="12%"><code>tme</code></td><td width="17%">ARMv8-A</td><td width="17%">No</td><td width="54%">Enable Transactional Memory Extensions.</td></tr>
  116. <tr><td width="12%"><code>sve2</code></td><td width="17%">ARMv8-A</td><td width="17%">No</td><td width="54%">Enable the SVE2 Extension.</td></tr>
  117. <tr><td width="12%"><code>sve2-bitperm</code></td><td width="17%">ARMv8-A</td><td width="17%">No</td><td width="54%">Enable SVE2 BITPERM Extension.</td></tr>
  118. <tr><td width="12%"><code>sve2-sm4</code></td><td width="17%">ARMv8-A</td><td width="17%">No</td><td width="54%">Enable SVE2 SM4 Extension.</td></tr>
  119. <tr><td width="12%"><code>sve2-aes</code></td><td width="17%">ARMv8-A</td><td width="17%">No</td><td width="54%">Enable SVE2 AES Extension. This also enables the .Q-&gt;.B form of the
  120. <code>pmullt</code> and <code>pmullb</code> instructions.</td></tr>
  121. <tr><td width="12%"><code>sve2-sha3</code></td><td width="17%">ARMv8-A</td><td width="17%">No</td><td width="54%">Enable SVE2 SHA3 Extension.</td></tr>
  122. </table>
  123. <hr>
  124. <div class="header">
  125. <p>
  126. Next: <a href="AArch64-Syntax.html#AArch64-Syntax" accesskey="n" rel="next">AArch64 Syntax</a>, Previous: <a href="AArch64-Options.html#AArch64-Options" accesskey="p" rel="prev">AArch64 Options</a>, Up: <a href="AArch64_002dDependent.html#AArch64_002dDependent" accesskey="u" rel="up">AArch64-Dependent</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>
  127. </div>
  128. </body>
  129. </html>