diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.c | 4 |
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)); } |