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

--- Comment #11 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(In reply to Rich Felker from comment #10)
> This is a rather huge bug to have been fixed silently. Could someone who
> knows the commit that fixed it and information on what versions are affected
> attach the info to the tracker here? And ideally some information on working
> around it for older GCCs?
> 
> From what I can tell experimenting so far, adding a dummy "0"(r0)
> constraint, or using + instead of =, makes the problem go away, but
> potentially has other ill effects from use of an uninitialized object..?

This wasn't silent.  There was a whole bunch of commits, all before
this PR was filed.  You can start looking at PR87600 maybe, and from
there follow the trails.

AFAIR all older versions (well, of this decade, anyway) have these
problems, but the patches are much to involved to backport.

You can work around it on older GCC by simply not using a register var
for more than one asm operand, I think?

Reply via email to