Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

120 lines
5.1KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Copyright (C) 1988-2020 Free Software Foundation, Inc.
  4. Permission is granted to copy, distribute and/or modify this document
  5. under the terms of the GNU Free Documentation License, Version 1.3 or
  6. any later version published by the Free Software Foundation; with the
  7. Invariant Sections being "Funding Free Software", the Front-Cover
  8. Texts being (a) (see below), and with the Back-Cover Texts being (b)
  9. (see below). A copy of the license is included in the section entitled
  10. "GNU Free Documentation License".
  11. (a) The FSF's Front-Cover Text is:
  12. A GNU Manual
  13. (b) The FSF's Back-Cover Text is:
  14. You have freedom to copy and modify this GNU Manual, like GNU
  15. software. Copies published by the Free Software Foundation raise
  16. funds for GNU development. -->
  17. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  18. <head>
  19. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  20. <title>Mnemonic Attribute (GNU Compiler Collection (GCC) Internals)</title>
  21. <meta name="description" content="Mnemonic Attribute (GNU Compiler Collection (GCC) Internals)">
  22. <meta name="keywords" content="Mnemonic Attribute (GNU Compiler Collection (GCC) Internals)">
  23. <meta name="resource-type" content="document">
  24. <meta name="distribution" content="global">
  25. <meta name="Generator" content="makeinfo">
  26. <link href="index.html#Top" rel="start" title="Top">
  27. <link href="Option-Index.html#Option-Index" rel="index" title="Option Index">
  28. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  29. <link href="Insn-Attributes.html#Insn-Attributes" rel="up" title="Insn Attributes">
  30. <link href="Delay-Slots.html#Delay-Slots" rel="next" title="Delay Slots">
  31. <link href="Constant-Attributes.html#Constant-Attributes" rel="prev" title="Constant Attributes">
  32. <style type="text/css">
  33. <!--
  34. a.summary-letter {text-decoration: none}
  35. blockquote.indentedblock {margin-right: 0em}
  36. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  37. blockquote.smallquotation {font-size: smaller}
  38. div.display {margin-left: 3.2em}
  39. div.example {margin-left: 3.2em}
  40. div.lisp {margin-left: 3.2em}
  41. div.smalldisplay {margin-left: 3.2em}
  42. div.smallexample {margin-left: 3.2em}
  43. div.smalllisp {margin-left: 3.2em}
  44. kbd {font-style: oblique}
  45. pre.display {font-family: inherit}
  46. pre.format {font-family: inherit}
  47. pre.menu-comment {font-family: serif}
  48. pre.menu-preformatted {font-family: serif}
  49. pre.smalldisplay {font-family: inherit; font-size: smaller}
  50. pre.smallexample {font-size: smaller}
  51. pre.smallformat {font-family: inherit; font-size: smaller}
  52. pre.smalllisp {font-size: smaller}
  53. span.nolinebreak {white-space: nowrap}
  54. span.roman {font-family: initial; font-weight: normal}
  55. span.sansserif {font-family: sans-serif; font-weight: normal}
  56. ul.no-bullet {list-style: none}
  57. -->
  58. </style>
  59. </head>
  60. <body lang="en">
  61. <a name="Mnemonic-Attribute"></a>
  62. <div class="header">
  63. <p>
  64. Next: <a href="Delay-Slots.html#Delay-Slots" accesskey="n" rel="next">Delay Slots</a>, Previous: <a href="Constant-Attributes.html#Constant-Attributes" accesskey="p" rel="prev">Constant Attributes</a>, Up: <a href="Insn-Attributes.html#Insn-Attributes" accesskey="u" rel="up">Insn Attributes</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
  65. </div>
  66. <hr>
  67. <a name="Mnemonic-Attribute-1"></a>
  68. <h4 class="subsection">17.19.7 Mnemonic Attribute</h4>
  69. <a name="index-mnemonic-attribute"></a>
  70. <p>The <code>mnemonic</code> attribute is a string type attribute holding the
  71. instruction mnemonic for an insn alternative. The attribute values
  72. will automatically be generated by the machine description parser if
  73. there is an attribute definition in the md file:
  74. </p>
  75. <div class="smallexample">
  76. <pre class="smallexample">(define_attr &quot;mnemonic&quot; &quot;unknown&quot; (const_string &quot;unknown&quot;))
  77. </pre></div>
  78. <p>The default value can be freely chosen as long as it does not collide
  79. with any of the instruction mnemonics. This value will be used
  80. whenever the machine description parser is not able to determine the
  81. mnemonic string. This might be the case for output templates
  82. containing more than a single instruction as in
  83. <code>&quot;mvcle\t%0,%1,0\;jo\t.-4&quot;</code>.
  84. </p>
  85. <p>The <code>mnemonic</code> attribute set is not generated automatically if the
  86. instruction string is generated via C code.
  87. </p>
  88. <p>An existing <code>mnemonic</code> attribute set in an insn definition will not
  89. be overriden by the md file parser. That way it is possible to
  90. manually set the instruction mnemonics for the cases where the md file
  91. parser fails to determine it automatically.
  92. </p>
  93. <p>The <code>mnemonic</code> attribute is useful for dealing with instruction
  94. specific properties in the pipeline description without defining
  95. additional insn attributes.
  96. </p>
  97. <div class="smallexample">
  98. <pre class="smallexample">(define_attr &quot;ooo_expanded&quot; &quot;&quot;
  99. (cond [(eq_attr &quot;mnemonic&quot; &quot;dlr,dsgr,d,dsgf,stam,dsgfr,dlgr&quot;)
  100. (const_int 1)]
  101. (const_int 0)))
  102. </pre></div>
  103. </body>
  104. </html>