http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60525
Bug ID: 60525 Summary: [4.9 Regression] ICE: in final_scan_insn, at final.c:2952 Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org markus@x4 libgcc % cat test.i typedef struct { long w[2]; } UINT128; extern UINT128 a[]; int b, c, f, g, h, i, l, m, o, p, q; double d; UINT128 j, k, t; long n, r; unsigned long s; fn1 (UINT128 *p1, UINT128 p2, UINT128 p3) { int e; if (p2.w[1]) p1->w[0] = p3.w[0]; e = d + p2.w[0]; if (p3.w[1]) c = e; p1->w[1] = b; } fn2 () { UINT128 u; fn1 (&t, j, k); u = a[l]; int v, w; o = t.w[0] >> 1; w = u.w[1] >> 32; n = t.w[0] * u.w[0]; q = r; r = r + s + (n >> 32); v = q + r >> 1; r = o * u.w[0]; q = o * w; r = r + s + (n >> 32); m = q + r; p = u.w[1] >> 32; r = u.w[1]; s = 0; r = r + t.w[1] + n; i = v; o = t.w[0]; h = k.w[1] * k.w[0]; g = j.w[1]; f = j.w[0]; } markus@x4 libgcc % gcc -march=amdfam10 -O2 -c test.i test.i: In function ‘fn2’: test.i:47:1: error: could not split insn } ^ (insn:TI 31 30 32 5 (parallel [ (set (reg:DF 22 xmm1 [orig:142 D.1904 ] [142]) (float:DF (mem/c:DI (plus:DI (reg/f:DI 7 sp) (const_int -16 [0xfffffffffffffff0])) [7 %sfp+-16 S8 A64]))) (clobber (mem/c:DI (plus:DI (reg/f:DI 7 sp) (const_int -8 [0xfffffffffffffff8])) [0 S8 A64])) ]) test.i:16 219 {*floatdidf2_sse_with_temp} (nil)) test.i:47:1: internal compiler error: in final_scan_insn, at final.c:2952 0x82e4c8 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ../../gcc/gcc/rtl-error.c:109 0x6a9d5a final_scan_insn(rtx_def*, _IO_FILE*, int, int, int*) ../../gcc/gcc/final.c:2952 0x6a9fb6 final(rtx_def*, _IO_FILE*, int) ../../gcc/gcc/final.c:2023 0x6aa1e5 rest_of_handle_final ../../gcc/gcc/final.c:4427 0x6aa1e5 execute ../../gcc/gcc/final.c:4502 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. {standard input}: Assembler messages: {standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive