Hello! This ICE was caused by a peephole2 pattern that allowed non-general regs arguments. 2015-07-08 Uros Bizjak PR target/66814 * config/i386/predicates.md (nonimmediate_gr_operand): New predicate. * config/i386/i386.md (not peephole2): Use nonimmediate_gr_operand. (varous peephole2s): Use {GENERAL,SSE,MMX}_REGNO_P instead of {GENERAL_SSE_MMX}_REG_P where appropriate. testsuite/ChangeLog: 2015-07-09 Uros Bizjak PR target/66814 * gcc.target/i386/pr66814.c: New test. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. Committed to mainline SVN, will be backported to gcc-5, when the branch opens. Uros.