https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72771
Bug ID: 72771 Summary: powerpc64le ICE with -mcpu=power9 Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: anton at samba dot org CC: amodra at gcc dot gnu.org, meissner at gcc dot gnu.org, segher at gcc dot gnu.org, wschmidt at gcc dot gnu.org Target Milestone: --- Target: powerpc64le-linux The following test case: void fn2(void); void fn3(unsigned long); signed char a; int b, c, e, f; float *d; void fn1(void) { short g = 0; lbl_986: for (;;) { c = 0; for (; c <= 2;) { *d = g; fn2(); if (e) goto lbl_986; } g = 2; for (; g >= 0; g--) { for (; b;) { fn3(45360); f = 0; for (; a >= 0; a--) ; } } } } Built with: gcc -O3 -mcpu=power9 Hits an ICE: crash1.i:29:1: error: insn does not satisfy its constraints: } ^ (insn 316 362 349 38 (parallel [ (set (reg:SF 63 31 [orig:334 _48 ] [334]) (float:SF (mem/u/c:HI (lo_sum:DI (reg:DI 6 6) (unspec:DI [ (symbol_ref/u:DI ("*.LC14") [flags 0x2]) (reg:DI 2 2) ] UNSPEC_TOCREL)) [6 S2 A16]))) (clobber (reg:DI 77 0)) (clobber (scratch:DI)) ]) 350 {*floathisf2_internal} (expr_list:REG_EQUAL (const_double:SF -1.0e+0 [-0x0.8p+1]) (nil))) crash1.i:29:1: internal compiler error: in extract_constrain_insn, at recog.c:2211 0x10839993 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ../../gcc/gcc/rtl-error.c:108 0x108399eb _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) ../../gcc/gcc/rtl-error.c:119 0x107ff5f7 extract_constrain_insn(rtx_insn*) ../../gcc/gcc/recog.c:2211 0x107ce263 reload_cse_simplify_operands ../../gcc/gcc/postreload.c:390 0x107cfe43 reload_cse_simplify ../../gcc/gcc/postreload.c:176 0x107cfe43 reload_cse_regs_1 ../../gcc/gcc/postreload.c:215 0x107d1737 reload_cse_regs ../../gcc/gcc/postreload.c:67 0x107d1737 execute ../../gcc/gcc/postreload.c:2342