This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patch for IA64 HP-UX (ILP32 mode), fix gcc.c-torture/compile/pr28489.c
- From: Steve Ellcey <sje at cup dot hp dot com>
- To: wilson at specifix dot com
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 20 Mar 2007 09:33:32 -0700 (PDT)
- Subject: Re: Patch for IA64 HP-UX (ILP32 mode), fix gcc.c-torture/compile/pr28489.c
> On Wed, 2007-02-14 at 11:21 -0700, Steve Ellcey wrote:
> > * explow.c (convert_memory_address): Fold memory reference when
> > POINTERS_EXTEND_UNSIGNED < 0
>
> Since it appears that both current users of POINTERS_EXTEND_UNSIGNED ==
> -1 are OK with this, and at least one benefits from it, I am willing to
> accept it.
>
> However, I would ask that you fix the comment in convert_memory_address.
> With your patch, the code no longer matches the comment. This gives you
> a chance to document what POINTERS_EXTEND_UNSIGNED really means here, in
> case we need to refine it later.
> --
> Jim Wilson, GNU Tools Support, http://www.specifix.com
Thanks for reviewing this, I will modify the comment to the following before
checking it in:
/* For addition we can safely permute the conversion and addition
operation if one operand is a constant and converting the constant
does not change it or if one operand is a constant and we are
using a ptr_extend instruction (POINTERS_EXTEND_UNSIGNED < 0).
We can always safely permute them if we are making the address
narrower. */
I will also work on a separate patch to make rtlanal.c and simplify-rtx.c
check POINTERS_EXTEND_UNSIGNED instead of HAVE_ptr_extend.
Steve Ellcey
sje@cup.hp.com