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

            Bug ID: 67447
           Summary: [6 Regression] ICE in extract_constrain_insn
                    (reload_cse_simplify_operands): insn does not satisfy
                    its constraints
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: miyuki at gcc dot gnu.org
  Target Milestone: ---

This started between r227381 (OK) and r227407 (ICE).

$ cat calculix.c
struct _GPart {
  int *g;
};
static int b, d, e;
int *c, *f, *g;
int a;

int fn2(int, int);

int fn1(int p1) {
  int h = fn2(p1, (int)(long)&e);
  for (; d < e; d++)
    if (f[d] != a)
      h += g ? g[f[d]] : 1;
  return h;
}

int main() {
  struct _GPart *i;
  for (; b < (int)(long)(i->g); b++)
    c[b] = fn1((int)(long)i->g);
}

$ cc1 -O3 -march=haswell -quiet calculix.c
calculix.c: In function 'main':
calculix.c:22:1: error: insn does not satisfy its constraints:
 }
 ^
(insn 301 299 624 53 (parallel [
            (set (reg:V8SI 24 xmm3 [orig:390 vect__ifc__35.69 ] [390])
                (unspec:V8SI [
                        (reg:V8SI 24 xmm3 [orig:390 vect__ifc__35.69 ] [390])
                        (mem:SI (unspec:DI [
                                    (reg/f:DI 37 r8 [orig:102 g ] [102])
                                    (reg:V8SI 25 xmm4 [orig:179 vect__26.68 ]
[179])
                                    (const_int 4 [0x4])
                                ] UNSPEC_VSIBADDR) [0  S4 A8])
                        (mem:BLK (scratch) [0  A8])
                        (reg:V8SI 24 xmm3 [orig:390 vect__ifc__35.69 ] [390])
                    ] UNSPEC_GATHER))
            (clobber (reg:V8SI 24 xmm3 [orig:390 vect__ifc__35.69 ] [390]))
        ]) calculix.c:14 4573 {*avx2_gathersiv8si}
     (nil))
calculix.c:22:1: internal compiler error: in extract_constrain_insn, at
recog.c:2200
0xa49de3 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        /home/miyuki/gcc/src/gcc/rtl-error.c:109
0xa49e0f _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        /home/miyuki/gcc/src/gcc/rtl-error.c:120
0xa1828d extract_constrain_insn(rtx_insn*)
        /home/miyuki/gcc/src/gcc/recog.c:2200
0x9f89e6 reload_cse_simplify_operands
        /home/miyuki/gcc/src/gcc/postreload.c:408
0x9f9a15 reload_cse_simplify
        /home/miyuki/gcc/src/gcc/postreload.c:194
0x9f9a15 reload_cse_regs_1
        /home/miyuki/gcc/src/gcc/postreload.c:233
0x9fb31b reload_cse_regs
        /home/miyuki/gcc/src/gcc/postreload.c:81
0x9fb31b execute
        /home/miyuki/gcc/src/gcc/postreload.c:2350
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

Reply via email to