https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102154
--- Comment #27 from Segher Boessenkool <segher at gcc dot gnu.org> --- (In reply to Hongtao.liu from comment #22) > > Btw, I think this is a subreg that would be reasonable to handle. > > It's exactly the kind that x86 would like to allow, (subreg:HF (reg:SI > > ..) 0). > > Yes, LRA/reload can handle it correctly, like i tried in #c10. It is fundamentally wrong to rely on reloading for non-exceptional code. If reloading creates good code you are very lucky. And the whole point of doing any of this with subregs is to get good code.