https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69461
--- Comment #15 from Vladimir Makarov <vmakarov at gcc dot gnu.org> --- (In reply to Alexandre Oliva from comment #12) > Vlad, thanks for taking this over. Let me just point out, just in case you > missed, that I believe it is important for any register allocator to test > HARD_REGNO_MODE_OK, and that AFAICT we were not doing that. Please let me > know if I'm mistaken. Thanks, No, you are not mistaken. But the problem is that not always all hard registers of a class can have HARD_REGNO_MODE_OK the same value. As we don't know yet the exact hard reg at some point of LRA (which is different from reload) and can not guarantee the pseudo will get a specific hard register later. Actually, there are pros and cons for each solution.