http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57300
--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 30132 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30132&action=edit gcc49-pr57300.patch We can actually use epilogue_completed, while that is set already a few passes before peephole2, the only split it runs is on eh_return immediately after setting it, so it won't split this (and even if it would, it is not a wrong-code matter, just missed-optimization). But, generally we then peephole2 this fine if possible (reg is dead), or split4. Tested: long long c; void foo (int a) { c = a; } where the reg is indeed dead to verify. So is this approach reasonable, at least for 4.8.1?