https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111246
--- Comment #14 from David Edelsohn <dje at gcc dot gnu.org> --- The conditional branch always will proceed to the next instruction, so the code that you showed in the PR is a correct "optimization" of the original code, but the processor does execute the conditional branch in the original code. Is the simulator performing an optimization? Something seems to have transformed the code.