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)

Reply via email to