--- Comment #12 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #11)
> Still ICEs with current trunk.
LRA has a hard reg splitting. It was absent in reload. It decreased the
number of 'unable to find a register to spill' failures. Unfortunately, it
works when there is only one alternative with small register class.
In this case *ashlsi3_mask has a few alternatives and only one alternative is
small register class and the current LRA can not do anything.
It is very hard to fix the problem (especially without performance change for
other cases). As there are too many such PRs, I should make it my high
priority bug. I'll work on it. May be in a week I'll have an acceptable fix.
It is very hard to say for me about the outcome of my work.