On Wed, 19 Nov 2014, Jakub Jelinek wrote:

> On Wed, Nov 19, 2014 at 12:59:06PM +0100, Richard Biener wrote:
> > > So perhaps something like this?  Don't know how much more inefficient it 
> > > is
> > > compared to what it used to do before.
> > 
> > Yes, that looks good.
> > 
> > > Or just keep the existing code and just remove the assert and instead 
> > > return
> > > NULL whenever outer_submode is wider than MAX_BITSIZE_MODE_ANY_INT?  At
> > > least during propagation that will make zero change.
> > > Though, in that case I have still doubts about the current code handling 
> > > right
> > > modes wider than HOST_BITS_PER_DOUBLE_INT but smaller than
> > > MAX_BITSIZE_MODE_ANY_INT (none on i?86/x86_64).  If 
> > > TARGET_SUPPORTS_WIDE_INT
> > > == 0, we still silently throw away the upper bits, don't we?
> > 
> > Well - not with your added check, no?
> 
> For TARGET_SUPPORTS_WIDE_INT == 0 should be hopefully ok.  Not sure
> about TARGET_SUPPORTS_WIDE_INT != 0, can it express any generic_wide_int, or
> is it still bound to wide_int (i.e. MAX_BITSIZE_MODE_ANY_INT rounded up)
> precision?  Mike?

It can represent any - well, the RTX at least.  Code then using
"simple" wide_int may wreck then though.

Richard.

Reply via email to