https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96558
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Roger Sayle <sa...@gcc.gnu.org>: https://gcc.gnu.org/g:32c69a56981bd72a52b7d234a2936020f97909d1 commit r11-2679-g32c69a56981bd72a52b7d234a2936020f97909d1 Author: Roger Sayle <ro...@nextmovesoftware.com> Date: Wed Aug 12 22:34:29 2020 +0100 PR target/96558: Only call ix86_expand_clear with GENERAL_REGS. The following patch tightens the predicates of the peephole2 from my recent "Integer min/max improvements patch" to only hoist clearing a register when that register is a general register. Calling ix86_expand_clear with regs other than GENERAL_REGS is not supported. 2020-08-12 Roger Sayle <ro...@nextmovesoftware.com> Uroš Bizjak <ubiz...@gmail.com> gcc/ChangeLog PR target/96558 * config/i386/i386.md (peephole2): Only reorder register clearing instructions to allow use of xor for general registers. gcc/testsuite/ChangeLog PR target/96558 * gcc.dg/pr96558.c: New test.