https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87701
--- Comment #7 from Segher Boessenkool <segher at gcc dot gnu.org> --- I have a patch. rtl.texi has this to say about subregs of hard regs: === @item hard registers It is seldom necessary to wrap hard registers in @code{subreg}s; such registers would normally reduce to a single @code{reg} rtx. This use of @code{subreg}s is discouraged and may not be supported in the future. === So why is the i386 backend doing this? It seems wrong.