https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80343
Bug ID: 80343 Summary: [7 Regression] ICE in extract_constrain_insn, at recog.c:2213 (error: insn does not satisfy its constraints) Product: gcc Version: 7.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: powerpc-e500v2-linux-gnuspe gcc-7.0.0-alpha20170402 for a SPE target ICEs when compiling the following snippet w/ -O2 -ftracer -fPIC: long long int vi, ls; int wq, oa, to, fv; signed char zo; long long int ai (long long int ip, long long int jc, int gt) { ip /= 3; jc += ip; if (ip != 0) vi = 0; vi += ls; if (wq != oa) { int tz; for (tz = 0; tz < 32; ++tz) zo -= wq & gt; if ((gt & 5) > oa) { zo += gt; fv += zo + to; } if (gt != 0) oa = 0; if (fv != 0) { vi += wq; ls += ip; jc += (vi != 0) ? ip : ls; } while (tz != 0) { zo = wq; tz = zo; } ++to; wq = ip; } return jc; } % powerpc-e500v2-linux-gnuspe-gcc-7.0.0-alpha20170402 -fPIC -O2 -ftracer -c kz97n1pv.c kz97n1pv.c: In function 'ai': kz97n1pv.c:48:1: error: insn does not satisfy its constraints: } ^ (insn 334 329 309 8 (parallel [ (set (reg:SI 15 15 [263]) (and:SI (reg/v:SI 31 31 [orig:199 gt ] [199]) (const_int 5 [0x5]))) (clobber (scratch:CC)) ]) "kz97n1pv.c":21 180 {andsi3_imm} (nil)) kz97n1pv.c:48:1: internal compiler error: in extract_constrain_insn, at recog.c:2213 0x3060564c775 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170402/work/gcc-7-20170402/gcc/rtl-error.c:108 0x3060564c7c0 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) /var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170402/work/gcc-7-20170402/gcc/rtl-error.c:119 0x30605618d09 extract_constrain_insn(rtx_insn*) /var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170402/work/gcc-7-20170402/gcc/recog.c:2213 0x3060550a5ef check_rtl /var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170402/work/gcc-7-20170402/gcc/lra.c:2128 0x3060550f117 lra(_IO_FILE*) /var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170402/work/gcc-7-20170402/gcc/lra.c:2546 0x306054bb920 do_reload /var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170402/work/gcc-7-20170402/gcc/ira.c:5457 0x306054bb920 execute /var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170402/work/gcc-7-20170402/gcc/ira.c:5641