Attached testcase ICEs GCC: [opel:/Volumes/sandbox/stuart] hasting2% gcc.fsf.debug.obj/gcc/xgcc -B gcc.fsf.debug.obj/gcc -O1 - msse2 -S m4.i m4.i: In function 'rrr': m4.i:36: error: unrecognizable insn: (insn 283 210 211 10 (set (reg:V16QI 22 xmm1) (const_int 1 [0x1])) -1 (nil) (nil)) m4.i:36: internal compiler error: in extract_insn, at recog.c:2020 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. --------------------------------------------------- Here is the testcase: --------------------------------------------------- typedef unsigned long ulong; typedef long long __v2di __attribute__ ((vector_size (16))); typedef char __v16qi __attribute__ ((vector_size (16))); typedef struct { void *v1; ulong kk; ulong ss; }bbbccc; long rrr(const bbbccc *od, ulong lc, ulong rc, ulong br, ulong kw) { long i, j, x, y, kx = kw, ky, p1 = (kx)/2, r1 = (ky)/2, kk = od->kk, q1 = lc - p1, sts = p1, lml = od- >ss - rc, g1, *pg1, i1, s1, j1; char *out = (char*) od->v1; __v2di h1; for( i = 0; i < kk; i++ ) { j1 = i + r1; if( i >= kk - (long) br ) j1 = ( kk-1) + r1 - (long) br; s1 = j1 - i1; for(; y < s1; y++ ) { for( x = q1; x < sts; x++ ) ; } out[j] = g1; for( ; j <= lml - 16; j += 16 ) { h1 = (__v2di)__builtin_ia32_pcmpeqb128 ((__v16qi)h1, (__v16qi)h1); for( y = 0; y < s1; y++ ) for( x = 0; x < (long) kw; x++ ) ; __builtin_ia32_storedqu ((char *)pg1, (__v16qi)h1); } } }
-- Summary: another SSE optimization ICE Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: stuart at apple dot com CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-apple-darwin GCC host triplet: i686-apple-darwin GCC target triplet: i686-apple-darwin http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19039