http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47800
Summary: [4.6 Regression] i?86 peephole related ICE Product: gcc Version: 4.6.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target AssignedTo: ja...@gcc.gnu.org ReportedBy: ja...@gcc.gnu.org Target: x86_64-linux int foo (unsigned char *x, unsigned char *y) { unsigned char a; for (a = 0; x < y; x++) if (a & 0x80) a = (unsigned char) (a << 1) + 1 + *x; else a = (unsigned char) (a << 1) + *x; return a; } ICEs at -O2 -march=nocona: rh678530.i: In function 'foo': rh678530.i:11:1: error: unrecognizable insn: (insn 79 29 80 5 (set (subreg:SI (reg:DI 2 cx) 0) (mem:QI (reg/v/f:DI 5 di [orig:85 x ] [85]) [0 *x_21+0 S1 A8])) rh678530.i:7 -1 (nil)) rh678530.i:11:1: internal compiler error: in extract_insn, at recog.c:2109 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. starting with http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=161570