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

            Bug ID: 84252
           Summary: ICE in get_tracked_reg_offset when building libvpx for
                    aarch64
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dmalcolm at gcc dot gnu.org
  Target Milestone: ---
            Target: aarch64-redhat-linux

Created attachment 43349
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43349&action=edit
Reduced test case

This downstream bug report:
  https://bugzilla.redhat.com/show_bug.cgi?id=1541670
describes an ICE building libvpx on aarch64.

I managed to reduce the testcase to ~300 lines; I'm attaching it.

The ICE happens during vartrack (at -O1 and above and -Os; needs -g).

(gdb) p reg
$2 = (reg:V4SI 33 v1 [ qIn0+16 ])

1866    static HOST_WIDE_INT
1867    get_tracked_reg_offset (rtx loc)
1868    {
1869      HOST_WIDE_INT offset;
1870      if (!track_offset_p (REG_OFFSET (loc), &offset))
1871        gcc_unreachable ();
1872      return offset;
1873    }

It appears to be hitting the gcc_unreachable.

(this was with r257097 fwiw)

Reply via email to