https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77761
--- Comment #2 from Vladimir Makarov <vmakarov at gcc dot gnu.org> --- Thanks for reporting this, Zdenek. After some time staring at the generated code I believe the problem is in hard register splitting optimization. LRA uses wrongly smaller mode for splitting than necessary. I hope the patch will be ready on Tuesday.