Comments

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 <iant@google.com>
* doc/extend.texi (Extended Asm): The '+' constraint does not
require a register.

Patch

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