https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81897
--- Comment #21 from Jeffrey A. Law <law at redhat dot com> --- I'm pretty sure the testcase from c#16 is a different underlying issue and an DUP of an existing BZ. Note the ASMs. Jump threading is (overly) conservative when it encounters an ASM on the path and simply refuses to thread the path. As a result we leave unexecutable paths in the CFG leading to the warning.