https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125958
Bug ID: 125958
Summary: [17 Regression] ICE on mesa-26.1.3: insn does not
satisfy its constraints: in extract_constrain_insn, at
recog.cc:2795
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: slyfox at gcc dot gnu.org
Target Milestone: ---
Observed ICE on mesa-26.1.3 on gcc-master from r17-1786-g9579e3eb64ec89 (did
not biusect).
Extracted example:
// $ cat bug.c.c
const short ar[9] = {};
void *memcpy(void *, const void *, unsigned long int);
void vcn_init_session_buf_fc(void * r) {
memcpy(r, ar,sizeof(ar));
}
$ gcc/xgcc -Bgcc -msse2 -O2 -c bug.c.c -o bug.o
bug.c.c: In function ‘vcn_init_session_buf_fc’:
bug.c.c:5:1: error: insn does not satisfy its constraints:
5 | }
| ^
(insn 18 7 13 2 (set (mem:HI (plus:SI (reg/v/f:SI 0 ax [orig:98 r ] [98])
(const_int 16 [0x10])) [0 MEM <char[1:18]> [(void *)r_2(D)]+16
S2 A8])
(reg:HI 20 xmm0 [99])) "bug.c.c":4:3 92 {*movhi_internal}
(expr_list:REG_DEAD (reg:HI 20 xmm0 [99])
(expr_list:REG_DEAD (reg/v/f:SI 0 ax [orig:98 r ] [98])
(nil))))
during RTL pass: cprop_hardreg
bug.c.c:5:1: internal compiler error: in extract_constrain_insn, at
recog.cc:2795
0xa25e5d6 diagnostics::context::diagnostic_impl(rich_location*,
diagnostics::metadata const*, diagnostics::option_id, char const*, char**,
diagnostics::kind)
???:0
0xa251f34 internal_error(char const*, ...)
???:0
0xa25bbec fancy_abort(char const*, int, char const*)
???:0
0x8be0e1d _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
???:0
0x8be0e59 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
???:0
0x8bb0985 extract_constrain_insn(rtx_insn*)
???:0
0x8bb9c21 copyprop_hardreg_forward_1(basic_block_def*, value_data*)
???:0
0x8bbac12 (anonymous namespace)::cprop_hardreg_bb(basic_block_def*,
value_data*, simple_bitmap_def*)
???:0
0x8bbaffb (anonymous namespace)::pass_cprop_hardreg::execute(function*)
???:0
$ gcc/xgcc -Bgcc -v
Reading specs from gcc/specs
COLLECT_GCC=gcc/xgcc
COLLECT_LTO_WRAPPER=gcc/lto-wrapper
Target: i686-unknown-linux-gnu
Configured with: /home/slyfox/dev/git/gcc/configure --disable-multilib
--disable-bootstrap --disable-lto --disable-libsanitizer --enable-languages=c
CFLAGS='-O1 -g0' CXXFLAGS='-O1 -g0' LDFLAGS='-O1 -g0'
--build=i686-unknown-linux-gnu --host=i686-unknown-linux-gnu
--target=i686-unknown-linux-gnu --disable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 17.0.0 20260623 (experimental) (GCC)