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)