https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99648
--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I've copied the conditions on when simplify_immed_subreg is called. CONST_DOUBLE_AS_INT_P can appear only if not TARGET_SUPPORTS_WIDE_INT, and in that case #define CONST_SCALAR_INT_P(X) \ (CONST_INT_P (X) || CONST_DOUBLE_AS_INT_P (X))