Richard Sandiford wrote:
That isn't unconditionally true, is it? reload1.c:gen_reload uses gen_move_insn, which is just a start_sequence/end_sequence wrapper for emit_move_insn_1, which in turn calls the move expanders.
Yes, you are right. I over simplified. We can use gen_move_insn when we expect that this will result in an insn that won't require any further reloading.
-- Jim Wilson, GNU Tools Support, http://www.specifix.com