https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100581
Bug ID: 100581 Summary: [12 Regression] ICE in extract_insn, at recog.c:2770 since r12-731-gb1f7fd8a2a5558da Product: gcc Version: 11.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: ubizjak at gmail dot com Target Milestone: --- Host: x86_64-linux-gnu The following fails: $ cat ice.C typedef float __attribute__((__vector_size__(8))) v64f32; v64f32 af, bf, ff_a, ff_b; v64f32 f() { return ff_a > ff_b ? af : bf; } $ g++ ice.C -c -mxop ice.C: In function ‘v64f32 f()’: ice.C:3:44: error: unrecognizable insn: 3 | v64f32 f() { return ff_a > ff_b ? af : bf; } | ^ (insn 10 9 13 2 (set (reg:V2SF 86 [ _7 ]) (if_then_else:V2SF (reg:V2SF 86 [ _7 ]) (reg:V2SF 84 [ af.2_4 ]) (reg:V2SF 85 [ bf.3_5 ]))) "ice.C":3:40 -1 (nil)) during RTL pass: vregs ice.C:3:44: internal compiler error: in extract_insn, at recog.c:2770 0x7fd7bb _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /home/marxin/Programming/gcc/gcc/rtl-error.c:108 0x7fd7dd _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) /home/marxin/Programming/gcc/gcc/rtl-error.c:116 0x7fb9b1 extract_insn(rtx_insn*) /home/marxin/Programming/gcc/gcc/recog.c:2770 0xe62989 instantiate_virtual_regs_in_insn /home/marxin/Programming/gcc/gcc/function.c:1609 0xe62989 instantiate_virtual_regs /home/marxin/Programming/gcc/gcc/function.c:1983 0xe62989 execute /home/marxin/Programming/gcc/gcc/function.c:2032 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.