Commit d20b1190 by Eric Botcazou Committed by Eric Botcazou

expr.c (emit_group_load_1): Return the source if the move is a regular move between complex values.

	* expr.c (emit_group_load_1): Return the source if the move
	is a regular move between complex values.

From-SVN: r92455
parent bd340349
2004-12-21 Eric Botcazou <ebotcazou@libertysurf.fr>
* expr.c (emit_group_load_1): Return the source if the move
is a regular move between complex values.
2004-12-20 Roger Sayle <roger@eyesopen.com>
PR middle-end/18683
......
......@@ -1650,6 +1650,11 @@ emit_group_load_1 (rtx *tmps, rtx dst, rtx orig_src, tree type, int ssize)
tmps[i] = gen_reg_rtx (mode);
emit_move_insn (tmps[i], adjust_address (src, mode, bytepos));
}
else if (COMPLEX_MODE_P (mode)
&& GET_MODE (src) == mode
&& bytelen == GET_MODE_SIZE (mode))
/* Let emit_move_complex do the bulk of the work. */
tmps[i] = src;
else if (GET_CODE (src) == CONCAT)
{
unsigned int slen = GET_MODE_SIZE (GET_MODE (src));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment