https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123308
--- Comment #3 from Jeffrey A. Law <law at gcc dot gnu.org> --- Unfortunately, those sub-word cases turn out to be semi-important; we cobbled together some analysis code to look for cases where we were missing obviously profitable opportunities to if-convert code and what popped out consistently was 32-bit arithmetic on rv64. And those usually have some mix of extenions on the result and subregs on the inputs. The shift count is obviously a pain point as well. We just want to be careful with the SUBREG and extension cases. We started handling them here and the result was a horrible mess from an implementation standpoint. We're still trying to figure out the right way to clean that mess up for upstreaming.
