aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSteve Ellcey <sje@cup.hp.com>2002-09-26 21:50:42 +0000
committerSteve Ellcey <sje@gcc.gnu.org>2002-09-26 21:50:42 +0000
commitee8a73d6e7e9523bcdedd76ff3bc414910c8d0c4 (patch)
tree0131b4712e49dd9f854474dc19f32d431918593a /gcc
parent2eb2bbdc29407d91fa23773273364ec5e1abf8c8 (diff)
downloadgcc-ee8a73d6e7e9523bcdedd76ff3bc414910c8d0c4.zip
gcc-ee8a73d6e7e9523bcdedd76ff3bc414910c8d0c4.tar.gz
gcc-ee8a73d6e7e9523bcdedd76ff3bc414910c8d0c4.tar.bz2
ia64.c (ia64_expand_load_address): Ensure correct mode for symbol address.
* config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode for symbol address. From-SVN: r57554
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/ia64/ia64.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index be3908b..6e3b0cd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-09-26 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
+ for symbol address.
+
2002-09-24 Eric Christopher <echristo@redhat.com>
* config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index ad2d9b7..93b02dd 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -1041,6 +1041,10 @@ ia64_expand_load_address (dest, src, scratch)
scratch = no_new_pseudos ? temp : gen_reg_rtx (DImode);
insn = emit_insn (gen_load_symptr (temp, src, scratch));
+#ifdef POINTERS_EXTEND_UNSIGNED
+ if (GET_MODE (temp) != GET_MODE (src))
+ src = convert_memory_address (GET_MODE (temp), src);
+#endif
REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_EQUAL, src, REG_NOTES (insn));
}