This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug bootstrap/72829] New: [7 Regression] ICE in extract_constrain_insn, at recog.c:2211 (error: insn does not satisfy its constraints) on 32-bit BE powerpc


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]