mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-22 16:40:08 +08:00
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:
parent
61cb205c64
commit
58f698416a
@ -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.
|
||||
|
@ -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 ();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user