⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modifiers.html

📁 自己收集的linux入门到学懂高级编程书集 包括linux程序设计第三版
💻 HTML
字号:
<html lang="en"><head><title>Using the GNU Compiler Collection (GCC)</title><meta http-equiv="Content-Type" content="text/html"><meta name="description" content="Using the GNU Compiler Collection (GCC)"><meta name="generator" content="makeinfo 4.6"><!--Copyright &copy; 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.   <p>Permission is granted to copy, distribute and/or modify this documentunder the terms of the GNU Free Documentation License, Version 1.2 orany later version published by the Free Software Foundation; with theInvariant Sections being "GNU General Public License" and "FundingFree Software", the Front-Cover texts being (a) (see below), and withthe Back-Cover Texts being (b) (see below).  A copy of the license isincluded in the section entitled "GNU Free Documentation License".   <p>(a) The FSF's Front-Cover Text is:   <p>A GNU Manual   <p>(b) The FSF's Back-Cover Text is:   <p>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 }--></style></head><body><div class="node"><p>Node:&nbsp;<a name="Modifiers">Modifiers</a>,Next:&nbsp;<a rel="next" accesskey="n" href="Machine-Constraints.html#Machine%20Constraints">Machine Constraints</a>,Previous:&nbsp;<a rel="previous" accesskey="p" href="Multi-Alternative.html#Multi-Alternative">Multi-Alternative</a>,Up:&nbsp;<a rel="up" accesskey="u" href="Constraints.html#Constraints">Constraints</a><hr><br></div><h3 class="subsection">Constraint Modifier Characters</h4><p>Here are constraint modifier characters.     <dl><dt><code>=</code>     <dd>Means that this operand is write-only for this instruction: the previousvalue is discarded and replaced by output data.     <br><dt><code>+</code>     <dd>Means that this operand is both read and written by the instruction.     <p>When the compiler fixes up the operands to satisfy the constraints,it needs to know which operands are inputs to the instruction andwhich are outputs from it.  <code>=</code> identifies an output; <code>+</code>identifies an operand that is both input and output; all other operandsare assumed to be input only.     <p>If you specify <code>=</code> or <code>+</code> in a constraint, you put it in thefirst character of the constraint string.     <br><dt><code>&amp;</code>     <dd>Means (in a particular alternative) that this operand is an<dfn>earlyclobber</dfn> operand, which is modified before the instruction isfinished using the input operands.  Therefore, this operand may not liein a register that is used as an input operand or as part of any memoryaddress.     <p><code>&amp;</code> applies only to the alternative in which it is written.  Inconstraints with multiple alternatives, sometimes one alternativerequires <code>&amp;</code> while others do not.  See, for example, the<code>movdf</code> insn of the 68000.     <p>An input operand can be tied to an earlyclobber operand if its onlyuse as an input occurs before the early result is written.  Addingalternatives of this form often allows GCC to produce better codewhen only some of the inputs can be affected by the earlyclobber. See, for example, the <code>mulsi3</code> insn of the ARM.     <p><code>&amp;</code> does not obviate the need to write <code>=</code>.     <br><dt><code>%</code>     <dd>Declares the instruction to be commutative for this operand and thefollowing operand.  This means that the compiler may interchange thetwo operands if that is the cheapest way to make all operands fit theconstraints. GCC can only handle one commutative pair in an asm; if you use more,the compiler may fail.     <br><dt><code>#</code>     <dd>Says that all following characters, up to the next comma, are to beignored as a constraint.  They are significant only for choosingregister preferences.     <br><dt><code>*</code>     <dd>Says that the following character should be ignored when choosingregister preferences.  <code>*</code> has no effect on the meaning of theconstraint as a constraint, and no effect on reloading.   </dl>   </body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -