https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106180
Bug ID: 106180 Summary: [13 Regression] ICE in extract_insn, at recog.cc:2791 since 73f942c08deef3cce312263b3347f7a44dd44150 Product: gcc Version: 13.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: guihaoc at gcc dot gnu.org Target Milestone: --- Host: x86_64-linux-gnu The following ICEs: $ cat az.ii struct PointT { double x, y; }; using PointF = PointT; template <int _Nm> struct __array_traits { typedef PointT _Type[_Nm]; }; template <int _Nm> struct array { typename __array_traits<_Nm>::_Type _M_elems; }; float SampleGrid_low, SampleGrid_high; using QuadrilateralF = array<4>; struct PerspectiveTransform { PerspectiveTransform(QuadrilateralF, QuadrilateralF); }; void SampleGrid() { PerspectiveTransform{{PointF{SampleGrid_high, SampleGrid_low}, SampleGrid_low, SampleGrid_high}, {}}; } $ g++ az.ii -O3 -c -ffloat-store az.ii: In function ‘void SampleGrid()’: az.ii:18:1: error: unrecognizable insn: 18 | } | ^ (insn 20 19 21 2 (set (reg:V2DF 92) (float_extend:V2DF (vec_select:V2SF (mem:V4SF (plus:DI (reg/f:DI 77 virtual-stack-vars) (const_int -176 [0xffffffffffffff50])) [4 S16 A128]) (parallel [ (const_int 0 [0]) (const_int 1 [0x1]) ])))) "az.ii":15:3 -1 (nil)) during RTL pass: vregs az.ii:18:1: internal compiler error: in extract_insn, at recog.cc:2791 0x1807b59 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /home/marxin/Programming/gcc/gcc/rtl-error.cc:108 0x1807ba3 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) /home/marxin/Programming/gcc/gcc/rtl-error.cc:116 0x17a5e2c extract_insn(rtx_insn*) /home/marxin/Programming/gcc/gcc/recog.cc:2791 0x137b1dc instantiate_virtual_regs_in_insn /home/marxin/Programming/gcc/gcc/function.cc:1611 0x137ca6f instantiate_virtual_regs /home/marxin/Programming/gcc/gcc/function.cc:1985 0x137cb58 execute /home/marxin/Programming/gcc/gcc/function.cc:2034 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.