https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78529
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The cmp %rax, %rax is just a missed optimization, because we manage to optimize it only so late that nothing cleans it up afterwards. We could optimize this away already in GIMPLE, e.g. for SCCVN use the same VN for return value of pass-through builtin as the corresponding argument (if we don't do that already). That doesn't explain the failure.