https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103190
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- eliminate_redundant_comparison still associates asm defs in this case, and it's not an asm goto but the asm alters control flow because stmt_can_throw_internal () returns true for it. I'm not exactly sure why, but I suppose it's because of the 'volatile'. Anyway, the fix is quite obvious.