https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87984

Segher Boessenkool <segher at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
                 CC|                            |segher at gcc dot gnu.org
         Resolution|---                         |INVALID

--- Comment #10 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Those testcases explicitly clobber the register you use for "a".  That of
course will not preserve the contents of "a".

Register variables are hard to use.  Avoid them.  For passing registers
without there own register class (and constraint) into extended asm, some
new notation like

  asm("add %1, %0" : "+r"(o) : "!%%eax"(a));

might work ("!" is not really meaningful in assembler constraints; but a
different character might be better, dunno.)

Maybe something like that can still go into stage 3 if it is simple.
Maybe not.  In either case, this PR is invalid.

(Improved documentation would be welcome as well, of course.)

Reply via email to