aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2002-04-12 12:33:24 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2002-04-12 08:33:24 -0400
commitfa06ab5c426c2d6a6f3a22799216c5199e617d85 (patch)
treeeb53b2245cbdb9d1a8926413297859db66cdb8c1
parentfa1591cb15030b84edf5b44aced7c0138d907214 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/expr.c20
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.
diff --git a/gcc/expr.c b/gcc/expr.c
index a9ca3f6..c5b1ece 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -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