diff options
author | Steve Ellcey <sje@cup.hp.com> | 2003-04-10 19:39:07 +0000 |
---|---|---|
committer | Steve Ellcey <sje@gcc.gnu.org> | 2003-04-10 19:39:07 +0000 |
commit | 267b28bd11e3d35397892c9e65e18f6b98d2532e (patch) | |
tree | 25354532e47b60654715c8a2a525143c55d42df0 | |
parent | 1e099144a514d5b6211f5537471b6390f7771627 (diff) | |
download | gcc-267b28bd11e3d35397892c9e65e18f6b98d2532e.zip gcc-267b28bd11e3d35397892c9e65e18f6b98d2532e.tar.gz gcc-267b28bd11e3d35397892c9e65e18f6b98d2532e.tar.bz2 |
expr.c (expand_assignment): Extend offset_rtx with convert_to_mode not with convert_memory_address.
* expr.c (expand_assignment): Extend offset_rtx with convert_to_mode
not with convert_memory_address.
(store_constructor): Ditto, and same for copy_size_rtx.
(expand_expr): Ditto.
From-SVN: r65433
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/expr.c | 13 |
2 files changed, 14 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1d272bb..dd2d12a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2003-04-10 Steve Ellcey <sje@cup.hp.com> + + * expr.c (expand_assignment): Extend offset_rtx with convert_to_mode + not with convert_memory_address. + (store_constructor): Ditto, and same for copy_size_rtx. + (expand_expr): Ditto. + 2003-04-10 Douglas B Rupp <rupp@gnat.com> * config/i386/i386.c (ix86_ms_bitfield_layout_p): Fix formatting. @@ -4122,7 +4122,7 @@ expand_assignment (to, from, want_value, suggest_reg) #ifdef POINTERS_EXTEND_UNSIGNED if (GET_MODE (offset_rtx) != Pmode) - offset_rtx = convert_memory_address (Pmode, offset_rtx); + offset_rtx = convert_to_mode (Pmode, offset_rtx, 0); #else if (GET_MODE (offset_rtx) != ptr_mode) offset_rtx = convert_to_mode (ptr_mode, offset_rtx, 0); @@ -4630,7 +4630,8 @@ store_expr (exp, target, want_value) rtx label = 0; /* Copy that much. */ - copy_size_rtx = convert_to_mode (ptr_mode, copy_size_rtx, 0); + copy_size_rtx = convert_to_mode (ptr_mode, copy_size_rtx, + TREE_UNSIGNED (sizetype)); emit_block_move (target, temp, copy_size_rtx, (want_value & 2 ? BLOCK_OP_CALL_PARM : BLOCK_OP_NORMAL)); @@ -4651,8 +4652,8 @@ store_expr (exp, target, want_value) #ifdef POINTERS_EXTEND_UNSIGNED if (GET_MODE (copy_size_rtx) != Pmode) - copy_size_rtx = convert_memory_address (Pmode, - copy_size_rtx); + copy_size_rtx = convert_to_mode (Pmode, copy_size_rtx, + TREE_UNSIGNED (sizetype)); #endif target = offset_address (target, copy_size_rtx, @@ -4957,7 +4958,7 @@ store_constructor (exp, target, cleared, size) #ifdef POINTERS_EXTEND_UNSIGNED if (GET_MODE (offset_rtx) != Pmode) - offset_rtx = convert_memory_address (Pmode, offset_rtx); + offset_rtx = convert_to_mode (Pmode, offset_rtx, 0); #else if (GET_MODE (offset_rtx) != ptr_mode) offset_rtx = convert_to_mode (ptr_mode, offset_rtx, 0); @@ -7448,7 +7449,7 @@ expand_expr (exp, target, tmode, modifier) #ifdef POINTERS_EXTEND_UNSIGNED if (GET_MODE (offset_rtx) != Pmode) - offset_rtx = convert_memory_address (Pmode, offset_rtx); + offset_rtx = convert_to_mode (Pmode, offset_rtx, 0); #else if (GET_MODE (offset_rtx) != ptr_mode) offset_rtx = convert_to_mode (ptr_mode, offset_rtx, 0); |