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

            Bug ID: 117449
           Summary: [15 Regression] ICE in gen_reg_rtx on aarch64 via
                    aarch64_emit_opt_vec_rotate
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: acoplan at gcc dot gnu.org
  Target Milestone: ---

The following fails (reduced from perlbench_r from SPEC CPU 2017):

$ cat t.c
unsigned long *a;
int i;
void f() {
  for (i = 0; i < 80; i++)
    a[i] = (a[i] >> 8 | a[i] << 64 - 8) ^ a[i];
}
$ gcc/xgcc -B gcc -c t.c -S -o /dev/null -O2 -march=armv8-a+sha3
during RTL pass: split2
t.c: In function ‘f’:
t.c:6:1: internal compiler error: in gen_reg_rtx, at emit-rtl.cc:1177
    6 | }
      | ^
0x2244a6b internal_error(char const*, ...)
        $SRC/gcc/diagnostic-global-context.cc:518
0x79cc0f fancy_abort(char const*, int, char const*)
        $SRC/gcc/diagnostic.cc:1696
0xa9dbd3 gen_reg_rtx(machine_mode)
        $SRC/gcc/emit-rtl.cc:1177
0xab9523 force_reg(machine_mode, rtx_def*)
        $SRC/gcc/explow.cc:682
0x13ecdff aarch64_evpc_tbl
        $SRC/gcc/config/aarch64/aarch64.cc:26297
0x13edeef aarch64_vectorize_vec_perm_const
        $SRC/gcc/config/aarch64/aarch64.cc:26575
0xdfd133 expand_vec_perm_const(machine_mode, rtx_def*, rtx_def*,
int_vector_builder<poly_int<2u, long> > const&, machine_mode, rtx_def*)
        $SRC/gcc/optabs.cc:6499
0xac8ce3 expand_rotate_as_vec_perm(machine_mode, rtx_def*, rtx_def*, rtx_def*)
        $SRC/gcc/expmed.cc:6325
0x13e8dbb aarch64_emit_opt_vec_rotate(rtx_def*, rtx_def*, rtx_def*)
        $SRC/gcc/config/aarch64/aarch64.cc:16055
0x1bb073f gen_split_155(rtx_insn*, rtx_def**)
        $SRC/gcc/config/aarch64/aarch64-simd.md:1316
0xaa0bd3 try_split(rtx_def*, rtx_insn*, int)
        $SRC/gcc/emit-rtl.cc:3941
0xebfa1f split_insn
        $SRC/gcc/recog.cc:3475
0xec5423 split_all_insns()
        $SRC/gcc/recog.cc:3579
0xec550f execute
        $SRC/gcc/recog.cc:4503
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

I suspect r15-4876-g19757e1c28de07b45da03117e6ff7ae3e21e5a7a.

Reply via email to