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

            Bug ID: 104790
           Summary: [12 Regression] ICE (insn does not satisfy its
                    constraints) with MVE since
                    r12-4374-g5efeaa0d29525fa28e189e6278c1b1651fb0d7bf
           Product: gcc
           Version: 12.0
            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 ICE was reduced from the testsuite:

$ cat t.c
typedef short V __attribute__((vector_size(16)));
V b, c, d;
void f() {
  int i;
  c = d;
  i = 0;
  for (; i < 8; ++i)
    if (d[i & -i] != b[d[i] - 1])
      __builtin_abort();
}
$ gcc/xgcc -B gcc -c t.c -march=armv8.1-m.main+mve -mfloat-abi=hard -O
t.c: In function ‘f’:
t.c:10:1: error: insn does not satisfy its constraints:
   10 | }
      | ^
(insn 12 78 3 2 (set (mem/c:V8HI (post_modify:SI (reg:SI 12 ip [orig:122
ivtmp.10 ] [122])
                (plus:SI (reg:SI 12 ip [orig:122 ivtmp.10 ] [122])
                    (const_int 14 [0xe]))) [1 c+0 S16 A64])
        (reg:V8HI 28 s12 [152])) "t.c":5:5 3029 {*mve_movv8hi}
     (expr_list:REG_INC (reg:SI 12 ip [orig:122 ivtmp.10 ] [122])
        (nil)))
during RTL pass: reload
t.c:10:1: internal compiler error: in extract_constrain_insn, at recog.cc:2670
0x60d898 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        /home/alecop01/toolchain/src/gcc/gcc/rtl-error.cc:108
0x60d8c1 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        /home/alecop01/toolchain/src/gcc/gcc/rtl-error.cc:118
0xcefe5d extract_constrain_insn(rtx_insn*)
        /home/alecop01/toolchain/src/gcc/gcc/recog.cc:2670
0xbaea17 check_rtl
        /home/alecop01/toolchain/src/gcc/gcc/lra.cc:2095
0xbb3f1d lra(_IO_FILE*)
        /home/alecop01/toolchain/src/gcc/gcc/lra.cc:2513
0xb60779 do_reload
        /home/alecop01/toolchain/src/gcc/gcc/ira.cc:5940
0xb60779 execute
        /home/alecop01/toolchain/src/gcc/gcc/ira.cc:6126
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.

It seems to have started with:

commit 5efeaa0d29525fa28e189e6278c1b1651fb0d7bf
Author: Andre Vieira <andre.simoesdiasvie...@arm.com>
Date:   Wed Oct 13 16:42:47 2021

    [arm] Fix MVE addressing modes for VLDR[BHW] and VSTR[BHW]

I can see the following ICEs in the testsuite:

FAIL: c-c++-common/torture/vshuf-v8hi.c   -Os  (internal compiler error: in
extract_constrain_insn, at recog.cc:2670)
FAIL: gcc.dg/torture/vshuf-v8hi.c   -O2  (internal compiler error: in
extract_constrain_insn, at recog.cc:2670)
FAIL: gcc.target/arm/mve/intrinsics/mve_immediates_1_n.c (internal compiler
error: in extract_constrain_insn, at recog.cc:2670)

Reply via email to