From patchwork Wed Oct 24 04:47:23 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Doc patch committed: The '+' constraint does not require a register Date: Tue, 23 Oct 2012 18:47:23 -0000 From: Ian Taylor X-Patchwork-Id: 193680 Message-Id: To: gcc-patches@gcc.gnu.org Back in May 2004 Richard Henderson ensured that using a '+' constraint in an extended asm statement would work with an 'm' constraint. http://gcc.gnu.org/ml/gcc-patches/2004-05/msg00438.html Unfortunately he did not update the documentation. I verified that Richard's code is still in the compiler, and updated the documentation as follows. Bootstrapped on x86_64-unknown-linux-gnu. Committed to mainline. Ian 2012-10-23 Ian Lance Taylor * doc/extend.texi (Extended Asm): The '+' constraint does not require a register. Index: doc/extend.texi =================================================================== --- doc/extend.texi (revision 192525) +++ doc/extend.texi (working copy) @@ -5864,10 +5864,7 @@ The ordinary output operands must be wri the values in these operands before the instruction are dead and need not be generated. Extended asm supports input-output or read-write operands. Use the constraint character @samp{+} to indicate such an -operand and list it with the output operands. You should only use -read-write operands when the constraints for the operand (or the -operand in which only some of the bits are to be changed) allow a -register. +operand and list it with the output operands. You may, as an alternative, logically split its function into two separate operands, one input operand and one write-only output