* optabs.c (emit_libcall_block): If target is a user variable,
copy to a temporary first.
+ * expr.c (convert_move): When generating a libcall, make a libcall
+ block.
2000-09-15 Richard Henderson <rth@cygnus.com>
if (to_real)
{
- rtx value;
+ rtx value, insns;
if (GET_MODE_BITSIZE (from_mode) < GET_MODE_BITSIZE (to_mode))
{
/* This conversion is not implemented yet. */
abort ();
+ start_sequence ();
value = emit_library_call_value (libcall, NULL_RTX, 1, to_mode,
1, from, from_mode);
- emit_move_insn (to, value);
+ insns = get_insns ();
+ end_sequence ();
+ emit_libcall_block (insns, to, value, gen_rtx_FLOAT_TRUNCATE (to_mode,
+ from));
return;
}