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

--- Comment #14 from Richard Biener <rguenth at gcc dot gnu.org> ---
I think the original asm goto case clearly remains and this is a difficult to
handle case since the label address only appears as regular input and the
goto target is statically represented in the CFG.  The testcase is miscompiled
at -O2 already.

I think asm goto is prone to such miscompilation in general if combined with
label addresses as inputs.  I don't think it was supposed to be used in this
way so we might want to simply amend documentation to make such uses undefined
...  in fact one might read

"The
@var{GotoLabels} section in an @code{asm goto} statement contains
a comma-separated
list of all C labels to which the assembler code may jump."

that jumps must jump to one of the labels literally (in the way documented
later).

Reply via email to