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.