Regression due to tree loop opt / expand weirdness
Ulrich Weigand
weigand@i1.informatik.uni-erlangen.de
Sun Oct 3 22:38:00 GMT 2004
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
More information about the Gcc
mailing list