https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89290
Bug ID: 89290 Summary: [8/9 Regression] ICE in change_address_1, at emit-rtl.c:2286 Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: gs...@t-online.de Target Milestone: --- With options -O0 -mcmodel=large on x86_64-pc-linux-gnu : $ cat pr56847.c struct S { long int a, b; } e; __thread struct S s; void foo (void) { s = e; } $ gcc-7 -c pr56847.c -O0 -mcmodel=large $ gcc-9-20190210 -c pr56847.c -O2 -mcmodel=large $ gcc-9-20190210 -c pr56847.c -O0 $ $ gcc-9-20190210 -c pr56847.c -O0 -mcmodel=large during RTL pass: split2 pr56847.c: In function 'foo': pr56847.c:8:1: internal compiler error: in change_address_1, at emit-rtl.c:2286 8 | } | ^ 0x7a18d0 change_address_1 ../../gcc/emit-rtl.c:2286 0x7a4896 adjust_address_1(rtx_def*, machine_mode, poly_int<1u, long>, int, int, int, poly_int<1u, long>) ../../gcc/emit-rtl.c:2420 0xd5c619 split_double_mode(machine_mode, rtx_def**, int, rtx_def**, rtx_def**) ../../gcc/config/i386/i386.c:18661 0xd5ca5b ix86_split_to_parts ../../gcc/config/i386/i386.c:25393 0xd671cd ix86_split_long_move(rtx_def**) ../../gcc/config/i386/i386.c:25483 0xf88d20 gen_split_8(rtx_insn*, rtx_def**) ../../gcc/config/i386/i386.md:2267 0x10ccd04 split_10 ../../gcc/config/i386/i386.md:9883 0x112b377 split_insns(rtx_def*, rtx_insn*) ../../gcc/config/i386/i386.md:13184 0x7a6331 try_split(rtx_def*, rtx_insn*, int) ../../gcc/emit-rtl.c:3851 0xa00281 split_insn ../../gcc/recog.c:2901 0xa043a2 split_all_insns() ../../gcc/recog.c:3005 0xa044a8 execute ../../gcc/recog.c:3905