https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120004
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- unreachable() is in some cases added to make the CFG valid - in the past we had a return in such places but unreachable seemed to be a better fit. For asm() we'd need "[[noreturn]]" (or rather [[return]]?).