[Bug target/94144] New: ICE on aarch64-linux-gnu: in aarch64_print_operand at gcc/config/aarch64/aarch64.c:9528

andrea.corallo at arm dot com gcc-bugzilla@gcc.gnu.org
Wed Mar 11 15:42:01 GMT 2020


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

            Bug ID: 94144
           Summary: ICE on aarch64-linux-gnu: in aarch64_print_operand at
                    gcc/config/aarch64/aarch64.c:9528
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: andrea.corallo at arm dot com
  Target Milestone: ---

The compiler get ICE in final when compiling at -O3 the code below.

Note: this appears to be a regression to gcc 9.

---

int a, b, z;
int c(int d, int e) { return d && e > 0 && d > 5 - e ? 0 : d + e; }
int k();
void h(int);
void f(short d) {
  int g = !(0 < d);
  h(d);
  if (b) {
    unsigned i[1];
    i[0] = g = 0;
    for (; g <= 8; g++)
      d || k();
    if (c(!(i[0] <= z) >= d, d) != a)
      k();
  }
}

---

during RTL pass: final
test.c: In function ‘f’:
test.c:20:1: internal compiler error: in aarch64_print_operand, at
config/aarch64/aarch64.c:9528
   20 | }
      | ^
0xde435f aarch64_print_operand
        ../../gcc/config/aarch64/aarch64.c:9528
0x85acfb output_operand(rtx_def*, int)
        ../../gcc/final.c:4051
0x85b76f output_asm_insn(char const*, rtx_def**)
        ../../gcc/final.c:3944
0x85f06f output_asm_insn(char const*, rtx_def**)
        ../../gcc/final.c:3840
0x85f06f final_scan_insn_1
        ../../gcc/final.c:3106
0x85f537 final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
        ../../gcc/final.c:3152
0x85f7ff final_1
        ../../gcc/final.c:2020
0x85ff73 rest_of_handle_final
        ../../gcc/final.c:4658
0x85ff73 execute
        ../../gcc/final.c:4736
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.


More information about the Gcc-bugs mailing list