https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115329
Bug ID: 115329 Summary: [15 Regression] ICE in extract_insn, at recog.cc:2812 since r15-930-ge715204f203d31 Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jamborm at gcc dot gnu.org CC: ubizjak at gmail dot com Target Milestone: --- Compiling the testcase (minimized from grub2): int grub_swap_bytes32_x, grub_load_public_key___trans_tmp_1; void grub_load_public_key() { grub_load_public_key___trans_tmp_1 = __builtin_bswap32(grub_swap_bytes32_x); } with options: -Os -m32 -S -fno-common -std=gnu99 -march=i386 test.c leads to the following ICE since revision r15-930-ge715204f203d31 (Uros Bizjak: i386: Rewrite bswaphi2 handling [PR115102]): test.c: In function ‘grub_load_public_key’: test.c:4:1: error: unrecognizable insn: 4 | } | ^ (insn 5 2 6 2 (set (reg:SI 102) (ior:SI (and:SI (mem/c:SI (symbol_ref:SI ("grub_swap_bytes32_x") [flags 0x2] <var_decl 0x7fffbf410c60 grub_swap_bytes32_x>) [1 grub_swap_bytes32_x+0 S4 A32]) (const_int -65536 [0xffffffffffff0000])) (lshiftrt:SI (bswap:SI (mem/c:SI (symbol_ref:SI ("grub_swap_bytes32_x") [flags 0x2] <var_decl 0x7fffbf410c60 grub_swap_bytes32_x>) [1 grub_swap_bytes32_x+0 S4 A32])) (const_int 16 [0x10])))) "test.c":3:40 -1 (nil)) during RTL pass: vregs test.c:4:1: internal compiler error: in extract_insn, at recog.cc:2812 0x807d4c _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /home/mjambor/gcc/mine/src/gcc/rtl-error.cc:108 0x807d68 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) /home/mjambor/gcc/mine/src/gcc/rtl-error.cc:116 0x806289 extract_insn(rtx_insn*) /home/mjambor/gcc/mine/src/gcc/recog.cc:2812 0xca0b90 instantiate_virtual_regs_in_insn /home/mjambor/gcc/mine/src/gcc/function.cc:1612 0xca0b90 instantiate_virtual_regs /home/mjambor/gcc/mine/src/gcc/function.cc:1995 0xca0b90 execute /home/mjambor/gcc/mine/src/gcc/function.cc:2042