<html lang="en"> <head> <title>Mnemonic Attribute - GNU Compiler Collection (GCC) Internals</title> <meta http-equiv="Content-Type" content="text/html"> <meta name="description" content="GNU Compiler Collection (GCC) Internals"> <meta name="generator" content="makeinfo 4.13"> <link title="Top" rel="start" href="index.html#Top"> <link rel="up" href="Insn-Attributes.html#Insn-Attributes" title="Insn Attributes"> <link rel="prev" href="Constant-Attributes.html#Constant-Attributes" title="Constant Attributes"> <link rel="next" href="Delay-Slots.html#Delay-Slots" title="Delay Slots"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- Copyright (C) 1988-2015 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being ``Funding Free Software'', the Front-Cover Texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is included in the section entitled ``GNU Free Documentation License''. (a) The FSF's Front-Cover Text is: A GNU Manual (b) The FSF's Back-Cover Text is: You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development.--> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } --></style> </head> <body> <div class="node"> <a name="Mnemonic-Attribute"></a> <p> Next: <a rel="next" accesskey="n" href="Delay-Slots.html#Delay-Slots">Delay Slots</a>, Previous: <a rel="previous" accesskey="p" href="Constant-Attributes.html#Constant-Attributes">Constant Attributes</a>, Up: <a rel="up" accesskey="u" href="Insn-Attributes.html#Insn-Attributes">Insn Attributes</a> <hr> </div> <h4 class="subsection">16.19.7 Mnemonic Attribute</h4> <p><a name="index-mnemonic-attribute-3777"></a> The <code>mnemonic</code> attribute is a string type attribute holding the instruction mnemonic for an insn alternative. The attribute values will automatically be generated by the machine description parser if there is an attribute definition in the md file: <pre class="smallexample"> (define_attr "mnemonic" "unknown" (const_string "unknown")) </pre> <p>The default value can be freely chosen as long as it does not collide with any of the instruction mnemonics. This value will be used whenever the machine description parser is not able to determine the mnemonic string. This might be the case for output templates containing more than a single instruction as in <code>"mvcle\t%0,%1,0\;jo\t.-4"</code>. <p>The <code>mnemonic</code> attribute set is not generated automatically if the instruction string is generated via C code. <p>An existing <code>mnemonic</code> attribute set in an insn definition will not be overriden by the md file parser. That way it is possible to manually set the instruction mnemonics for the cases where the md file parser fails to determine it automatically. <p>The <code>mnemonic</code> attribute is useful for dealing with instruction specific properties in the pipeline description without defining additional insn attributes. <pre class="smallexample"> (define_attr "ooo_expanded" "" (cond [(eq_attr "mnemonic" "dlr,dsgr,d,dsgf,stam,dsgfr,dlgr") (const_int 1)] (const_int 0))) </pre> </body></html>