https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72829
Bug ID: 72829 Summary: [7 Regression] ICE in extract_constrain_insn, at recog.c:2211 (error: insn does not satisfy its constraints) on 32-bit BE powerpc Product: gcc Version: 7.0 Status: UNCONFIRMED Keywords: build, ice-on-valid-code Severity: normal Priority: P3 Component: bootstrap Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: powerpc-e500v2-linux-gnuspe gcc-7.0.0_alpha20160807 snapshot fails to bootstrap when building libsanitizer: cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20160807/work/gcc-7-20160807/libsanitizer/sanitizer_common/sanitizer_libc.cc:191:1: error: insn does not satisfy its constraints: } ^ (insn 116 65 149 13 (parallel [ (set (reg:CC 75 7 [181]) (compare:CC (reg/v:SI 5 5 [orig:169 n ] [169]) (const_int 0 [0]))) (set (reg:SI 66 ctr [179]) (reg/v:SI 5 5 [orig:169 n ] [169])) ]) 459 {*movsi_internal2} (nil)) /var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20160807/work/gcc-7-20160807/libsanitizer/sanitizer_common/sanitizer_libc.cc:191:1: internal compiler error: in extract_constrain_insn, at recog.c:2211 Reduced testcase minimized from sanitizer_libc.cc: char volatile *t; void internal_memset (unsigned int n) { for (unsigned int i = 0; i < n; ++i) *t = '\0'; } void internal_strncpy (char *src, unsigned int n) { unsigned int i = 0; while (n && src[i]) ++i; internal_memset(n - i); } I believe this could be either a fallout after PR69847, or a result of turning LRA on by default.