On Thu, 1 Dec 2011, Jakub Jelinek wrote:

> On Thu, Dec 01, 2011 at 10:53:57AM +0100, Richard Guenther wrote:
> > On Tue, 22 Nov 2011, Jakub Jelinek wrote:
> > > VEC_INTERLEAVE_*_EXPR trees are unfortunately dependent on 
> > > BYTES_BIG_ENDIAN,
> > > what is HIGH vs. LOW is different based on endianity.
> > 
> > Huh, that looks bogus.  Both tree codes operate on registers and no
> > other codes care about "endianess" of vector registers.
> > (What about VEC_WIDEN_LSHIFT_{HI,LO}_EXPR?)
> > 
> > Can't we simply push the differece to expansion time?  Or even later?
> 
> As RTH said, the best fix is to remove VEC_INTERLEAVE_*_EXPR altogether
> and just use VEC_PERM_EXPR always, it is redundant with that.  But that
> might be too invasive for 4.8.

Yes, sorry - I'm recovering from a 3 week e-mail lag ;)  I agree
using VEC_PERM_EXPR would be best - but that would also affect
backend patterns.  Can we have a middle-ground that leaves those
untouched?  We're still in stage 3, so fixing the bug with using
VEC_PERM_EXPR sounds appealing to me ;)

Thanks,
Richard.

Reply via email to