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. Jakub