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.