https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100329
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- So we run into static void insert_stmt_after (gimple *stmt, gimple *insert_point) { ... else /* We assume INSERT_POINT is a SSA_NAME_DEF_STMT of some SSA_NAME, thus if it must end a basic block, it should be a call that can throw, or some assignment that can throw. If it throws, the LHS of it will not be initialized though, so only valid places using the SSA_NAME should be dominated by the fallthru edge. */ bb = find_fallthru_edge (gimple_bb (insert_point)->succs)->dest; but for the asm goto the above is not valid.