https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100066
--- Comment #2 from Vladimir Makarov <vmakarov at gcc dot gnu.org> --- Thank you for reporting this. I've reproduced this bug. It seems something wrong with hard reg live range splitting. This code is complicated so I can not say when it will be fixed but I'll do my best to fix this as soon as possible.