https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94052
Bug ID: 94052
Summary: Paradoxical subregs out of expand causes ICE with
multi register modes
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: tnfchris at gcc dot gnu.org
Reporter: tnfchris at gcc dot gnu.org
Target Milestone: ---
Target: aarch64-*
Created attachment 47979
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47979&action=edit
repro
Expand generates the following paradoxical subreg
(insn 446 354 445 2 (set (reg:CI 383)
(subreg:CI (reg:V4SI 291) 0)) "small.i":146:22 3408 {*aarch64_movci}
(nil))
but reload can't deal with this so it ICEs as it loops and reached the maximum
number of reloads while trying to break apart this subreg and do the reload.