https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77308
Wilco <wdijkstr at arm dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |wdijkstr at arm dot com
--- Comment #10 from Wilco <wdijkstr at arm dot com> ---
The register allocator doesn't correctly track liferanges for SETs with a
subreg and this can cause terrible spilling indeed.
Also why aren't DI mode values split into native SI registers on 32-bit
targets? Using DI mode registers means the register allocator has a much harder
problem to solve as it can only use even/odd register pairs (and must allocate
both registers even if one is dead).