diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-08-29 19:20:01 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-08-29 19:20:01 +0000 |
commit | 0378dbdcee9c538dd704efe558d55acb1620fda8 (patch) | |
tree | 44fb6efc1ab10d4d91c0a9304f749fed8e7f2159 /gcc/config | |
parent | 71012db2d016fa8bce5d3c00de462feff6605635 (diff) | |
download | ppe42-gcc-0378dbdcee9c538dd704efe558d55acb1620fda8.tar.gz ppe42-gcc-0378dbdcee9c538dd704efe558d55acb1620fda8.zip |
* expr.h (enum block_op_methods): New.
(emit_block_move): Update prototype.
* expr.c (block_move_libcall_safe_for_call_parm): New.
(emit_block_move_via_loop): New.
(emit_block_move): Use them. New argument METHOD.
(emit_push_insn): Always respect the given alignment.
(expand_assignment): Update call to emit_block_move.
(store_expr, store_field, expand_expr): Likewise.
* builtins.c (expand_builtin_apply): Likewise.
(expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
* function.c (expand_function_end): Likewise.
* config/sh/sh.c (sh_initialize_trampoline): Likewise.
* config/sparc/sparc.c (sparc_va_arg): Likewise.
* calls.c (expand_call, emit_library_call_value_1): Likewise.
(save_fixed_argument_area): Use emit_block_move with
BLOCK_OP_CALL_PARM instead of move_by_pieces.
(restore_fixed_argument_area): Likewise.
(store_one_arg): Fix alignment parameter to emit_push_insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56661 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/sh/sh.c | 2 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index e49881ba866..a6ce2be9d17 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -7301,7 +7301,7 @@ sh_initialize_trampoline (tramp, fnaddr, cxt) src = gen_rtx_MEM (BLKmode, tramp_templ); set_mem_align (dst, 256); set_mem_align (src, 64); - emit_block_move (dst, src, GEN_INT (fixed_len)); + emit_block_move (dst, src, GEN_INT (fixed_len), BLOCK_OP_NORMAL); emit_move_insn (gen_rtx_MEM (Pmode, plus_constant (tramp, fixed_len)), fnaddr); diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index 971b6f2e5f7..4a83b8a5612 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -5347,7 +5347,8 @@ sparc_va_arg (valist, type) PUT_MODE (tmp, BLKmode); set_mem_alias_set (tmp, 0); - dest_addr = emit_block_move (tmp, addr_rtx, GEN_INT (rsize)); + dest_addr = emit_block_move (tmp, addr_rtx, GEN_INT (rsize), + BLOCK_OP_NORMAL); if (dest_addr != NULL_RTX) addr_rtx = dest_addr; else |