https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102639
Bug ID: 102639
Summary: ICE in extract_insn, at recog.c:2769 since
r12-3406-ga68412117fa47786
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
CC: xuepeng.guo at intel dot com
Target Milestone: ---
Host: x86_64-linux-gnu
4 The following crashes:
$ cat vec.ii
typedef _Float16 v16hf __attribute__((vector_size(2)));
v16hf vcond_v16hfv16hfge_b, vcond_v16hfv16hfge_c, vcond_v16hfv16hfge_d,
__attribute__vcond_v16hfv16hfge_a;
v16hf __attribute__vcond_v16hfv16hfge() {
return __attribute__vcond_v16hfv16hfge_a >= vcond_v16hfv16hfge_b
? vcond_v16hfv16hfge_c
: vcond_v16hfv16hfge_d;
}
$ g++ vec.ii -mavx512fp16 -c
vec.ii: In function ‘v16hf __attribute__vcond_v16hfv16hfge()’:
vec.ii:8:1: error: unrecognizable insn:
8 | }
| ^
(insn 18 17 19 2 (set (reg:HF 91)
(le:HF (reg:HF 85 [ _12 ])
(reg:HF 84 [ _11 ]))) "vec.ii":6:14 -1
(nil))
during RTL pass: vregs
vec.ii:8:1: internal compiler error: in extract_insn, at recog.c:2769
0x847d66 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
/home/marxin/Programming/gcc/gcc/rtl-error.c:108
0x847d88 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
/home/marxin/Programming/gcc/gcc/rtl-error.c:116
0x845ef3 extract_insn(rtx_insn*)
/home/marxin/Programming/gcc/gcc/recog.c:2769
0xebfb13 instantiate_virtual_regs_in_insn
/home/marxin/Programming/gcc/gcc/function.c:1611
0xebfb13 instantiate_virtual_regs
/home/marxin/Programming/gcc/gcc/function.c:1985
0xebfb13 execute
/home/marxin/Programming/gcc/gcc/function.c:2034
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.