https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67462
--- Comment #6 from Bernd Schmidt <bernds at gcc dot gnu.org> --- That does look dodgy. It's also really old, from when rtx_cost was part of cse.c. Kenner added it along with many other changes in r754 in 1992. See what happens to codegen if you just strip SUBREGs before this switch and lose the MODES_TIEABLE thing?