This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Regression due to tree loop opt / expand weirdness
- From: Ulrich Weigand <weigand at i1 dot informatik dot uni-erlangen dot de>
- To: rth at redhat dot com (Richard Henderson)
- Cc: weigand at i1 dot informatik dot uni-erlangen dot de (Ulrich Weigand), gcc at gcc dot gnu dot org
- Date: Sun, 3 Oct 2004 22:05:37 +0200 (CEST)
- Subject: Re: Regression due to tree loop opt / expand weirdness
Richard Henderson wrote:
> On Sun, Oct 03, 2004 at 09:40:12PM +0200, Ulrich Weigand wrote:
> > Richard, I appears you've added the valid_pointer_mode check to
> > expand_expr_addr_expr -- could you elaborate how the back-end is
> > supposed to handle this?
>
> The reason to allow non-Pmode is that otherwise ilp32 on 64-bit targets
> breaks. That's the narrowest condition I could find that keeps ia64-hpux
> working. Computing symbol_ref in ptr_mode and not Pmode is not a new
> thing, it's been done for quite some time.
Well yes, but this is neither ptr_mode nor Pmode (both are DImode on s390x).
Would changing the test in expand_expr_addr_expr from
if (!target.valid_pointer_mode (tmode))
to
if (tmode != Pmode && tmode != ptr_mode)
be OK with you? This should cause no change to ia64 ...
Bye,
Ulrich
--
Dr. Ulrich Weigand
weigand@informatik.uni-erlangen.de