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)