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

            Bug ID: 97092
           Summary: [10/11 Regression] aarch64, SVE: ICE in ira-color.c
                    since r10-4752-g2d56600c
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: acoplan at gcc dot gnu.org
  Target Milestone: ---

For the following testcase:

void g(void);
long a;
signed char b(int c, int d) { return c + d; }
void e(void) {
  int f;
  for (; (long)e < 4;) {
    f = 0;
    for (; f < 10; f++);
    g();
    a = -4;
    for (; a; a = b(a, 1));
  }
}

AArch64 GCC ICEs in IRA when compiling with -O1 -ftree-vectorize
-march=armv8.2-a+sve:

$ aarch64-none-elf-gcc -O1 -ftree-vectorize -march=armv8.2-a+sve test.c -c -S
during RTL pass: ira
test.c: In function 'e':
test.c:13:1: internal compiler error: in paradoxical_subreg_p, at rtl.h:3170
   13 | }
      | ^
0xb56ebb paradoxical_subreg_p(machine_mode, machine_mode)
        /home/alecop01/toolchain/src/gcc/gcc/rtl.h:3170
0xb56ebb narrower_subreg_mode(machine_mode, machine_mode)
        /home/alecop01/toolchain/src/gcc/gcc/rtl.h:3200
0xb56ebb update_costs_from_allocno
        /home/alecop01/toolchain/src/gcc/gcc/ira-color.c:1410
0xb574ed update_costs_from_copies
        /home/alecop01/toolchain/src/gcc/gcc/ira-color.c:1478
0xb585b8 assign_hard_reg
        /home/alecop01/toolchain/src/gcc/gcc/ira-color.c:1969
0xb61321 pop_allocnos_from_stack
        /home/alecop01/toolchain/src/gcc/gcc/ira-color.c:2707
0xb61321 color_allocnos
        /home/alecop01/toolchain/src/gcc/gcc/ira-color.c:3251
0xb61321 color_pass
        /home/alecop01/toolchain/src/gcc/gcc/ira-color.c:3363
0xb4ad3f ira_traverse_loop_tree(bool, ira_loop_tree_node*, void
(*)(ira_loop_tree_node*), void (*)(ira_loop_tree_node*))
        /home/alecop01/toolchain/src/gcc/gcc/ira-build.c:1778
0xb5d464 do_coloring
        /home/alecop01/toolchain/src/gcc/gcc/ira-color.c:3514
0xb5d464 color
        /home/alecop01/toolchain/src/gcc/gcc/ira-color.c:4885
0xb5d464 ira_color()
        /home/alecop01/toolchain/src/gcc/gcc/ira-color.c:5014
0xb4339f ira
        /home/alecop01/toolchain/src/gcc/gcc/ira.c:5368
0xb4339f execute
        /home/alecop01/toolchain/src/gcc/gcc/ira.c:5668
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.

While this does seem to have been introduced before GCC 11, I haven't been able
to reproduce this on 10.x builds. More investigation needed here.

Reply via email to