The previous patch removed the only users of gen_move_insn_uncast (which was added to make those functions work with rtx_insn *).
Bootstrapped & regression-tested on x86_64-linux-gnu and aarch64-linux-gnu. Also tested via config-list.mk. Committed as obvious. Thanks, Richard gcc/ * expr.h (gen_move_insn_uncast): Delete. * expr.c (gen_move_insn_uncast): Delete. Index: gcc/expr.h =================================================================== --- gcc/expr.h 2015-07-05 08:54:31.709339940 +0100 +++ gcc/expr.h 2015-07-05 08:54:31.701340021 +0100 @@ -204,7 +204,6 @@ extern rtx store_by_pieces (rtx, unsigne /* Emit insns to set X from Y. */ extern rtx_insn *emit_move_insn (rtx, rtx); extern rtx_insn *gen_move_insn (rtx, rtx); -extern rtx gen_move_insn_uncast (rtx, rtx); /* Emit insns to set X from Y, with no frills. */ extern rtx_insn *emit_move_insn_1 (rtx, rtx); Index: gcc/expr.c =================================================================== --- gcc/expr.c 2015-07-05 08:54:31.709339940 +0100 +++ gcc/expr.c 2015-07-05 08:54:31.701340021 +0100 @@ -3625,15 +3625,6 @@ gen_move_insn (rtx x, rtx y) return seq; } -/* Same as above, but return rtx (used as a callback, which must have - prototype compatible with other functions returning rtx). */ - -rtx -gen_move_insn_uncast (rtx x, rtx y) -{ - return gen_move_insn (x, y); -} - /* If Y is representable exactly in a narrower mode, and the target can perform the extension directly from constant or memory, then emit the move as an extension. */