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

            Bug ID: 98537
           Summary: [11 Regression] ICE in emit_move_insn since r11-5839
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
  Target Milestone: ---

Since r11-5839-g3a6e3ad38a17a03ee0139b49a0946e7b9ded1eb1 we ICE on the
following testcase on x86_64-linux with -O2:
typedef int V __attribute__((__vector_size__(32)));
typedef long W __attribute__((__vector_size__(32)));
W c, d;
struct B {};
B e;
struct C { W i; };
void foo (C);

C
operator== (B, B)
{
  W r = (V)c == (V)d;
  return {r};
}

__attribute__((target ("avx512vl"))) void
bar ()
{
  B a;
  foo (a == e);
}
entropy_coder.cc.ii: In function ‘void bar()’:
entropy_coder.cc.ii:13:12: internal compiler error: in emit_move_insn, at
expr.c:3820
   13 |   return {r};
      |            ^
0x11b183f emit_move_insn(rtx_def*, rtx_def*)
        ../../gcc/expr.c:3820
0x1e51e63 ix86_expand_int_vec_cmp(rtx_def**)
        ../../gcc/config/i386/i386-expand.c:4304
0x23f8be7 gen_vec_cmpv8siv8si(rtx_def*, rtx_def*, rtx_def*, rtx_def*)
        ../../gcc/config/i386/sse.md:3226
0x15acff0 rtx_insn* insn_gen_fn::operator()<rtx_def*, rtx_def*, rtx_def*,
rtx_def*>(rtx_def*, rtx_def*, rtx_def*, rtx_def*) const
        ../../gcc/recog.h:407
0x15aa82a maybe_gen_insn(insn_code, unsigned int, expand_operand*)
        ../../gcc/optabs.c:7787
0x15aab20 maybe_expand_insn(insn_code, unsigned int, expand_operand*)
        ../../gcc/optabs.c:7818
0x15aabb4 expand_insn(insn_code, unsigned int, expand_operand*)
        ../../gcc/optabs.c:7849
0x15a6952 expand_vec_cmp_expr(tree_node*, tree_node*, rtx_def*)
        ../../gcc/optabs.c:6285
0x11d746d do_store_flag
        ../../gcc/expr.c:12373

Reply via email to