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

Reply via email to