https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116926
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- There's an assert doing gcc_checking_assert (GET_MODE_CLASS (from_mode) == GET_MODE_CLASS (to_mode) && from_mode < to_mode); so the issue is likely in the caller.