https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80252

            Bug ID: 80252
           Summary: ICE in plus_constant, at explow.c:88 with
                    -fstack-check -mabi=ilp32
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sch...@linux-m68k.org
  Target Milestone: ---
            Target: aarch64-*-*

$ cat stack-check.c
void g (char *);
int f (void)
{
  char i[32];
  i[16] = 0;
  g (i);
}
$ ./xgcc -B ./ -fstack-check stack-check.c -mabi=ilp32 -S
stack-check.c: In function ‘f’:
stack-check.c:7:1: internal compiler error: in plus_constant, at explow.c:88
 }
 ^
0x84a23f plus_constant(machine_mode, rtx_def*, long, bool)
        ../../gcc/gcc/explow.c:88
0xed235f aarch64_emit_probe_stack_range
        ../../gcc/gcc/config/aarch64/aarch64.c:2624
0xed786f aarch64_expand_prologue()
        ../../gcc/gcc/config/aarch64/aarch64.c:3592
0x105a53b gen_prologue()
        ../../gcc/gcc/config/aarch64/aarch64.md:558
0xed1abb target_gen_prologue
        ../../gcc/gcc/config/aarch64/aarch64.md:5799
0x8d27b7 make_prologue_seq
        ../../gcc/gcc/function.c:5842
0x8d29e3 thread_prologue_and_epilogue_insns()
        ../../gcc/gcc/function.c:5959
0x8d30b3 rest_of_handle_thread_prologue_and_epilogue
        ../../gcc/gcc/function.c:6428
0x8d30b3 execute
        ../../gcc/gcc/function.c:6470

stack_pointer_rtx is always of DImode.

Reply via email to