http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47725
--- Comment #5 from H.J. Lu <hjl.tools at gmail dot com> 2011-02-14 14:06:45 UTC --- (In reply to comment #4) > > Who generates insn #2? The machinery handling parameters in function.c? If > so, maybe it should do the copy in the incoming mode instead: > > (insn 2 4 3 2 (set (reg/v/f:SI 59 [ pc_target ]) > (reg:SI 5 di [ pc_target ])) > > (insn 3 5 4 2 (set (reg:DI 60) > (zero_extend:DI (reg/v/f:SI 59 [ pc_target ]))) assign_parm_setup_reg has enum rtx_code code = unsignedp ? ZERO_EXTEND : SIGN_EXTEND; rtx insn, insns; HARD_REG_SET hardregs; start_sequence (); insn = gen_extend_insn (op0, op1, promoted_nominal_mode, data->passed_mode, unsignedp); emit_insn (insn); insns = get_insns ();