expr.c (emit_group_load): Support CONCATs by storing them to memory and reloading.

* expr.c (emit_group_load): Support CONCATs by storing them to memory
	and reloading.

From-SVN: r46586
This commit is contained in:
Jan Hubicka 2001-10-28 17:10:12 +01:00 committed by Jan Hubicka
parent 61cb205c64
commit 58f698416a
2 changed files with 13 additions and 0 deletions

View File

@ -1,3 +1,8 @@
Sun Oct 28 17:05:36 CET 2001 Jan Hubicka <jh@suse.cz>
* expr.c (emit_group_load): Support CONCATs by storing them to memory
and reloading.
Sun Oct 28 09:59:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* expr.c (store_constructor_field): Only call adjust_address on MEM.

View File

@ -2020,6 +2020,14 @@ emit_group_load (dst, orig_src, ssize, align)
else if (bytepos == (HOST_WIDE_INT) GET_MODE_SIZE (GET_MODE (XEXP (src, 0)))
&& bytelen == GET_MODE_SIZE (GET_MODE (XEXP (src, 1))))
tmps[i] = XEXP (src, 1);
else if (bytepos == 0)
{
rtx mem;
mem = assign_stack_temp (GET_MODE (src),
GET_MODE_SIZE (GET_MODE (src)), 0);
emit_move_insn (mem, src);
tmps[i] = change_address (mem, mode, XEXP (mem, 0));
}
else
abort ();
}