https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91604

            Bug ID: 91604
           Summary: [10 Regression] ICE in extract_insn at recog.c:2310
                    since r272323
           Product: gcc
           Version: 10.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: uros at gcc dot gnu.org
  Target Milestone: ---

Starting from the revision I see:

$ cat ice.c
long long v;
int fn1() { v = ~v; }

$ gcc -O3 --param max-gcse-memory=0 -m32 -fno-rerun-cse-after-loop ice.c
ice.c: In function ‘fn1’:
ice.c:2:1: error: unrecognizable insn:
    2 | int fn1() { v = ~v; }
      | ^~~
(insn 16 15 17 2 (set (mem/c:SI (reg/f:SI 87) [1 v+0 S4 A64])
        (not:SI (mem/c:SI (reg/f:SI 85) [1 v+0 S4 A64]))) "ice.c":2:17 -1
     (nil))
during RTL pass: subreg3
ice.c:2:1: internal compiler error: in extract_insn, at recog.c:2310
0x6a61cf _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        /home/marxin/Programming/gcc/gcc/rtl-error.c:108
0x6a61eb _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        /home/marxin/Programming/gcc/gcc/rtl-error.c:116
0x6a4373 extract_insn(rtx_insn*)
        /home/marxin/Programming/gcc/gcc/recog.c:2310
0x16b1217 decompose_multiword_subregs
        /home/marxin/Programming/gcc/gcc/lower-subreg.c:1540
0x16b234d execute
        /home/marxin/Programming/gcc/gcc/lower-subreg.c:1808
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.

Reply via email to