diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2002-04-12 12:33:24 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2002-04-12 08:33:24 -0400 |
commit | fa06ab5c426c2d6a6f3a22799216c5199e617d85 (patch) | |
tree | eb53b2245cbdb9d1a8926413297859db66cdb8c1 | |
parent | fa1591cb15030b84edf5b44aced7c0138d907214 (diff) | |
download | gcc-fa06ab5c426c2d6a6f3a22799216c5199e617d85.zip gcc-fa06ab5c426c2d6a6f3a22799216c5199e617d85.tar.gz gcc-fa06ab5c426c2d6a6f3a22799216c5199e617d85.tar.bz2 |
expr.c (expand_assigment): Remove duplicate conversions #ifdef POINTERS_EXTEND_UNSIGNED.
* expr.c (expand_assigment): Remove duplicate conversions #ifdef
POINTERS_EXTEND_UNSIGNED.
(store_constructor, expand_expr, case COMPONENT_REF): Likewise.
(store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
From-SVN: r52223
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/expr.c | 20 |
2 files changed, 15 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d74aeeb..63fc94f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + * expr.c (expand_assigment): Remove duplicate conversions #ifdef + POINTERS_EXTEND_UNSIGNED. + (store_constructor, expand_expr, case COMPONENT_REF): Likewise. + (store_expr): Use TYPE_MODE (sizetype), not ptr_mode. + * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET not specified. @@ -3684,12 +3684,12 @@ expand_assignment (to, from, want_value, suggest_reg) if (GET_CODE (to_rtx) != MEM) abort (); - if (GET_MODE (offset_rtx) != ptr_mode) - offset_rtx = convert_to_mode (ptr_mode, offset_rtx, 0); - #ifdef POINTERS_EXTEND_UNSIGNED if (GET_MODE (offset_rtx) != Pmode) offset_rtx = convert_memory_address (Pmode, offset_rtx); +#else + if (GET_MODE (offset_rtx) != ptr_mode) + offset_rtx = convert_to_mode (ptr_mode, offset_rtx, 0); #endif /* A constant address in TO_RTX can have VOIDmode, we must not try @@ -4180,7 +4180,7 @@ store_expr (exp, target, want_value) } else { - size = expand_binop (ptr_mode, sub_optab, size, + size = expand_binop (TYPE_MODE (sizetype), sub_optab, size, copy_size_rtx, NULL_RTX, 0, OPTAB_LIB_WIDEN); @@ -4489,12 +4489,12 @@ store_constructor (exp, target, cleared, size) if (GET_CODE (to_rtx) != MEM) abort (); - if (GET_MODE (offset_rtx) != ptr_mode) - offset_rtx = convert_to_mode (ptr_mode, offset_rtx, 0); - #ifdef POINTERS_EXTEND_UNSIGNED if (GET_MODE (offset_rtx) != Pmode) offset_rtx = convert_memory_address (Pmode, offset_rtx); +#else + if (GET_MODE (offset_rtx) != ptr_mode) + offset_rtx = convert_to_mode (ptr_mode, offset_rtx, 0); #endif to_rtx = offset_address (to_rtx, offset_rtx, @@ -6913,12 +6913,12 @@ expand_expr (exp, target, tmode, modifier) if (GET_CODE (op0) != MEM) abort (); - if (GET_MODE (offset_rtx) != ptr_mode) - offset_rtx = convert_to_mode (ptr_mode, offset_rtx, 0); - #ifdef POINTERS_EXTEND_UNSIGNED if (GET_MODE (offset_rtx) != Pmode) offset_rtx = convert_memory_address (Pmode, offset_rtx); +#else + if (GET_MODE (offset_rtx) != ptr_mode) + offset_rtx = convert_to_mode (ptr_mode, offset_rtx, 0); #endif /* A constant address in OP0 can have VOIDmode, we must not try |