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

            Bug ID: 80086
           Summary: ICE: in extract_constrain_insn, at recog.c:2213 for
                    the gcc.dg/vect/slp-perm-6.c test on MIPS
           Product: gcc
           Version: 7.0.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tomtab at gcc dot gnu.org
  Target Milestone: ---

Created attachment 40995
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40995&action=edit
reduced test case

gcc.dg/vect/slp-perm-6.c is failing on GCC 7 for mips-mti-elf (but not for
mips-mti-linux-gnu) with the following ICE:

t.c: In function ‘foo’:
t.c:40:1: error: insn does not satisfy its constraints:
 }
 ^
(insn 309 166 295 2 (parallel [
            (set (reg/f:DI 4 $4 [309])
                (symbol_ref/u:DI ("*.LC10") [flags 0x2]))
            (clobber (scratch:DI))
        ]) "t.c":25 289 {*lea64}
     (nil))
t.c:40:1: internal compiler error: in extract_constrain_insn, at recog.c:2213
0xddd4b9 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        gcc/gcc/rtl-error.c:108
0xddd51a _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        gcc/gcc/rtl-error.c:119
0xd84c18 extract_constrain_insn(rtx_insn*)
        gcc/gcc/recog.c:2213
0xc505c2 check_rtl
        gcc/gcc/lra.c:2128
0xc51124 lra(_IO_FILE*)
        gcc/gcc/lra.c:2546
0xbf8ddf do_reload
        gcc/gcc/ira.c:5451
0xbf92da execute
        gcc/gcc/ira.c:5635

I've attached a (slightly) reduced version of the test case.

Here's the command I'm using:
mips-mti-elf-gcc t.c -mabi=64 -mmsa -ftree-vectorize -O2 -S -o a.s

Robert Suchanek has taken a look at this and came up with a potential fix,
and Matthew Fortune has encountered a very similar problem recently.

Reply via email to