https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89822
--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Nikita Kniazev from comment #0) > 8.1 jump to ret removed, but self mov is still there It's not a self move, but zero extend. movl %edi, %edi # 6 [c=1 l=2] *zero_extendsidi2/3