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

            Bug ID: 126446
           Summary: [12-17 Regression] X86-64: ICE at -O1 -mavx2 during
                    RTL pass: vregs
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: xxs_chy at outlook dot com
  Target Milestone: ---

Reproducer: https://godbolt.org/z/eGcKxd7M5
Testcase:
#include <stdint.h>
typedef int8_t v4i8 __attribute__((vector_size(4)));
int8_t g28;
void f18()
{
    v4i8 bc9;
    int64_t v10 = ~2878966870562407444;
    bc9[v10] = 0;
    g28 = bc9[0];
}

Dump at -O1 -mavx2:
<source>: In function 'f18':
<source>:10:1: error: unrecognizable insn:
   10 | }
      | ^
(insn 11 10 12 2 (set (reg:V4QI 103)
        (vec_merge:V4QI (vec_duplicate:V4QI (reg:QI 104))
            (reg:V4QI 103)
            (const_int 8796093022208 [0x80000000000]))) "<source>":8:14 -1
     (nil))
during RTL pass: vregs
<source>:10:1: internal compiler error: in extract_insn, at recog.cc:2894
0x27cae68 diagnostics::context::diagnostic_impl(rich_location*,
diagnostics::metadata const*, diagnostics::option_id, char const*,
__va_list_tag (*) [1], diagnostics::kind)
        ???:0
0x27bfaab internal_error(char const*, ...)
        ???:0
0xa37128 fancy_abort(char const*, int, char const*)
        ???:0
0x8b2313 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        ???:0
0x8b2335 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        ???:0

Reply via email to