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