https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104339
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note after r13-6834-g41ade3399bd1ec, the testcase in comment #0 works as the cast in the first bb is unused otherwise, Here is a better testcase: ``` int f(unsigned short y) { unsigned short t =y; int tt = y; y = -y; int yy = y; if (t) tt = yy; return tt; } ```