Compile the following (derived from gcc.dg/format/unnamed-1.c) on x86_64-unknown-linux-gnu with -m32 -msse -mtune=i386.
extern void g (const char *, ...); void f (void) { g ("", 0xffffffffffffffffffffffffffffffff); } You get an ICE (with both mainline as of 20061003 and older compilers): u.c:6:10: warning: integer constant is too large for its type u.c: In function 'f': u.c:6: warning: integer constant is too large for 'long' type u.c:7: error: unrecognizable insn: (insn 8 7 9 3 (set (mem/i:TI (pre_dec:SI (reg/f:SI 7 sp)) [0 S16 A128]) (reg:TI 58)) -1 (nil) (nil)) u.c:7: internal compiler error: in extract_insn, at recog.c:2077 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. (The choice of x86_64 -m32 is because this ICE requires 64-bit HOST_WIDE_INT; 32-bit i?86 configurations that use 64-bit HOST_WIDE_INT should show this as well.) -- Summary: TImode ICE with -m32 -msse -mtune=i386 Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jsm28 at gcc dot gnu dot org GCC target triplet: x86_64-*-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29339