https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63949
--- Comment #3 from Richard Earnshaw <rearnsha at gcc dot gnu.org> --- make_extraction is unable to generate bit-field extractions in more than one mode. This causes the extractions that it does generate to be wrapped in subregs when SImode results are wanted. Ideally, we should teach make_extraction to be more sensible, but I'm not sure what the impact of that would be on other ports that really can only support one mode for bit-field extracts.