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

            Bug ID: 72742
           Summary: [7 Regression] ICE in extract_insn, at recog.c:2309
                    (error: unrecognizable insn) w/ -Os -mlra
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: powerpc-*-linux-gnu*

gcc-7.0.0-alpha20160724 snapshot ICEs when compiling the following reduced
snippet for 32-bit BE powerpc w/ -Os -mlra:

int xi, m3;
unsigned short int a8;

void
p6 (int ey, unsigned short int *sa)
{
  int fx;
 reh5ef9u:
    {
      unsigned short int va;
      if (ey != 0)
        {
          a8 %= xi < 0;
          while (a8 < 17)
            ++a8;
          m3 &= fx;
          if ((xi & (m3 != 0 ? *sa : 0)) != 0)
            {
              va /= 3;
              xi += (va != 0) ? (va = xi) : 0;
            }
          xi = va && xi;
          goto reh5ef9u;
          sa = &va;
        }
    }
}

% powerpc-e300c3-linux-gnu-gcc-7.0.0-alpha20160724 -c -Os -mlra uwysfky3.c
uwysfky3.c: In function 'p6':
uwysfky3.c:27:1: error: unrecognizable insn:
 }
 ^
(insn 165 53 166 9 (set (reg:SI 10 10 [211])
        (and:SI (reg:SI 9 9 [orig:161 xi_lsm.20 ] [161])
            (const_int 0 [0]))) uwysfky3.c:17 -1
     (nil))
uwysfky3.c:27:1: internal compiler error: in extract_insn, at recog.c:2309

(unrecognizable insn dump for powerpc-e500v2-linux-gnuspe is very similar).

Reply via email to